atdev / commweb
Commweb Direct Payment REST API PHP SDK
0.1.2
2021-12-03 12:34 UTC
Requires
- php: >=5.6.0
- guzzlehttp/guzzle: ^6.0 || ^7.0
This package is auto-updated.
Last update: 2024-10-29 05:04:55 UTC
README
This is SDK for Direct Payment REST API of Commweb. Credit card payments supported only (pay, auth, capture, void, refund).
How to use
This sdk is installed via Composer. To install, simply add it to your composer.json
file:
{ "require": { "atdev/commweb": "~0.1" } }
And run composer to update your dependencies:
$ curl -s http://getcomposer.org/installer | php
$ php composer.phar update
Then, import the autoload.php
from your vendor
folder.
Sample calls
Add the following to the php file which calls SDK:
use ATDev\Commweb\PayRequest; use ATDev\Commweb\AuthorizeRequest; use ATDev\Commweb\CaptureRequest; use ATDev\Commweb\VoidRequest; use ATDev\Commweb\RefundRequest; use ATDev\Commweb\Order; use ATDev\Commweb\Transaction; use ATDev\Commweb\SourceOfFundsCard; use ATDev\Commweb\Card;
PAY
$result = (new PayRequest("MERCHANT_ID")) // Provided by gateway ->setApiPassword("API_PASSWORD") // Provided by gateway ->setOrder(new Order("SOME_ORDER_ID", 55.55, "AUD")) // Order id has to be unique, amount in money format, AUD is the only one supported now ->setTransaction(new Transaction("SOME_TRANSACTION_ID")) // Transaction id has to be unique ->setSourceOfFunds(new SourceOfFundsCard(new Card("CARD_NUMBER", "EXP_MONTH", "EXP_YEAR", "CVC"))) // Self explanatory, year is 2-digit ->send(); if ( ! empty($error = $result->getError()) ) { // Something went wrong, log it die($error); } // Successful, save order id, transaction id
AUTHORIZE
$result = (new AuthorizeRequest("MERCHANT_ID")) // Provided by gateway ->setApiPassword("API_PASSWORD") // Provided by gateway ->setOrder(new Order("SOME_ORDER_ID", 55.55, "AUD")) // Order id has to be unique, amount in money format, AUD is the only one supported now ->setTransaction(new Transaction("SOME_TRANSACTION_ID")) // Transaction id has to be unique ->setSourceOfFunds(new SourceOfFundsCard(new Card("CARD_NUMBER", "EXP_MONTH", "EXP_YEAR", "CVC"))) // Self explanatory, year is 2-digit ->send(); if ( ! empty($error = $result->getError()) ) { // Something went wrong, log it die($error); } // Successful, save order id, transaction id
VOID
$result = (new VoidRequest("MERCHANT_ID")) // Provided by gateway ->setApiPassword("API_PASSWORD") // Provided by gateway ->setOrder(new Order("SOME_ORDER_ID")) // Original order id ->setTransaction(new Transaction("SOME_TRANSACTION_ID")) // New transaction id to be created, has to be unique ->setOldTransaction(new Transaction(("OLD_TRANSACTION_ID")) // Original transaction id ->send(); if ( ! empty($error = $result->getError()) ) { // Something went wrong, log it die($error); } // Successful, save order id, transaction id
CAPTURE
$result = (new CaptureRequest("MERCHANT_ID")) // Provided by gateway ->setApiPassword("API_PASSWORD") // Provided by gateway ->setOrder(new Order("SOME_ORDER_ID")) // Original order id ->setTransaction(new Transaction("SOME_TRANSACTION_ID")) // New transaction id to be created, has to be unique ->setOldTransaction(new Transaction("OLD_TRANSACTION_ID", 55.55, "AUD")) // Original transaction id, amount to capture in money format, AUD is the only one supported now ->send(); if ( ! empty($error = $result->getError()) ) { // Something went wrong, log it die($error); } // Successful, save order id, transaction id
REFUND
$result = (new RefundRequest("MERCHANT_ID")) // Provided by gateway ->setApiPassword("API_PASSWORD") // Provided by gateway ->setOrder(new Order("SOME_ORDER_ID")) // Original order id ->setTransaction(new Transaction("SOME_TRANSACTION_ID")) // New transaction id to be created, has to be unique ->setOldTransaction(new Transaction("OLD_TRANSACTION_ID", 55.55, "AUD")) // Original transaction id, amount to refund in money format, AUD is the only one supported now ->send(); if ( ! empty($error = $result->getError()) ) { // Something went wrong, log it die($error); } // Successful, save order id, transaction id
Test mode
Just add "TEST" to your merchant id if it's not already here, or call setTestMode(true)
method for any request called.