Giter Site home page Giter Site logo

rabobank-nederland / omnikassa-php-sdk Goto Github PK

View Code? Open in Web Editor NEW
4.0 12.0 15.0 179 KB

This repository contains the official PHP SDK for Rabo OmniKassa.

Home Page: https://www.rabobank.nl/omnikassa

License: MIT License

PHP 100.00%
rabobank omnikassa

omnikassa-php-sdk's Introduction

Rabo Omnikassa PHP SDK

This repository contains the official PHP SDK for Rabo OmniKassa.

Rabo Omnikassa offers merchants an all-in-one solution to receive payments on your physical and online locations. It includes a dashboard that puts you in full control of your Rabo OmniKassa and all products included in it: Rabo OnlineKassa, payment terminals, Rabo PinBox, Rabo SmartPin, Retourpinnen, Rabo PinTegoed, Rabo Betaalverzoek Plus and payment brands such as: Maestro, V PAY, iDEAL, MasterCard, Visa, PayPal, AfterPay and Sofort.

The PHP SDK allows PHP developers to integrate their web shop with Rabo OmniKassa to handle online payments. Note that besides using an SDK Rabo OmniKassa also provides other ways to integrate that may require less effort. More information on this topic can be found on the Developer Portal of Rabobank.

Detailed developer documentation on how to use the PHP SDK as well as contact information can be found in the SDK manual.

Release notes

Version 1.16.0

  • Extended SDK to support refunds.

Version 1.15.0

  • Extended SDK to support refunds.
  • Extended SDK to support transactions in order announcement result.

Version 1.14.0

  • Extended SDK to support Sofort as a payment brand.

Version 1.13.0

  • Extended SDK to retrieve a list of iDEAL issuers.
  • Extended SDK to allow the iDEAL issuer to be passed in the order announcement.
  • Extended SDK to allow the payment result page (also known as the 'thank-you' page) to be skipped in the payment process.
  • Extended SDK to allow the name of the customer to be passed in the order announcement.
  • Added support for PHP 8.0.
  • Updated some dependencies to recent versions.

Version 1.12.1

  • Fixed rounding problem (ROFE-4592).

Version 1.12.0

  • First release via Packagist.
  • Updated some dependencies.

Version 1.11.0

  • Extended SDK to retrieve a list of configured payment brands.
  • Allow the initiating party to be passed in the order announcement.

Version 1.9.0

  • Fixes in the documentation.

omnikassa-php-sdk's People

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

omnikassa-php-sdk's Issues

Fatal error: Uncaught GuzzleHttp\Ring\Exception\ConnectException: cURL error 6

Hello, I have an issue with making transactions with certain amounts(37.91 and 68.57, EUR), in an older version of your SDK, this was an issue with the rounding of numbers and is fixed in the newer versions, but when I updated our entire SDK, I got an error which states " Fatal error: Uncaught GuzzleHttp\Ring\Exception\ConnectException: cURL error 6: Could not resolve host: gatekeeper;".
So I ended up updating only the part that rounds the total price of the transaction, but when this is done, it takes those 2 amounts, adds 1 cent and creates the transaction, which results in the amount to be paid ends up being 37.92 or 68.58.
Do you current solution for these problems?

Add an exception if Omnikassa is unavailable

Hello,

We use omnikassa in our application, and sometimes the sandbox environment is unavailable, the problem is that the error that is send when the service is unavaible doesn't speak for itself. We hava a Warning: Trying to access array offset on value of type null send from the class AccessToken line 48.

Maybe a fix can be to see if the access token contain an error message before creating the access token from the json in the method retrieveNewToken in the class ApiConnector like this:

    /**
     * @return AccessToken
     */
    private function retrieveNewToken()
    {
        $refreshToken = $this->tokenProvider->getRefreshToken();

        $this->restTemplate->setToken($refreshToken);
        $accessTokenJson = $this->restTemplate->get('gatekeeper/refresh');

        if (str_contains($accessTokenJson, 'Tijdelijk niet beschikbaar')) {
            throw new \HttpException('OmniKassa is temporarily unavailable', 503);
        }

        return AccessToken::fromJson($accessTokenJson);
    }

What do you think?

Guzzle 7 support

To upgrade a few projects with this package, Guzzle 7 is needed.

There are multiple Pull Requests to address this issue.

Action required:

  • Choose one or more solutions to fix the problem

PRs:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.