Library provide ability to make requests to TransactPRO Gateway API.
Library are supported by me, and not by TransactPRO. So, submit all requests, issues and questions directly here (on GitHub).
Library provided as is.
You must adopt library for your projects by yourselves, I only provide basic functionality to make requests.
Recommended way of installation is through composer.
Run command line command composer require transactpro/transactpro-integration-php
or add to your composer.json:
"require": {
"transact-pro/gate": "v1.0.0"
}
And then install with:
$ composer.phar install
You can manually download library and use autoloader.
require_once 'lib/autoloader.php'
Field | Mandatory | Type | Description |
---|---|---|---|
apiUrl | yes | string | Api URL. Can be aquired via Integration manual. |
guid | yes | string | Merchant GUID. |
pwd | yes | string | Unecrypted password. It will be encrypted by client. |
verifySSL | no | bool | Default: true . Must be set to false for test environment |
use TransactPRO\Gate\GateClient;
$gateClient = new GateClient(array(
'apiUrl' => 'https://www.payment-api.com',
'guid' => 'AAAA-AAAA-AAAA-AAAA',
'pwd' => '111'
));
use TransactPRO\Gate\GateClient;
$gateClient = new GateClient(array(
'apiUrl' => 'https://www.payment-api.com',
'guid' => 'AAAA-AAAA-AAAA-AAAA',
'pwd' => '111',
'verifySSL' => false
));
GateClient instance provide number of actions, such as 'charge' or 'status_request'. All data passed into action are validated and if mandatory field missed, then exception will be raised. Please check integration manual, to get more info about required data for each action.
$response = $gateClient->init(array(
'rs' => 'AAAA',
'merchant_transaction_id' => '1',
'user_ip' => '127.0.0.1',
'description' => 'Test description',
'amount' => '100',
'currency' => 'LVL',
'name_on_card' => 'Vasyly Pupkin',
'street' => 'Main street 1',
'zip' => 'LV-0000',
'city' => 'Riga',
'country' => 'LV',
'state' => 'NA',
'email' => '[email protected]',
'phone' => '+371 11111111',
'card_bin' => '511111',
'bin_name' => 'BANK',
'bin_phone' => '+371 11111111',
'merchant_site_url' => 'http://www.example.com'
));
$response = $gateClient->charge(array(
'f_extended' => '5',
'init_transaction_id' => '13hpf5rp1e0ss72dypjnhalzn1wmrkfmsjtwzocg',
'cc' => '5111111111111111',
'cvv' => '111',
'expire' => '01/20'
));
$response = $gateClient->initDms(array(
'rs' => 'AAAA',
'merchant_transaction_id' => microtime(true),
'user_ip' => '127.0.0.1',
'description' => 'Test description',
'amount' => '100',
'currency' => 'LVL',
'name_on_card' => 'Vasyly Pupkin',
'street' => 'Main street 1',
'zip' => 'LV-0000',
'city' => 'Riga',
'country' => 'LV',
'state' => 'NA',
'email' => '[email protected]',
'phone' => '+371 11111111',
'card_bin' => '511111',
'bin_name' => 'BANK',
'bin_phone' => '+371 11111111',
'merchant_site_url' => 'http://www.example.com'
));
$response = $gateClient->makeHold(array(
'f_extended' => '5',
'init_transaction_id' => '13hpf5rp1e0ss72dypjnhalzn1wmrkfmsjtwzocg',
'cc' => '5111111111111111',
'cvv' => '111',
'expire' => '01/20'
));
$response = $gateClient->chargeHold(array(
'init_transaction_id' => '13hpf5rp1e0ss72dypjnhalzn1wmrkfmsjtwzocg'
));
$response = $gateClient->cancelDms(array(
'init_transaction_id' => '13hpf5rp1e0ss72dypjnhalzn1wmrkfmsjtwzocg',
'amount_to_refund' => '100'
));
$response = $gateClient->refund(array(
'init_transaction_id' => '13hpf5rp1e0ss72dypjnhalzn1wmrkfmsjtwzocg',
'amount_to_refund' => '100'
));
$response = $gateClient->statusRequest(array(
'request_type' => 'transaction_status',
'init_transaction_id' => '13hpf5rp1e0ss72dypjnhalzn1wmrkfmsjtwzocg',
'f_extended' => '5'
));
Response instance returned as action result.
To check if curl request was successful, you can use isSuccessful
method;
$response->isSuccessful(); // Return bool.
To get raw response you can use getResponseContent
.
If request was successful, then API response was returned. If not, then curl_error was returned.
$response->getResponseContent(); // Return string.
$response->getParsedResponse(); // Parsed response content.
If you wish to run tests, you need to install development dependencies:
$ composer.phar install --dev
And then run them with:
$ vendor/bin/phpunit