Download the PHP package cmpayments/payments-sdk-php without Composer
On this page you can find all versions of the php package cmpayments/payments-sdk-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download cmpayments/payments-sdk-php
More information about cmpayments/payments-sdk-php
Files in cmpayments/payments-sdk-php
Package payments-sdk-php
Short Description SDK that makes it easy to connect to the CMPayments payment API
License MIT
Homepage https://www.cmpayments.com
Informations about the package payments-sdk-php
CMPayments Payment SDK for PHP
Integrating the CMPayments solutions for online payments with your application is easy using the Payment SDK for PHP.
Installation
To install the SDK, simply use Composer:
Requirements
- PHP 5.5+
- PHP cURL extension
- Up to date SSL, capable of TLS 1.0 or higher
Dependencies
- MoneyPHP is used to encapsulate sums of money and their currency
- Guzzle is used to make HTTP requests
These are automatically installed by composer.
Bootstrapping
To do anything with the SDK, the first step is to create an instance of the payment Gateway
:
List iDEAL issuers
To get a list of iDEAL issuers, simply tell the Gateway
to execute
the IdealIssuerListRequest
:
Start a payment
The CMPayments API supports the concept of a Charge
that contains 0..n Payment
items underneath it. To start a payment, both a Charge
and a Payment
must be created.
This can be done in one request:
Note: Each payment method has its own {METHOD}Payment class.
Each of these classes enforces all required properties trough their constructors.
For instance, to create a new CreditCard payment, replace the new IdealPayment(...)
line with new CreditCardPayment(Money::EUR(500), ['VISA', 'MasterCard'], 'your-purchase-id', new \DateTime('+1 day'));
.
Retreive charge or a payment
Simple tell the Gateway
to execute a ViewChargeRequest
of ViewPaymentRequest
with the correct id, and the details will be retrieved.
Handling errors
Internally, Guzzle is used to make HTTP requests. When the API responds with a 4xx or 5xx HTTP status, either a ClientException
or a ServerException
is thrown.
In case of a ServerException
, the CMPayments platform is having issues. Try the request again later.
For a ClientException
, check $exception->getResponse()->getBody()->getContents()
to see what is wrong.
Working with Money
The Money
library in use requires that any amount is represented in the smallest unig (eg. cents),
so EUR 5,- is written as new Money(500, new Currency('EUR'))
or shorter as Money::EUR(500)
.
Because this can be a bit of a hassle, the MoneyConverter
class is provided. It can convert a float + currency into a Money
object and back.
All versions of payments-sdk-php with dependencies
cmpayments/guzzle-psp-authentication-middleware Version ^1.0
moneyphp/money Version ^3.0