Omnipay: Checkout.com
Checkout.com driver for the Omnipay PHP payment processing library, (*1)
, (*2)
Omnipay is a framework agnostic, multi-gateway payment
processing library for PHP 5.3+. This package implements Checkout.com support for Omnipay., (*3)
Installation
Omnipay is installed via Composer. To install, simply add it
to your composer.json
file:, (*4)
{
"require": {
"fotografde/omnipay-checkoutcom": "~2.0"
}
}
And run composer to update your dependencies:, (*5)
$ curl -s http://getcomposer.org/installer | php
$ php composer.phar update
Basic Usage
The following gateways are provided by this package:, (*6)
For general usage instructions, please see the main Omnipay
repository., (*7)
Checkout.js
Currently this package provides implementation of 2 workflows:, (*8)
1. Authorize payment and then capture
The Checkout.com integration is fairly straight forward.
Essentially you just pass the order data and receive a payment token, which you
can use in the checkout.js payment form. After your customer has entered his data, you'll receive
another token, which you can use to capture the payment., (*9)
Start by following the standard Checkout.com JS guide here:
http://sandbox.checkout.com/js/v1/docs/Checkout.js_Manual_Sandbox.pdf, (*10)
Full documentation of the API can be found here:
https://www.checkout.com/docs/sandbox/api/integration-guide/introduction, (*11)
First Authorize:, (*12)
$response = $gateway->purchase(['amount' => $amount, 'currency' => $currency])->send();
if ($response->isRedirect()) {
$token = $response->getTransactionReference();
}
Then Capture:, (*13)
$response = $gateway->completePurchase(['amount' => $amount, 'transactionReference' => $token])->send();
if ($response->isSuccessful()) {
// approve Order
}
2. Payment with card token (card token purchase)
$response = $gateway->cardTokenPurchase([
'amount' => $amount,
'currency' => $currency,
'email' => 'customer@email.com',
'cardToken' => 'some_token',
'description' => 'some nice description'
]);
Note that amount
, currency
, email
and cardToken
are required fields here., (*14)
Support
If you are having general issues with Omnipay, we suggest posting on
Stack Overflow. Be sure to add the
omnipay tag so it can be easily found., (*15)
If you want to keep up to date with release anouncements, discuss ideas for the project,
or ask more detailed questions, there is also a mailing list which
you can subscribe to., (*16)
If you believe you have found a bug, please report it using the GitHub issue tracker,
or better yet, fork the library and submit a pull request., (*17)