PayPipes API Reference
PayPipes is a service that allows you to securely store credit cards and use them to transact against any number of payment gateways and third party APIs. It does this by simultaneously providing a card tokenization service as well as a gateway and receiver integration service.
Payment methods tokenized by PayPipes are stored at PayPipes, allowing you to independently store a card and then pass that card to different end points based on your business requirements. We refer to the ability to use a PayPipes token against multiple gateways/end points as “universal tokenization”.
QUICK Start
In order to start executing transactions and collecting payments from your users, you will need to:
- Register for a free account if you didn't do so.
- Follow API instruction for sucessful integration. You can copy TEST ID from your Merchant Backoffice and go to SandBox to test your transcations.
- To move from TEST to LIVE environment change from TEST URL https://secure.staging.paypipes.net
/api/v1/transaction_type
to LIVE URL https://secure.paypipes.com/api/v1/transaction_type
and repleace TEST API Credentials with LIVE API Credentials.
API Endpoints
TEST: https://secure.staging.paypipes.net/api/v1/transaction_type
LIVE: https://secure.paypipes.com/api/v1/transaction_type
Terms of Service: www.paypipes.com/term
Contact: support@paypipes.com
Schemes: https
Version: 1.0.0
Authentication
OAuth 2.0 (get an access token)
An OAuth 2.0 is created by sending a POST request over HTTPS to the /oauth/token
. Based on an Oauth 2.0 request access_token
will be received as a response. The access_token
is required for sending any type of transaction. The access_token
has expiry of 72 hours but an OAuth 2.0 request is recomended to be send before each transaction request.
API Credentials
All requests are authenticated against a particular entity using API Credentials. Authentication data is sent as POST parameters.
Key | Value Type | Description |
---|---|---|
client_id | string (uuid) |
This is the merchant Client ID to get API access. |
client_secret | string (40) |
This is the merchant Client Secret Key to get API access. |
grant_type | enum |
This is the merchant API access type "client_credentials". |
TEST
Use below TEST API Credentials to perform transactions in TEST Environment. Test ID is a unique ID used only in TEST Environment to reference your test transactions.
LIVE
You can get your LIVE API Credentials from Merchant Backoffice under Terminal tabs "API".
Request Example
$url='https://secure.staging.paypipes.net/oauth/token';
$param = [
'client_id' => 'c3c1fdef-6c64-4dd6-aacc-9d64f6f6f956',
'client_secret' => 'fEOZ1axOQmRHhdFvAa6sxKwxTDOqAK7e1aOMxpRO',
'grant_type' => 'client_credentials'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT']));
$response = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
var_dump(json_decode($response));
exit();
Transaction Types
You can perform different types of initial transactions using our API.
- Tokenize Customer (make a tokenize customer transaction to receive customer/card token)
- Tokenize Card (make a tokenize card transaction to receive card token for specific customer)
- Authorize (make an authorize transaction with customer/card token)
- Capture (capture an authorize transaction)
- Purchase (make a purchase transaction with customer/card token)
- Reverse Authorize (reverse an authorize)
- Reverse Capture (reverse a capture)
- Reverse Purchase (reverse a purchase)
- Refund (refund capture or purchase)
- Credit (Orginal Credit (OCT)
- Withdraw (make a withdraw transaction with customer token)
- Status (check transaction status)
- Transaction Completion (to complete any transactions cycle)
- Customer Details (retrive customer information)
- Customer Card Details (retrive customer card information)
Tokenize Customer make a tokenize customer transaction to receive customer/card token
A Tokenize Customer is an initial transaction request to perform before Purchase or Authorize transaction, it can be send with/without card data by sending a POST request over HTTPS to the /api/v1/tokenize/customers
A Tokenize Customer can be update with customer personal data by sending a PATCH request over HTTPS to the /api/v1/tokenize/customers/{customer_token}
Customer token validation period is 3 years and card token validation period is up to card expiration date.
POST /api/v1/tokenize/customers
PATCH /api/v1/tokenize/customers/{customer_token}
Key | Value Type | Description |
---|---|---|
api_id | base64_encode (64) |
This is the unique id associate with merchant. |
order_id | string (6-40) |
Merchant internal Unique ID for this transaction. |
ip_address | string |
The IP address associated with the device used by the customer in the transaction. |
reference_id | string |
A customer's unique identifier received from the merchant. |
curfex_id | string |
A gateways's unique identifier received from the merchant. |
customer/first_name | string (1-60) |
The first name of the end customer as provided in their billing information. |
customer/last_name | string (1-60) |
The last name of the end customer as provided in their billing information. |
customer/street | string (1-100) |
The address of the end customer’s as provided in their billing address. |
customer/city | string (2-40) |
The city of the end customer’s billing address. |
customer/state | string (2-40) | The state of the end customer’s billing address. |
customer/country | string (2) |
The two character ISO 3166-1 alpha-2 country code of the customer’s billing address. |
customer/post_code | string (2-20) |
The postal code of the customer’s billing address. |
customer/phone_code | string (1-9) |
The phone country code of the customer’s billing address. Punctuation characters will be stripped. After stripping punctuation characters, ex +420 or 00420. |
customer/phone | string (3-20) |
The phone number of the customer’s billing address. Punctuation characters will be stripped. After stripping punctuation characters, the number must contain only digits. |
customer/email | string (100) |
The email address of the customer. |
card/holder | string (2-100) |
The card holder name for the credit card. |
card/number | string (13-19) |
The card number of the credit card. |
card/exp_month | string (2) |
The expire month for the credit card. |
card/exp_year | string (4) |
The expire year for the credit card. |
Request Example (POST)
$url="https://secure.staging.paypipes.net/api/v1/tokenize/customers";
$param = [
"request" => [
"api_id" => "449f11a438853bb84bd7193fd6bceb0886d083d0a8d5e583a7f92fc55573854d",
"order_id" => "123456789123",
"ip_address" => "123.123.123.1",
"reference_id" => "123456789", //optional
"curfex_id" => "123456789", //optional
"customer" => [
"first_name"=> "Paul",
"last_name"=> "King",
"street"=> "761 Kelly Forge",
"city"=> "Martinstad",
"state"=> "New Karliebury",
"country"=> "AT",
"post_code"=> "SN2 7TE",
"phone_code"=> "+43",
"phone"=> "0306587799",
"email"=> "k.paul@example.com"
],
"card"=>[
"holder" => "Test Card",
"number"=> "4012000300001003 ",
"exp_month"=> "01",
"exp_year"=> "2019"
]
]
];
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, $url);
curl_setopt($ch2, CURLOPT_TIMEOUT, 30);
curl_setopt($ch2, CURLOPT_POST, true);
curl_setopt($ch2, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt(
$ch2,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response2 = curl_exec($ch2);
curl_close($ch2);
var_dump(json_decode($response2));
Request Example (PATCH)
$url="https://secure.staging.paypipes.net/api/v1/tokenize/customers/10cd5c0a-0832-4de1-9091-bb5199b439f1";
$param = [
"request" => [
"api_id" => "449f11a438853bb84bd7193fd6bceb0886d083d0a8d5e583a7f92fc55573854d",
"order_id" => "123456789123",
"ip_address" => "123.123.123.1",
"reference_id" => "123456789", //optional
"curfex_id" => "123456789", //optional
"customer" => [
"first_name"=> "Paul",
"last_name"=> "King",
"street"=> "761 Kelly Forge",
"city"=> "Martinstad",
"state"=> "New Karliebury",
"country"=> "AT",
"post_code"=> "SN2 7TE",
"phone_code"=> "+43",
"phone"=> "0306587799",
"email"=> "k.paul@example.com"
]
]
];
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, $url);
curl_setopt($ch2, CURLOPT_TIMEOUT, 30);
curl_setopt($ch2, CURLOPT_POST, true);
curl_setopt($ch2, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt(
$ch2,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response2 = curl_exec($ch2);
curl_close($ch2);
var_dump(json_decode($response2));
Key | Value Type | Description |
---|---|---|
customer_token | string (uuid) | Transaction response return value of customer_token for successfull tokenize customer transactions. |
order_id | string (6-40) | Transaction response return value of Merchant internal Unique ID for this transaction. |
reference_id | string |
A customer's unique identifier received from the merchant. |
curfex_id | string |
A gateways's unique identifier received from the merchant. |
first_name | string (1-60) | The first name of the end customer as provided in their billing information. |
last_name | string (1-60) | The last name of the end customer as provided in their billing information. |
street | string (1-100) | The address of the end customer’s as provided in their billing address. |
city | string (2-40) | The city of the end customer’s billing address. |
state | string (2-40) | The state of the end customer’s billing address. |
country | string (255) | The Country is return (English short country name officially used by the ISO 3166) of the customer’s billing address. |
post_code | string (20) | The postal code of the customer’s billing address. |
phone_code | string (1-9) | The phone country code of the customer’s billing address. Punctuation characters will be stripped. After stripping punctuation characters, ex +420 or 00420. |
phone | string (20) | The phone number of the customer’s billing address. Punctuation characters will be stripped. After stripping punctuation characters, the number must contain only digits. |
string (100) | The email address of the customer. | |
status | string (20) | Transaction response return value of transaction status. The valid values are:
|
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
updated | datetime | The updated date and time of the transaction. The datetime is based on PayPipes servers. |
expired | datetime | The expiration date and time of the customer token. The datetime is based on PayPipes servers.. |
card_token | string (28) | Transaction response return value of card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
cards | ||
holder | string (2-100) | The card holder name for the credit card. |
bin | string (6) | The bin number of the credit card. |
digit | string (4) | The last 4 digits of the credit card |
brand | string (1-50) | The brand of the credit card. |
expired | datetime | The expiration date and time of the card token. The datetime is based on PayPipes servers. |
Response Example (200 OK)
{"data":{"customer_token":"c3139eaf-ceaa-4de5-a76d-c9eb6286df45","order_id":"123456789123","first_name":"Paul","last_name":"King","street":"761 Kelly Forge","city":"Martinstad","state":"New Karliebury","post_code":"SN27TE","country":"Austria","phone_code":"+43","phone":"0306587799","email":"k.paul@example.com","reference_id": "123456789","curfex_id":"123456789","status":"Active","created":"2018-04-23 10:10:40","updated":"2018-04-23 10:10:40","expired":"2021-04-23 10:10:40","cards":{"data":[{"card_token":"2A586F3A652F80A58C99A87B1003","holder":"Test Card","bin":"401200","digit":"1003","brand":"visa","created":"2018-04-23 10:10:40","updated":"2018-04-23 10:10:40","expired":"2019-01-23 10:10:40"}]}}}
Response Example (Validation)
{"error":{"phone_code":["The phone code field is required."]},"code":"422"}
{"error":"Invalid Order Id","code":"422"}
Tokenize Card make a tokenize card transaction to receive card token for specific customer
A Tokenize Card is a transaction request allow to add multiple cards under the same customers and return card token, by sending a POST request over HTTPS to the /api/v1/tokenize/customers/{customer_token}/cards
A Tokenize Card can be update with card data by sending a PATCH request over HTTPS to the /api/v1/tokenize/customers/{customer_token}/cards/{card_token}
Card token validation period is up to expiration date.
Conditional
If any conditional fields value is given all others conditional fields will be required.
POST /api/v1/tokenize/customers/{customer_token}/cards
PATCH /api/v1/tokenize/customers/{customer_token}/cards/{card_token}
Key | Value Type | Description |
---|---|---|
api_id | base64_encode (64) |
This is the unique id associate with merchant. |
order_id | string (6-40) |
Merchant internal Unique ID for this transaction. |
ip_address | string |
The IP address associated with the device used by the customer in the transaction. |
holder | string (3-100) |
The card holder name for the credit card. |
number | string (13-19) |
The card number of the credit card. |
exp_month | string (2) |
The expire month for the credit card. |
exp_year | string (4) |
The expire year for the credit card. |
return_url | url |
User will redirect to this url after submit card data from. For the NON-PCI request this will be a required field. |
language | string (2) |
User will view the add to card form in this language. By default it will be English(en). |
Request Example (POST)
$url="https://secure.staging.paypipes.net/api/v1/tokenize/customers/34490389-d609-46f7-9c29-f0bbd396b968/cards";
$param = [
"request" => [
"api_id" => "3031022dfc91b64a73f8fcece40a648c17a73379ccc373095abb617fb163a81e",
"order_id" => "123456789123",
"ip_address" => "123.123.123.1",
"holder" => "Test Card",
"number"=> "4012000300001003 ",
"exp_month"=> "01",
"exp_year"=> "2023"
]
]
];
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, $url);
curl_setopt($ch2, CURLOPT_TIMEOUT, 30);
curl_setopt($ch2, CURLOPT_POST, true);
curl_setopt($ch2, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt(
$ch2,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response2 = curl_exec($ch2);
curl_close($ch2);
var_dump(json_decode($response2));
Request Example (PATCH)
$url="https://secure.staging.paypipes.net/api/v1/tokenize/customers/34490389-d609-46f7-9c29-f0bbd396b968/cards/073FCFCECFDD7468F83B60901003";
$param = [
"request" => [
"api_id" => "3031022dfc91b64a73f8fcece40a648c17a73379ccc373095abb617fb163a81e",
"order_id" => "123456789123",
"ip_address" => "123.123.123.1",
"holder" => "Test Card Update",
"exp_month"=> "01",
"exp_year"=> "2023"
]
]
];
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, $url);
curl_setopt($ch2, CURLOPT_TIMEOUT, 30);
curl_setopt($ch2, CURLOPT_POST, true);
curl_setopt($ch2, CURLOPT_CUSTOMREQUEST, 'PATCH');
curl_setopt($ch2, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt(
$ch2,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response2 = curl_exec($ch2);
curl_close($ch2);
var_dump(json_decode($response2));
Key | Value Type | Description |
---|---|---|
card_token | string (28) | Transaction response return value of card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
holder | string (2-100) | The card holder name for the credit card. |
bin | integer (6) | The bin number of the credit card. |
digit | integer (4) | The last 4 digits of the credit card |
brand | string | The brand of the credit card. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
updated | datetime | The updated date and time of the transaction. The datetime is based on PayPipes servers. |
expired | datetime | The expiration date and time of the customer/card token. The datetime is based on PayPipes servers. |
PCI Response Example (200 OK)
{"data":{"card_token":"2A586F3A652F80A58C99A87B1003","holder":"Test Card","bin":"401200","digit":"1003","brand":"visa","created":"2018-04-23 10:10:40","updated":"2018-04-23 10:10:40","expired":"2019-01-23 10:10:40"}}
PCI Response Example (Validation)
{"error":{"holder":["The holder field is required."]},"code":"422"}
{"error":"Invalid Order Id","code":"422"}
Key | Value Type | Description |
---|---|---|
redirect_url | string | Transaction response return value of a redirect url. |
NON PCI Response Example (200 OK)
{"data":{"redirect_url":"https://secure.staging.paypipes.net/v1/tokenize/cards/redirect/34490389-d609-46f7-9c29-f0bbd396b968"}}
NON PCI Response Example (Validation)
{"error":"Invalid Order Id","code":"422"}
Customer will use this rediret url to visit our landing pages and enter card data.

This transaction request will generate a card token, by sending a POST request over HTTPS to the /v1/tokenize/cards/redirect
Card token validation period is up to expiration date.
Key | Value Type | Description |
---|---|---|
code | integer | Transaction response return value of transaction code. |
status | eunm | Transaction response return value of transaction status. The valid values are:
|
card_token | string | Transaction response return value of card_token for successfull TokenizeCard transactions. |
error | string | Transaction response a error message for an unsuccessful TokenizeCard transactions. |
NON-PCI Response Example (200 OK)
{"code":"201","status":"success","card_token":"2A586F3A652F80A58C99A87B1003"}
NON-PCI Response Example
{"code":"422","status":"fail","card_token":"Record not found"}
Capture capture an authorize transaction
A capture is used to request clearing for previously authorized funds. A capture request is performed against a previous Authorize transactions by referencing its transaction_id and sending a POST request over HTTPS to the /api/v1/capture
.
Key | Value Type | Description |
---|---|---|
api_id | base64_encode (64) |
This is the unique id associate with merchant. |
order_id | string (6-40) |
Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) |
This is the unique id for this transaction. |
description | string (5-255) |
Merchant product description of this transactions . |
ip_address | string |
The IP address associated with the device used by the customer in the transaction. |
callback_url | string (255) |
Callback URL to receive callback information. |
Request Example
$url="https://secure.staging.paypipes.net/api/v1/capture";
$param = [
"request" => [
"api_id" => "3031022dfc91b64a73f8fcece40a648c17a73379ccc373095abb617fb163a81e",
"order_id" => "a35436ba5641c035e9b5af38",
"transaction_id" => "4ad78bba-635b-4ad6-a74c-de7126a7341b",
"description" => "Capture Request",
"ip_address" => "123.123.123.1",
"callback_url" => "https://localhost/callback",
]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($response));
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Transaction response return value of Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | Transaction response return value of requested transaction type. |
amount | decimal (10,2) | Transaction response return value of requested transaction amount. |
currency | string (3) | Transaction response return value of requested transaction amount. |
status | enum | Transaction response return value of transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
card_token | string (28) | Transaction response return value of card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
Transaction response return value of gateway. See suported gateways for gateway field value. |
mask_number | string (36) | Transaction response return value of card_number as mask_number for successfull Purchase/Authorize transactions. For creditcard only. |
Response Example (200 OK)
{
"data": {
"order_id": "a35436ba5641c035e9b5af38",
"transaction_id": "5bb872f3-c9b1-47ea-807d-a1a8643dc171",
"transaction_type": "Capture",
"amount": "57.82",
"currency": "EUR",
"status": "Approved",
"status_code": "201.0000",
"status_description": "3d-acquirer:The resource was successfully created.",
"created": "2018-04-23 10:57:55",
"card_token": "4BB998B580AEE2036C397F8C1003",
"description": "test purchase",
"gateway": "unlimint",
"mask_number": "4012 00XX XXXX 1003"
}
}
Response Example (Validation)
{"error":{"transaction_id":["The transaction_id field is required."]},"code":"422"}
{"error":"This transaction already requested","code":"422"}
Purchase make a purchase transaction with customer/card token
A Purchase is created by sending a POST request over HTTPS to the /api/v1/purchase
. The request should be send after tokenize customers request. including customer/card_token information.
For 3DS transactions html code is returned and customer is redirected to issuer website for 3ds validation.
Key | Value Type | Description |
---|---|---|
api_id | base64_encode (64) |
This is the unique id associate with merchant. |
order_id | string (6-40) |
Merchant internal Unique ID for this transaction. |
ip_address | string |
The IP address associated with the device used by the customer in the transaction. |
card_token | string (28) |
A token uniquely identifying the card in the system. Either card_token or customer_token one of them are mendatory |
customer_token | string (uuid) |
A token uniquely identifying the customer in the system. Either card_token or customer_token one of them are mendatory |
amount | decimal(10,2) |
The total order amount for the transaction. The value format 12.00. |
currency | string (3) |
The ISO 4217 currency code for the currency used in the transaction. |
description | string (5-255) |
Merchant product description of this transactions . |
gateway | enum |
The gateway used for the transaction. if you send card_token then gateway is mandatory. See suported gateways for gateway field value. |
return_url | string (255) |
Merchant shop URL for redirect transaction. |
callback_url | string (255) |
Callback URL to receive callback information. |
security_code | string (3-4) |
The CVC2/CVV2 of the credit card number. if you send card_token then security_code is mandatory for direct integration |
card | boolean |
Example: card = true; card = false. TRUE is for card payment transaction and FALSE if for alternative payment or wire transfer transaction. |
origin | enum |
This feature for a native mobile application. if the origin value is provided and is ‘ios’, the transaction redirection flow will change from the common redirection using {return_url} to a different flow.
|
language | string (2) |
User will view the add to card form in this language. By default it will be English(en). |
extra_param | string (256) | Json string for any extra parameter. |
Request Example
$url="https://secure.staging.paypipes.net/api/v1/purchase";
$param = [
"request" => [
"api_id" => "3031022dfc91b64a73f8fcece40a648c17a73379ccc373095abb617fb163a81e",
"order_id" => "8c5ca6d32567f89034c57023",
"ip_address" => "123.123.123.1",
"card_token"=> "62BD76A3E29725481C076A1B1003",
//"customer_token"=> "1540e474-39c6-491a-b872-48453930ea3a", //either card_token or customer_token can be used
"amount"=> "14.92",
"currency"=> "EUR",
"description"=> "Test Purchase",
"gateway"=> "unlimint",
"return_url"=> "https://localhost/return",
"callback_url"=>"https://localhost/callback",
"card"=> true,
//"security_code"=> "123" // security_code is dependency with card_token and SAQ-D sign
"extra_param"=> [];
]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($response));
Key | Value Type | Description |
---|---|---|
api_id | base64_encode (64) |
This is the unique id associate with merchant. |
order_id | string (6-40) |
Merchant internal Unique ID for this transaction. |
ip_address | string |
The IP address associated with the device used by the customer in the transaction. |
customer_token | string (uuid) | Transaction response return value of customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
amount | decimal (10,2) |
Transaction response return value of requested transaction amount. |
currency | string (3) |
Transaction response return value of requested transaction currency. |
description | string (5-255) |
Merchant product description of this transactions . |
gateway | enum |
Transaction response return value of gateway. See suported gateways for gateway field value. |
return_url | string (255) |
Merchant shop URL for redirect transaction. |
callback_url | string (255) |
Callback URL to receive callback information. |
origin | enum |
This feature for a native mobile application. if the origin value is provided and is ‘ios’, the transaction redirection flow will change from the common redirection using {return_url} to a different flow.
|
language | string (2) |
User will view the add to card form in this language. By default it will be English(en). |
extra_param | json |
Json array for extra param for credit transaction. |
bank_code | string (6) |
The short code of the bank. |
bank_name | string (100) |
The full name of the bank. |
account_currency | char (3) |
In which currency user will pay. |
account_number | string (100) |
Bank account number of the user. |
trade_number | string (100) |
The MT4/cTrader Trading Account Number of the user. |
id_number | string (100) |
ID Card Number of the user. |
extra_param | string (256) | Json string for any extra parameter. |
Request Example (ThunderXpay)
$url="https://secure.staging.paypipes.net/api/v1/purchase";
$param = [
"request" => [
"api_id" => "3031022drc61c64a74f8fcece40a648c17a73379ccc373095acb617fb163a81e",
"order_id" => "8c5ca6d32567f89034c57023",
"ip_address" => "123.123.123.1",
"customer_token"=> "1540e474-39c6-491a-b872-48453930ea3a",
"amount"=> "14.92",
"currency"=> "USD",
"description"=> "Test Purchase",
"gateway"=> "thunderxpay",
"return_url"=> "https://localhost/return",
"callback_url"=>"https://localhost/callback",
"extra_param"=> [
"bank"=> [
"bank_code" => "BAY"
"bank_name" => "Bank of Ayudhya (Krungsri)"
"account_currency" => "THB"
"account_number" => "111111111111"
"trade_number" => "23232323"
"id_number" => "33333333333333"
]
]
]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($response));
Key | Value Type | Description |
---|---|---|
api_id | base64_encode (64) |
This is the unique id associate with merchant. |
order_id | string (6-40) |
Merchant internal Unique ID for this transaction. |
ip_address | string |
The IP address associated with the device used by the customer in the transaction. |
customer_token | string (uuid) |
Transaction response return value of customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
card_token | string (28) |
Transaction response return value of customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
amount | decimal (10,2) |
Transaction response return value of requested transaction amount. |
currency | string (3) |
Transaction response return value of requested transaction currency. |
description | string (5-255) |
Merchant product description of this transactions . |
gateway | enum | Transaction response return value of gateway. See suported gateways for gateway field value. |
return_url | string (255) |
Merchant shop URL for redirect transaction. |
callback_url | string (255) |
Callback URL to receive callback information. |
origin | enum |
This feature for a native mobile application. if the origin value is provided and is ‘ios’, the transaction redirection flow will change from the common redirection using {return_url} to a different flow.
|
language | string (2) |
User will view the add to card form in this language. By default it will be English(en). |
extra_param | string (256) |
Json string for any extra parameter. |
Request Example (ZotaPay)
$url="https://secure.staging.paypipes.net/api/v1/purchase";
$param = [
"request" => [
"api_id" => "3031022drc61c64a74f8fcece40a648c17a73379ccc373095acb617fb163a81e",
"order_id" => "8c5ca6d32567f89034c57023",
"ip_address" => "123.123.123.1",
"customer_token"=> "1540e474-39c6-491a-b872-48434930ea3a",
"amount"=> "14.92",
"currency"=> "THB",
"description"=> "Test Purchase",
"gateway"=> "zotapay",
"return_url"=> "https://localhost/return",
"callback_url"=>"https://localhost/callback",
"extra_param" => ["endpoint" => "503968"]
]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($response));
Key | Value Type | Description |
---|---|---|
api_id | base64_encode (64) |
This is the unique id associate with merchant. |
order_id | string (6-40) |
Merchant internal Unique ID for this transaction. |
ip_address | string |
The IP address associated with the device used by the customer in the transaction. |
customer_token | string (uuid) |
Transaction response return value of customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
amount | decimal (10,2) |
Transaction response return value of requested transaction amount. |
currency | string (3) |
Transaction response return value of requested transaction currency. |
description | string (5-255) |
Merchant product description of this transactions . |
gateway | enum |
Transaction response return value of gateway. See suported gateways for gateway field value. |
return_url | string (255) |
Merchant shop URL for redirect transaction. |
callback_url | string (255) |
Callback URL to receive callback information. |
origin | enum |
This feature for a native mobile application. if the origin value is provided and is ‘ios’, the transaction redirection flow will change from the common redirection using {return_url} to a different flow.
|
language | string (2) |
User will view the add to card form in this language. By default it will be English(en). |
Request Example (MaxConnect)
$url="https://secure.staging.paypipes.net/api/v1/purchase";
$param = [
"request" => [
"api_id" => "3031022drc61c64a74f8fcece40a648c17a73379ccc373095acb617fb163a81e",
"order_id" => "8c5ca6d32567f89034c57023",
"ip_address" => "123.123.123.1",
"customer_token"=> "1540e474-39c6-491a-b872-48434930ea3a",
"amount"=> "5000.00",
"currency"=> "JPY",
"description"=> "Test Purchase",
"gateway"=> "maxconnect",
"return_url"=> "https://localhost/return",
"callback_url"=>"https://localhost/callback"
]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($response));
Key | Value Type | Description |
---|---|---|
api_id | base64_encode (64) |
This is the unique id associate with merchant. |
order_id | string (6-40) |
Merchant internal Unique ID for this transaction. |
ip_address | string |
The IP address associated with the device used by the customer in the transaction. |
customer_token | string (uuid) |
Transaction response return value of customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
amount |
decimal (10,2) Without any fractional value |
Transaction response return value of requested transaction amount. |
currency | string (3) |
Transaction response return value of requested transaction currency. |
description | string (5-255) |
Merchant product description of this transactions . |
gateway | enum |
Transaction response return value of gateway. See suported gateways for gateway field value. |
return_url | string (255) |
Merchant shop URL for redirect transaction. |
callback_url | string (255) |
Callback URL to receive callback information. |
origin | enum |
This feature for a native mobile application. if the origin value is provided and is ‘ios’, the transaction redirection flow will change from the common redirection using {return_url} to a different flow.
|
language | string (2) |
User will view the add to card form in this language. By default it will be English(en). |
Request Example (Curfex)
$url="https://secure.staging.paypipes.net/api/v1/purchase";
$param = [
"request" => [
"api_id" => "3031022drc61c64a74f8fcece40a648c17a73379ccc373095acb617fb163a81e",
"order_id" => "8c5ca6d32567f89034c57023",
"ip_address" => "123.123.123.1",
"customer_token"=> "1540e474-39c6-491a-b872-48434930ea3a",
"amount"=> "5000.00",
"currency"=> "JPY",
"description"=> "Test Purchase",
"gateway"=> "curfex",
"return_url"=> "https://localhost/return",
"callback_url"=>"https://localhost/callback"
]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($response));
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Transaction response return value of Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | Transaction response return value of requested transaction type. |
amount | decimal (10,2) | Transaction response return value of requested transaction amount. |
currency | string (3) | Transaction response return value of requested transaction amount. |
status | enum | Transaction response return value of transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
card_token | string (28) | Transaction response return value of card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
Transaction response return value of gateway. See suported gateways for gateway field value. |
mask_number | string (36) | Transaction response return value of card_number as mask_number for successfull Purchase/Authorize transactions. For creditcard only. |
Response Example (200 OK)
{
"data": {
"order_id": "8c5ca6d32567f89034c57023",
"transaction_id": "47adb6a1-ace6-469e-8ffc-25416fb5e7a0",
"transaction_type": "Purchase",
"amount": "14.92",
"currency": "EUR",
"status": "Approved",
"status_code": "201.0000",
"status_description": "3d-acquirer:The resource was successfully created.",
"created": "2018-04-23 10:39:38",
"card_token": "4BB998B580AEE2036C397F8C1003",
"description": "test purchase",
"gateway": "unlimint",
"mask_number": "4012 00XX XXXX 1003"
}
}
Response Example (Validation)
{"error":{"currency":["The currency field is required."]},"code":"422"}
{"error":"Invalid Order Id","code":"422"}
Key | Value Type | Description |
---|---|---|
api_id | base64_encode (64) |
This is the unique id associate with merchant. |
order_id | string (6-40) |
Merchant internal Unique ID for this transaction. |
ip_address | string |
The IP address associated with the device used by the customer in the transaction. |
customer_token | string (uuid) |
Transaction response return value of customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
amount |
decimal (10,2) Without any fractional value |
Transaction response return value of requested transaction amount. |
currency | string (3) |
Transaction response return value of requested transaction currency. |
description | string (5-255) |
Merchant product description of this transactions . |
gateway | enum |
Transaction response return value of gateway. See suported gateways for gateway field value. |
rest | boolean |
Defined which kind of response will sent. Send true will send a response with redirect_url. |
return_url | string (255) |
Merchant shop URL for redirect transaction. |
callback_url | string (255) |
Callback URL to receive callback information. |
Request Example (Redirect)
$url="https://secure.staging.paypipes.net/api/v1/purchase";
$param = [
"request" => [
"api_id" => "3031022drc61c64a74f8fcece40a648c17a73379ccc373095acb617fb163a81e",
"order_id" => "8c5ca6d32567f89034c57023",
"ip_address" => "123.123.123.1",
"customer_token"=> "1540e474-39c6-491a-b872-48434930ea3a",
"amount"=> "5000.00",
"currency"=> "JPY",
"description"=> "Test Purchase",
"gateway"=> "curfex",
"rest"=> 1,
"return_url"=> "https://localhost/return",
"callback_url"=>"https://localhost/callback"
]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($response));
Key | Value Type | Description |
---|---|---|
redirect_url | string | Transaction response return value of a redirect url. |
expires_at | timestamp | The times when the redirect url will be invalid. Timstampe define UTC + 0 |
code | string | The HTTP status code returned from PayPipes. |
Redirect Response Example (200 OK)
{
"redirect_url": "https://secure.staging.paypipes.net/v1/redirect/4b0836b9-32df-4904-afe3-02ac8704d743",
"expires_at": "2021-10-14 10:22:05",
"code": "200"
}
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Transaction response return value of Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
status | enum | Transaction response return value of transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
Open to App Redirect example (origin=ios)
https://secure.staging.paypipes.net/backtoapp?_token=hW0tWJ3afnYDYNskZf1lP7eUslTeP5qPcNvWSDeg&order_id=20230125091954&transaction_id=23bd5df4-3e2f-4e85-9488-6130d9a07040&status=Cancelled&status_code=503&language=en
Apple app site association (origin=ios)
https://secure.staging.paypipes.net.well-known/apple-app-site-association
Reverse Capture reverse a capture
A Reverse Capture is performed against a previous Capture transaction, referencing its transaction_id by sending a POST request over HTTPS to the /api/v1/reverse/capture
.
A reversal can only reverse the full transaction and does not require the amount or currency to be sent i.e. a partial reversal is not possible.
Key | Value Type | Description |
---|---|---|
api_id | base64_encode (64) |
This is the unique id associate with merchant. |
order_id | string (6-40) |
Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) |
This is the unique id for this transaction. |
description | string (5-255) |
Merchant product description of this transactions . |
ip_address | string |
The IP address associated with the device used by the customer in the transaction. |
callback_url | string (255) |
Callback URL to receive callback information. |
Request Example
$url="https://secure.staging.paypipes.net/api/v1/reverse/capture";
$param = [
"request" => [
"api_id" => "3031022dfc91b64a73f8fcece40a648c17a73379ccc373095abb617fb163a81e",
"order_id" => "8c5ca6d32567f89034c57029",
"transaction_id" => "4ad78bba-635b-4ad6-a74c-de7126a7341b",
"description" => "Reverse Request",
"ip_address" => "123.123.123.1",
"callback_url" => "https://localhost/callback",
]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($response));
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Transaction response return value of Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | Transaction response return value of requested transaction type. |
amount | decimal (10,2) | Transaction response return value of requested transaction amount. |
currency | string (3) | Transaction response return value of requested transaction amount. |
status | enum | Transaction response return value of transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
card_token | string (28) | Transaction response return value of card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
Transaction response return value of gateway. See suported gateways for gateway field value. |
mask_number | string (36) | Transaction response return value of card_number as mask_number for successfull Purchase/Authorize transactions. For creditcard only. |
Response Example (200 OK)
{
"data": {
"order_id": "8c5ca6d32567f89034c57029",
"transaction_id": "47adb6a1-ace6-469e-8ffc-25416fb5e7a0",
"transaction_type": "ReverseCapture",
"amount": "14.92",
"currency": "EUR",
"status": "Approved",
"status_code": "201.0000",
"status_description": "3d-acquirer:The resource was successfully created.",
"created": "2018-04-23 10:39:38",
"card_token": "4BB998B580AEE2036C397F8C1003",
"description": "test reverse",
"gateway": "unlimint",
"mask_number": "4012 00XX XXXX 1003"
}
}
Response Example (Validation)
{"error":{"phone_code":["The phone code field is required."]},"code":"422"}
{"error":"Invalid Order Id","code":"422"}
Reverse Purchase reverse a purchase
A Reverse Purchase is performed against a previous Capture transaction, referencing its transaction_id by sending a POST request over HTTPS to the /api/v1/reverse/purchase
.
A reversal can only reverse the full transaction and does not require the amount or currency to be sent i.e. a partial reversal is not possible.
Key | Value Type | Description |
---|---|---|
api_id | base64_encode (64) |
This is the unique id associate with merchant. |
order_id | string (6-40) |
Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) |
This is the unique id for this transaction. |
description | string (5-255) |
Merchant product description of this transactions . |
ip_address | string |
The IP address associated with the device used by the customer in the transaction. |
callback_url | string (255) |
Callback URL to receive callback information. |
Request Example
$url="https://secure.staging.paypipes.net/api/v1/reverse/purchase";
$param = [
"request" => [
"api_id" => "3031022dfc91b64a73f8fcece40a648c17a73379ccc373095abb617fb163a81e",
"order_id" => "8c5ca6d32567f89034c57028",
"transaction_id" => "1652757c-4a98-4f90-8fce-d19cebb3fd5f",
"description" => "Reverse Request",
"ip_address" => "123.123.123.1",
"callback_url" => "https://localhost/callback",
]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($response));
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Transaction response return value of Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | Transaction response return value of requested transaction type. |
amount | decimal (10,2) | Transaction response return value of requested transaction amount. |
currency | string (3) | Transaction response return value of requested transaction amount. |
status | enum | Transaction response return value of transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
card_token | string (28) | Transaction response return value of card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
Transaction response return value of gateway. See suported gateways for gateway field value. |
mask_number | string (36) | Transaction response return value of card_number as mask_number for successfull Purchase/Authorize transactions. For creditcard only. |
Response Example (200 OK)
{
"data": {
"order_id": "8c5ca6d32567f89034c57028",
"transaction_id": "47adb6a1-ace6-469e-8ffc-25416fb5e7a0",
"transaction_type": "ReversePurchase",
"amount": "14.92",
"currency": "EUR",
"status": "Approved",
"status_code": "201.0000",
"status_description": "3d-acquirer:The resource was successfully created.",
"created": "2018-04-23 10:39:38",
"card_token": "4BB998B580AEE2036C397F8C1003",
"description": "test reverse",
"gateway": "unlimint",
"mask_number": "4012 00XX XXXX 1003"
}
}
Response Example (Validation)
{"error":{"phone_code":["The phone code field is required."]},"code":"422"}
{"error":"Invalid Order Id","code":"422"}
Refund refund capture or purchase
A Refund is performed against a previous Capture or Purchase transaction, referencing its transaction_id by sending a POST request over HTTPS to the /api/v1/refund
. Where supported, the amount field can be used to process a partial or full amount.
Key | Value Type | Description |
---|---|---|
api_id | base64_encode (64) |
This is the unique id associate with merchant. |
order_id | string (6-40) |
Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) |
This is the unique id for this transaction. |
amount | decimal(10,2) |
The total order amount for the transaction. The value format 12.00. |
description | string (5-255) |
Merchant product description of this transactions . |
ip_address | string |
The IP address associated with the device used by the customer in the transaction. |
callback_url | string (255) |
Callback URL to receive callback information. |
Request Example
$url="https://secure.staging.paypipes.net/api/v1/refund";
$param = [
"request" => [
"api_id" => "3031022dfc91b64a73f8fcece40a648c17a73379ccc373095abb617fb163a81e",
"order_id" => "8c5ca6d32567f89034c57027",
"transaction_id" => "1652757c-4a98-4f90-8fce-d19cebb3fd5f",
"amount" => "10.00",
"description" => "Reverse Request",
"ip_address" => "123.123.123.1",
"callback_url" => "https://localhost/callback",
]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($response));
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Transaction response return value of Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | Transaction response return value of requested transaction type. |
amount | decimal (10,2) | Transaction response return value of requested transaction amount. |
currency | string (3) | Transaction response return value of requested transaction amount. |
status | enum | Transaction response return value of transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
card_token | string (28) | Transaction response return value of card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
Transaction response return value of gateway. See suported gateways for gateway field value. |
mask_number | string (36) | Transaction response return value of card_number as mask_number for successfull Purchase/Authorize transactions. For creditcard only. |
Response Example (200 OK)
{
"data": {
"order_id": "8c5ca6d32567f89034c57027",
"transaction_id": "47adb6a1-ace6-469e-8ffc-25416fb5e7a0",
"transaction_type": "Refund",
"amount": "14.92",
"currency": "EUR",
"status": "Approved",
"status_code": "201.0000",
"status_description": "3d-acquirer:The resource was successfully created.",
"created": "2018-04-23 10:39:38",
"card_token": "4BB998B580AEE2036C397F8C1003",
"description": "test refund",
"gateway": "unlimint",
"mask_number": "4012 00XX XXXX 1003"
}
}
Response Example (Validation)
{"error":{"phone_code":["The phone code field is required."]},"code":"422"}
{"error":"Invalid Order Id","code":"422"}
Credit independent refund
A Credit is created by sending a POST request over HTTPS to the /api/v1/credit
. A Credit is an independent transaction that results in a refund. A Credit transaction currency and gateway are based on previous transaction_id. This transaction_id must belong to a purchase or capture transaction with approved status.
Key | Value Type | Description |
---|---|---|
api_id | base64_encode (64) |
This is the unique id associate with merchant. |
order_id | string (6-40) |
Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) |
This is the unique id for this transaction. |
amount | decimal(10,2) |
The total order amount for the transaction. The value format 12.00. |
description | string (5-255) |
Merchant product description of this transactions . |
ip_address | string |
The IP address associated with the device used by the customer in the transaction. |
callback_url | string (255) |
Callback URL to receive callback information. |
Request Example
$url="https://secure.staging.paypipes.net/api/v1/credit";
$param = [
"request" => [
"api_id" => "3031022dfc91b64a73f8fcece40a648c17a73379ccc373095abb617fb163a81e",
"order_id" => "8c5ca6d32567f89034c57025",
"transaction_id" => "66cb692d-2282-4a92-a641-ff537ae08341",
"amount"=> "14.92",
"description"=> "Original Credit",
"ip_address" => "123.123.123.1"
"callback_url" => "https://localhost/callback",
]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($response));
Key | Value Type | Description |
---|---|---|
api_id | base64_encode (64) |
This is the unique id associate with merchant. |
order_id | string (6-40) |
Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) |
This is the unique id for this transaction. |
amount | decimal(10,2) |
The total order amount for the transaction. The value format 12.00. |
description | string (5-255) |
Merchant product description of this transactions . |
ip_address | string |
The IP address associated with the device used by the customer in the transaction. |
callback_url | string (255) |
Callback URL to receive callback information. |
extra_param | json |
Json array for extra param for credit transaction. |
gateway_currency | string (3) |
Transaction response return value of requested gateway currency. |
bank_account | string |
Trade Account or Wallet No. |
id_card | string (100) | ID Card Number of the user. |
mt_account | string |
Trade Account or Wallet No. |
bank_code | string (6) |
The short code of the bank. |
card_image | Base64 |
Citizen or Passport Image. |
Request Example (ThunderXpay)
$url="https://secure.staging.paypipes.net/api/v1/credit";
$param = [
"request" => [
"api_id" => "3031022dfc91b64a73f8fcece40a648c17a73379ccc373095abb617fb163a81e",
"order_id" => "8c5ca6d32567f89034c57025",
"transaction_id" => "66cb692d-2282-4a92-a641-ff537ae08341",
"amount"=> "15.00",
"description"=> "Original Credit",
"ip_address" => "123.123.123.1",
"callback_url" => "https://localhost/callback",
"extra_param"=> [
"bank"=> [
"bank_account"=> "6666666666666",
"bank_code"=> "GSB"
],
"gateway_currency"=> "THB",
"id_card"=> "23232323",
"mt_account"=> "23232323",
"card_image"=> '@'
]
]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($response));
Response Example (Validation)
{"error":{"transaction_id":["The transaction_id field is required."]},"code":"422"}
{"error":"Invalid Order Id","code":"422"}
Key | Value Type | Description |
---|---|---|
api_id | base64_encode (64) |
This is the unique id associate with merchant. |
order_id | string (6-40) |
Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) |
This is the unique id for this transaction. |
amount | decimal(10,2) |
The total order amount for the transaction. The value format 12.00. |
description | string (5-255) |
Merchant product description of this transactions . |
ip_address | string |
The IP address associated with the device used by the customer in the transaction. |
callback_url | string (255) |
Callback URL to receive callback information. |
extra_param | json array | Param for customer bank details. |
Request Example (ZotaPay)
$url="https://secure.staging.paypipes.net/api/v1/credit";
$param = [
"request" => [
"api_id" => "3031022dfc91b64a73f8fcece40a648c17a73379ccc373095abb617fb163a81e",
"order_id" => "8c5ca6d32567f89034c57025",
"transaction_id" => "66cb692d-2282-4a92-a641-ff537ae08341",
"amount"=> "15.00",
"description"=> "Original Credit",
"ip_address" => "123.123.123.1",
"callback_url" => "https://localhost/callback",
"extra_param" => [
"bank" => [
"customerBankAccountNumber" => "100200",
"customerBankAccountName" => "John Doe",
// other conditional parameters based on country
]
]
]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($response));
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Transaction response return value of Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | Transaction response return value of requested transaction type. |
amount | decimal (10,2) | Transaction response return value of requested transaction amount. |
currency | string (3) | Transaction response return value of requested transaction amount. |
status | enum | Transaction response return value of transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
card_token | string (36) | Transaction response return value of card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
customer_token | string (36) | This is the unique customer_token for the customer. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
Transaction response return value of gateway. See suported gateways for gateway field value. |
mask_number | string (36) | Transaction response return value of card_number as mask_number for successfull Purchase/Authorize transactions. For creditcard only. |
reference_number | string (26) | Transaction response return value of reference number of transactions. |
fees | Json array | Convertion of request amount if request currency is different. |
Response Example (200 OK)
{
"data": {
"order_id": "20ff512e351ad256053b7c0a",
"transaction_id": "bb6cea34-8d54-4de8-829d-075ed4f1fd06",
"transaction_type": "Credit",
"amount": "320.00",
"currency": "USD",
"status": "Waiting",
"status_code": "00",
"status_description": "Withdraw Success",
"created": "2021-06-15 12:46:51",
"card_token": "",
"customer_token": "ed0d8463-9212-4dfe-a968-f80c0056a566",
"description": "test Credit",
"gateway": "thunderxpay",
"mask_number": "",
"reference_number": "bb6cea348d544de8829d075ed4f1fd06",
"auth_code": "",
"request_id": "bb6cea348d544de8829d075ed4f1fd06",
"fees": {
"data": [
{
"name": "Conversion Rate",
"type": "conversion_rate",
"amount": "10300.80",
"currency": "THB"
},
{
"name": "Cross Rate",
"type": "cross_rate",
"amount": "32.19",
"currency": "THB"
}
]
}
}
}
Response Example (Validation)
{"error":{"currency":["The currency field is required."]},"code":"422"}
{"error":"Invalid Order Id","code":"422"}
Withdraw make a withdraw transaction with customer token
A Withdraw is created by sending a POST request over HTTPS to the /api/v1/withdraw
. The request should be send after tokenize customers request. including customer_token information.
Key | Value Type | Description |
---|---|---|
api_id | base64_encode (64) |
This is the unique id associate with merchant. |
order_id | string (6-40) |
Merchant internal Unique ID for this transaction. |
ip_address | string |
The IP address associated with the device used by the customer in the transaction. |
customer_token | string (28) |
Transaction response return value of customer_token for successfull TokenizeCustomer/Purchase/Authorize/Withdraw transactions. |
description | string (5-255) |
Merchant product description of this transaction. |
amount | decimal (10,2) |
Transaction response return value of requested transaction amount. |
currency | string (3) |
Transaction response return value of requested transaction currency. |
gateway | enum | Transaction response return value of gateway. See suported gateways for gateway field value. |
callback_url | string (255) |
Callback URL to receive callback information. |
extra_param | string (256) |
Json string for any extra parameter. |
Request Example (ThunderXpay)
$url="https://secure.staging.paypipes.net/api/v1/purchase";
$param = [
"request" => [
"api_id" => "3031022drc61c64a74f8fcece40a648c17a73379ccc373095acb617fb163a81e",
"order_id" => "8c5ca6d32567f89034c57023",
"ip_address" => "123.123.123.1",
"customer_token"=> "1540e474-39c6-491a-b872-48434930ea3a",
"amount"=> "14.92",
"currency"=> "THB",
"description"=> "Test Purchase",
"gateway"=> "thunderxpay",
"callback_url" => "https://localhost/callback",
"extra_param" => [
"bank" => [
"bank_account" => "1234567890",
"mt_account" => "2352356",
"bank_code" => "BBL",
"card_image" => "" // image - proof of payment
]
]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($response));
Key | Value Type | Description |
---|---|---|
api_id | base64_encode (64) |
This is the unique id associate with merchant. |
order_id | string (6-40) |
Merchant internal Unique ID for this transaction. |
ip_address | string |
The IP address associated with the device used by the customer in the transaction. |
customer_token | string (28) |
Transaction response return value of customer_token for successfull TokenizeCustomer/Purchase/Authorize/Withdraw transactions. |
description | string (5-255) |
Merchant product description of this transaction. |
amount | decimal (10,2) |
Transaction response return value of requested transaction amount. |
currency | string (3) |
Transaction response return value of requested transaction currency. |
gateway | enum | Transaction response return value of gateway. See suported gateways for gateway field value. |
callback_url | string (255) |
Callback URL to receive callback information. |
extra_param | string (256) |
Json string for any extra parameter. |
Request Example (ZotaPay)
$url="https://secure.staging.paypipes.net/api/v1/purchase";
$param = [
"request" => [
"api_id" => "3031022drc61c64a74f8fcece40a648c17a73379ccc373095acb617fb163a81e",
"order_id" => "8c5ca6d32567f89034c57023",
"ip_address" => "123.123.123.1",
"customer_token"=> "1540e474-39c6-491a-b872-48434930ea3a",
"amount"=> "14.92",
"currency"=> "THB",
"description"=> "Test Purchase",
"gateway"=> "zotapay",
"callback_url" => "https://localhost/callback",
"extra_param" => [
"endpoint" => "503968",
"bank" => [
"customerBankAccountNumber" => "1234567890",
"customerBankAccountName" => "John Doe",
"customerBankCode" => "BBL",
"bank_name" => "Bangkok Bank"
// other extra params are optional based on country
]
]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($response));
Key | Value Type | Description |
---|---|---|
api_id | base64_encode (64) |
This is the unique id associate with merchant. |
order_id | string (6-40) |
Merchant internal Unique ID for this transaction. |
ip_address | string |
The IP address associated with the device used by the customer in the transaction. |
customer_token | string (28) |
Transaction response return value of customer_token for successfull TokenizeCustomer/Purchase/Authorize/Withdraw transactions. |
description | string (5-255) |
Merchant product description of this transaction. |
amount | decimal (10,2) Without any fractional value |
Transaction response return value of requested transaction amount. |
currency | string (3) |
Transaction response return value of requested transaction currency. |
gateway | enum | Transaction response return value of gateway. See suported gateways for gateway field value. |
extra_param | string (256) |
Json string for any extra parameter. |
Request Example (Curfex)
$url="https://secure.staging.paypipes.net/api/v1/purchase";
$param = [
"request" => [
"api_id" => "3031022drc61c64a74f8fcece40a648c17a73379ccc373095acb617fb163a81e",
"order_id" => "8c5ca6d32567f89034c57023",
"ip_address" => "123.123.123.1",
"customer_token"=> "1540e474-39c6-491a-b872-48434930ea3a",
"amount"=> "1500.00",
"currency"=> "JPY",
"description"=> "Test Purchase",
"gateway"=> "curfex",
"extra_param" => [
"bank" => [
"bank_account" => "1234567890",
"bank_code" => "1013",
"bank_name" => "OSHIMA_SHINKIN_BANK_JPY"
],
"sender_info" => [
"sender_name" => "Sender Name",
"sender_type" => "C",
"sender_fund_source" => "COMPANY_PROFIT"
],
'bene_info' => [
'bene_type' => "I",
]
]
]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($response));
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Transaction response return value of Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | Transaction response return value of requested transaction type. |
amount | decimal (10,2) | Transaction response return value of requested transaction amount. |
currency | string (3) | Transaction response return value of requested transaction amount. |
status | enum | Transaction response return value of transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
Transaction response return value of gateway. See suported gateways for gateway field value. |
Response Example (200 OK)
{
"data": {
"order_id": "8c5ca6d32567f89034c5702",
"transaction_id": "47adb6a1-ace6-469e-8ffc-25416fb5e7a0",
"transaction_type": "withdraw",
"amount": "14.92",
"currency": "EUR",
"status": "Approved",
"status_code": "201.0000",
"status_description": "3d-acquirer:The resource was successfully created.",
"created": "2018-04-23 10:39:38",
"description": "test withdraw",
"gateway": "thunderxpay",
}
}
Response Example (Validation)
{"error":{"amount":["The amount field is required."]},"code":"422"}
{"error":"Invalid Order Id","code":"422"}
Status check transaction status
A Status is performed based on a previous transaction of any type, referencing its transaction_id or order_id by sending a GET request over HTTPS to the /api/v1/status/{transaction_id}?api_id={api_id}
or /api/v1/status/{order_id}?api_id={api_id}
. Status of the transaction will be received as a response.
Key | Value Type | Description |
---|---|---|
api_id | base64_encode (64) |
This is the unique id associate with merchant. |
order_id | string (6-40) |
Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) |
This is the unique id for this transaction. |
Request Example
$url="https://secure.staging.paypipes.net/api/v1/status/10cd5c0a-0832-4de1-9091-bb5199b439f1?api_id=449f11a438853bb84bd7193fd6bceb0886d083d0a8d5e583a7f92fc55573854d";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($response));
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Transaction response return value of Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | Transaction response return value of requested transaction type. |
amount | decimal (10,2) | Transaction response return value of requested transaction amount. |
currency | string (3) | Transaction response return value of requested transaction amount. |
status | enum | Transaction response return value of transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
card_token | string (28) | Transaction response return value of card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
Transaction response return value of gateway. See suported gateways for gateway field value. |
mask_number | string (36) | Transaction response return value of card_number as mask_number for successfull Purchase/Authorize transactions. For creditcard only. |
reference_number | string (36) | A value of reference_number for successfull Purchase/Authorize transactions. |
auth_code | string (36) | Transaction response return value of card_number as mask_number for successfull Purchase/Authorize transactions. For creditcard only. |
request_id | string (uuid) | This is the unique id for this transaction. |
card_token | string (28) | Transaction response return value of card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
holder | string (2-100) | The card holder name for the credit card. |
bin | integer (6) | The bin number of the credit card. |
digit | integer (4) | The last 4 digits of the credit card |
brand | string | The brand of the credit card. |
expired | datetime | The expiration date and time of the customer/card token. The datetime is based on PayPipes servers. |
Response Content-Types: application/xml, application/json
Response Example (200 OK)
{
"data":{
"order_id":"01a8a6507fe1212c37e2c318",
"transaction_id":"10cd5c0a-0832-4de1-9091-bb5199b439f1",
"transaction_type":"Purchase",
"amount":"36.23",
"currency":"EUR",
"status":"Approved",
"status_code":"000.100.112",
"status_description":"Request successfully processed in 'Merchant in Connector Test Mode'",
"created":"2020-12-10 13:06:27",
"card_token":"BF8B8DEE554CAA407506AECD6540",
"customer_token":"6844a22e-c228-41a0-a0be-ed55f280007f",
"description": "test purchase",
"gateway":"trustpay",
"mask_number":"4005 55XX XXXX 6540",
"reference_number":"8ac7a4a2764b3ecb01764cc2e2656a90",
"auth_code":"",
"request_id":"10cd5c0a-0832-4de1-9091-bb5199b439f1",
"cards":{
"data":[
{
"card_token":"GF8B8DAE559CAE407506AECD6540",
"holder":"Test holder",
"bin":"400555",
"digit":"6540",
"brand":"visa",
"created":"2020-12-10 13:06:50",
"updated":"2020-12-10 13:06:50",
"expired":"2023-01-31"
}
]
}
}
}
Response Example (Validation)
{"error":{"api_id":["The api_id field is required."]},"code":"422"}
{"error":"Record not found","code":"404"}
Transaction Completion to complete any transactions cycle
An Transaction Completion is created by sending a POST request over HTTPS to the /api/v1/transaction/completion
. The request should be send after merchant process any internal processing (e.g. funds, top-up, update wallet balance and etc.).
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) |
Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) |
This is the unique id for this transaction. |
status | enum (completed, failed) |
The final status of the transaction. |
Request Example
$url="https://secure.paypipes.net/api/v1/transaction/completion";
$param = [
"request" => [
"order_id" => "8c5ca6d32567f89034c57025",
"transaction_id" => "66cb692d-2282-4a92-a641-ff537ae08341",
"status"=> "completed",
]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($response));
Key | Value Type | Description |
---|---|---|
code | int | This is the status code of the response. |
status | enum (success, failed) | Indicate the response status. |
message | string | Any particular messages for this response. |
errors | array | Indicate if there is an erros while processing the response. |
Response Content-Types: application/xml, application/json
Response Example (200 OK)
{
"code": 200,
"status": "success",
"message": "200 ok"
}
Response Example (Validation)
{
"code": "422",
"error": {
"request.order_id": [
"The order id field is required"
]
}
}
Response Example (Error)
{
"code": 401,
"status": "failed",
"errors": [
"ERR.INVALID_TRANSFER_STATUS"
]
}
Customer Details retrive customer details
A Customer Details reequest is performed based on customer_token by sending a GET request over HTTPS to the /api/v1/tokenize/customers/{customer_token}?api_id={api_id}
. Customer details request will retrive customer information and all customer cards information.
Key | Value Type | Description |
---|---|---|
api_id | base64_encode (64) |
This is the unique id associate with merchant. |
customer_token | string (uuid) |
This is the unique customer_token for the customer. |
Request Example
$url="https://secure.staging.paypipes.net/api/v1/tokenize/customers/10cd5c0a-0832-4de1-9091-bb5199b439f1?api_id=449f11a438853bb84bd7193fd6bceb0886d083d0a8d5e583a7f92fc55573854d";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($response));
Key | Value Type | Description |
---|---|---|
customer_token | string (uuid) | Transaction response return value of customer_token for successfull tokenize customer transactions. |
order_id | string (6-40) | Transaction response return value of Merchant internal Unique ID for this transaction. |
first_name | string (1-60) | The first name of the end customer as provided in their billing information. |
last_name | string (1-60) | The last name of the end customer as provided in their billing information. |
street | string (1-100) | The address of the end customer’s as provided in their billing address. |
city | string (2-40) | The city of the end customer’s billing address. |
state | string (2-40) | The state of the end customer’s billing address. |
country | string (255) | The Country is return (English short country name officially used by the ISO 3166) of the customer’s billing address. |
post_code | string (20) | The postal code of the customer’s billing address. |
phone_code | string (1-9) | The phone country code of the customer’s billing address. Punctuation characters will be stripped. After stripping punctuation characters, ex +420 or 00420. |
phone | string (20) | The phone number of the customer’s billing address. Punctuation characters will be stripped. After stripping punctuation characters, the number must contain only digits. |
string (100) | The email address of the customer. | |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
updated | datetime | The updated date and time of the transaction. The datetime is based on PayPipes servers. |
card_token | string (28) | Transaction response return value of card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
holder | string (2-100) | The card holder name for the credit card. |
bin | integer (6) | The bin number of the credit card. |
digit | integer (4) | The last 4 digits of the credit card |
brand | string | The brand of the credit card. |
expired | datetime | The expiration date and time of the customer/card token. The datetime is based on PayPipes servers. |
Response Example (200 OK)
{
"data":{
"customer_token":"14d63bf9-e960-466c-bc62-5e241bd81259",
"order_id":"46c83f43107ef4da0553137d",
"first_name":"Elliott",
"last_name":"Davis",
"street":"Studio 19Carter Keys",
"city":"West Jackson",
"state":"Karlburgh",
"post_code":"CO9 3JZ",
"country":"Tajikistan",
"phone_code":"+81",
"phone":"2727388728",
"email":"ella08@example.org",
"status":"Active",
"created":"2018-05-02 19:28:34",
"updated":"2018-05-02 19:28:34",
"expired":"2021-05-02 19:28:34",
"cards":{
"data":[
{
"card_token":"073FCFCECFDD7468F83B60901003",
"holder":"Test Card",
"bin":"401200",
"digit":"1003",
"brand":"visa",
"created":"2018-05-02 19:28:35",
"updated":"2018-05-02 19:28:35",
"expired":"2019-01-31 19:28:35"
}
]
}
}
}
Response Example (Validation)
{"error":{"api_id":["The api_id field is required."]},"code":"422"}
{"error":"Invalid Api Id","code":"422"}
Customer Card Details retrive card details
A Customer Card Details reequest is performed based on customer_token && card_token by sending a GET request over HTTPS to the /api/v1/tokenize/customers/{customer_token}/cards/{card_token}?api_id={api_id}
. Customer card details request will retrive details on specific card information.
Key | Value Type | Description |
---|---|---|
api_id | base64_encode (64) |
This is the unique id associate with merchant. |
customer_token | string (uuid) |
This is the unique customer_token for the customer. |
card_token | string (28) |
A token uniquely identifying the card in the system. |
Request Example
$url="https://secure.staging.paypipes.net/api/v1/tokenize/customers/34490389-d609-46f7-9c29-f0bbd396b968/cards/073FCFCECFDD7468F83B60901003?api_id=449f11a438853bb84bd7193fd6bceb0886d083d0a8d5e583a7f92fc55573854d";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
[
"Content-type: application/json",
"Accept: application/json",
"Cache-Control: no-cache",
"User-Agent: ".$_SERVER['HTTP_USER_AGENT'],
"Authorization: Bearer ". $auth->access_token
]
);
$response = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($response));
Key | Value Type | Description |
---|---|---|
card_token | string (28) | Transaction response return value of card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
holder | string (2-100) | The card holder name for the credit card. |
bin | integer (6) | The bin number of the credit card. |
digit | integer (4) | The last 4 digits of the credit card |
brand | string | The brand of the credit card. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
updated | datetime | The updated date and time of the transaction. The datetime is based on PayPipes servers. |
expired | datetime | The expiration date and time of the customer/card token. The datetime is based on PayPipes servers. |
Response Example (200 OK)
{"data":{"card_token":"073FCFCECFDD7468F83B60901003","holder":"Test Card","bin":"401200","digit":"1003","brand":"visa","created":"2018-05-02 19:28:35","updated":"2018-05-02 19:28:35","expired":"2019-01-31 19:28:35"}}
Response Example (Validation)
{"error":{"api_id":["The api_id field is required."]},"code":"422"}
{"error":"Invalid Api Id","code":"422"}
Webhooks
Webhook Signature
A Signature value will be sent in the request header while sending the webhook response to the merchant so it will be more secure and the merchant can verify the callback response coming back from the PayPipes side.
To verify signature:
- Client secret is used as the secret key for encrypting payload to calculate the checksum
- Payload(webhook) body content
- HMAC Digest SHA512 algorithm for encryption
- $calculatedSignature = hash_hmac('sha512', $payload, $client_secret)
- $calculatedSignature === $request->header(‘Signature’)
Webhook List
Skrill
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | requested transaction type. |
amount | decimal (10,2) | requested transaction amount. |
currency | string (3) | requested transaction amount. |
status | enum | transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
card_token | string (28) | card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
customer_token | string (36) | customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
gateway. See suported gateways for gateway field value. |
mask_number | string (36) | card_number as mask_number for successfull Purchase/Authorize transactions. For creditcard only. |
reference_number | string (28) | Reference number of transactions. |
request_id | string (36) | Request number of transactions. |
fees | Json array | Convertion of request amount if request currency is different. |
Webhook Example (Skrill)
{
"data": {
"order_id": "02c4a9fa93f9fee24da02dc2",
"transaction_id": "e128f0d5-5565-4830-8931-f9fe3936c995",
"transaction_type": "Purchase",
"amount": "1.00",
"currency": "EUR",
"status": "Approved",
"status_code": "2",
"status_description": "Processed",
"created": "2021-07-29 14:34:42",
"card_token": "",
"customer_token": "a8466e78-1d9b-402f-9734-608b064c5fd3",
"description": "test purchase",
"gateway": "skrill",
"mask_number": "",
"reference_number": "3816742570",
"auth_code": "",
"request_id": "e128f0d5-5565-4830-8931-f9fe3936c995",
"fees": {
"data": [
{
"name": "Conversion Rate",
"type": "conversion_rate",
"amount": "1.00",
"currency": "EUR",
"customer_email": "testcustomer987@skrill.com"
}
]
}
}
}
Neteller
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | requested transaction type. |
amount | decimal (10,2) | requested transaction amount. |
currency | string (3) | requested transaction amount. |
status | enum | transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
card_token | string (28) | card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
customer_token | string (36) | customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
gateway. See suported gateways for gateway field value. |
mask_number | string (36) | card_number as mask_number for successfull Purchase/Authorize transactions. For creditcard only. |
reference_number | string (28) | Reference number of transactions. |
request_id | string (36) | Request number of transactions. |
fees | Json array | Convertion of request amount if request currency is different. |
Webhook Example (Neteller)
{
"data": {
"order_id": "21ab911f0e39b9efa412f199",
"transaction_id": "0ab5028e-0da8-46d2-b601-ec86288a112d",
"transaction_type": "Purchase",
"amount": "20.00",
"currency": "EUR",
"status": "Approved",
"status_code": "2",
"status_description": "Processed",
"created": "2021-06-30 12:54:16",
"card_token": "",
"customer_token": "feb86c24-df3c-44e5-8d20-6dcb623e994a",
"description": "test purchase",
"gateway": "neteller",
"mask_number": "",
"reference_number": "3776155044",
"auth_code": "",
"request_id": "0ab5028e-0da8-46d2-b601-ec86288a112d",
"fees": {
"data": [
{
"name": "Conversion Rate",
"type": "conversion_rate",
"amount": "20.00",
"currency": "EUR",
"customer_email": "neteller@paypipes.com"
}
]
}
}
}
Paysafecard
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | requested transaction type. |
amount | decimal (10,2) | requested transaction amount. |
currency | string (3) | requested transaction amount. |
status | enum | transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
card_token | string (28) | card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
customer_token | string (36) | customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
gateway. See suported gateways for gateway field value. |
mask_number | string (36) | card_number as mask_number for successfull Purchase/Authorize transactions. For creditcard only. |
request_id | string (36) | Request number of transactions. |
Webhook Example (Paysafecard)
{
"data": {
"order_id": "0fcfb1903474df59605108ec",
"transaction_id": "16a18e57-4043-422e-b248-8f6a7c2a8d30",
"transaction_type": "Purchase",
"amount": "63.55",
"currency": "EUR",
"status": "Approved",
"status_code": "201",
"status_description": "transaction was successful",
"created": "2021-07-29 14:43:01",
"card_token": "",
"customer_token": "a8466e78-1d9b-402f-9734-608b064c5fd3",
"description": "test purchase",
"gateway": "paysafecard",
"mask_number": "",
"reference_number": "pay_1000030971_16a18e57-4043-422e-b248-8f6a7c2a8d30_EUR",
"auth_code": "",
"request_id": "16a18e57-4043-422e-b248-8f6a7c2a8d30"
}
}
Unlimint
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | requested transaction type. |
amount | decimal (10,2) | requested transaction amount. |
currency | string (3) | requested transaction amount. |
status | enum | transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
card_token | string (28) | card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
customer_token | string (36) | customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
gateway. See suported gateways for gateway field value. |
mask_number | string (36) | card_number as mask_number for successfull Purchase/Authorize transactions. For creditcard only. |
reference_number | string (28) | Reference number of transactions. |
request_id | string (36) | Request number of transactions. |
cards | Json array | Card information of the transaction. |
Webhook Example (Unlimint)
{
"data": {
"order_id": "5408bbdb36c73e7c2589a362",
"transaction_id": "887071b9-20a1-4779-8adf-8c785e61d5d5",
"transaction_type": "Purchase",
"amount": "49.82",
"currency": "EUR",
"status": "Approved",
"status_code": "201",
"status_description": "COMPLETED",
"created": "2021-07-29 14:46:46",
"card_token": "BF1B29E882C7AEEAE4D744480002",
"customer_token": "a8466e78-1d9b-402f-9734-608b064c5fd3",
"description": "test purchase",
"gateway": "cardpay",
"mask_number": "4000 00XX XXXX 0002",
"reference_number": "8165141",
"auth_code": "Wy7v1o",
"request_id": "887071b9-20a1-4779-8adf-8c785e61d5d5",
"cards": {
"data": [
{
"card_token": "BF1B29E882C7AEEAE4D744480002",
"holder": "John Doe",
"bin": "400000",
"digit": "0002",
"brand": "visa",
"created": "2021-05-21 09:24:28",
"updated": "2021-07-29 14:47:04",
"expired": "2023-01-31"
}
]
}
}
}
SticPay
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | requested transaction type. |
amount | decimal (10,2) | requested transaction amount. |
currency | string (3) | requested transaction amount. |
status | enum | transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
card_token | string (28) | card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
customer_token | string (36) | customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
gateway. See suported gateways for gateway field value. |
mask_number | string (36) | card_number as mask_number for successfull Purchase/Authorize transactions. For creditcard only. |
reference_number | string (28) | Reference number of transactions. |
request_id | string (36) | Request number of transactions. |
fees | Json array | Convertion of request amount if request currency is different. |
Webhook Example (SticPay)
{
"data": {
"order_id": "74a44d08386f1d406af8b530",
"transaction_id": "6de3eb9f-7ad0-4288-9dca-bda07eaf5544",
"transaction_type": "Purchase",
"amount": "86.96",
"currency": "EUR",
"status": "Approved",
"status_code": "201",
"status_description": "approved",
"created": "2021-07-28 10:01:27",
"card_token": "",
"customer_token": "8e7d62ac-5c43-4401-b740-9b791670c93f",
"description": "test purchase",
"gateway": "sticpay",
"mask_number": "",
"reference_number": "11572",
"auth_code": "",
"request_id": "6de3eb9f7ad042889dcabda07eaf5544",
"fees": {
"data": [
{
"name": "service fee",
"type": "service_fee",
"amount": "2.38",
"currency": "EUR",
"customer_email": "test-customer7@sticpay.com",
"customer_name": "Test Customer 7",
"verified_status": "{\"email\":\"not_matched\",\"name\":\"not_matched\",\"birthday\":\"not_matched\"}"
}
]
}
}
}
TrustPay
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | requested transaction type. |
amount | decimal (10,2) | requested transaction amount. |
currency | string (3) | requested transaction amount. |
status | enum | transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
card_token | string (28) | card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
customer_token | string (36) | customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
gateway. See suported gateways for gateway field value. |
mask_number | string (36) | card_number as mask_number for successfull Purchase/Authorize transactions. For creditcard only. |
reference_number | string (28) | Reference number of transactions. |
request_id | string (36) | Request number of transactions. |
cards | Json array | Card information of the transaction. |
Webhook Example (TrustPay)
{
"data": {
"order_id": "cec317d405a6ecdefb3d47a0",
"transaction_id": "0b75068e-3923-48f7-bd2e-7c19db09844f",
"transaction_type": "Purchase",
"amount": "29.99",
"currency": "EUR",
"status": "Approved",
"status_code": "000.100.112",
"status_description": "Request successfully processed in 'Merchant in Connector Test Mode'",
"created": "2021-07-28 11:52:26",
"card_token": "125221120A4FCBF5A2AC95F39677",
"customer_token": "8e7d62ac-5c43-4401-b740-9b791670c93f",
"description": "test purchase",
"gateway": "trustpay",
"mask_number": "5567 26XX XXXX 9677",
"reference_number": "8ac7a4a07aece25f017aecf5e047308f",
"auth_code": "",
"request_id": "0b75068e-3923-48f7-bd2e-7c19db09844f",
"cards": {
"data": [
{
"card_token": "125221120A4FCBF5A2AC95F39677",
"holder": "sgsdgsdh",
"bin": "556726",
"digit": "9677",
"brand": "mastercard",
"created": "2021-07-28 11:52:53",
"updated": "2021-07-28 11:52:53",
"expired": "2023-01-31"
}
]
}
}
}
Vload
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | requested transaction type. |
amount | decimal (10,2) | requested transaction amount. |
currency | string (3) | requested transaction amount. |
status | enum | transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
card_token | string (28) | card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
customer_token | string (36) | customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
gateway. See suported gateways for gateway field value. |
mask_number | string (36) | card_number as mask_number for successfull Purchase/Authorize transactions. For creditcard only. |
reference_number | string (28) | Reference number of transactions. |
auth_code | string (26) | Auth code of the merchant. |
request_id | string (36) | Request number of transactions. |
Webhook Example (Vload)
{
"data": {
"order_id": "81a8c6e697db3c571ca6c543",
"transaction_id": "0c279383-0086-47d3-ae7d-2cefab4f7f44",
"transaction_type": "Purchase",
"amount": "100.00",
"currency": "USD",
"status": "Approved",
"status_code": "201",
"status_description": "Success",
"created": "2021-07-29 14:54:43",
"card_token": "",
"customer_token": "7d931ebb-9131-488e-a93a-b80524e8655c",
"description": "test purchase",
"gateway": "vload",
"mask_number": "",
"reference_number": "01EZ7QTY4ZVW9YK34QFHD7HCVV",
"auth_code": "AXrywuO-cesQqMgqQAA-0Q",
"request_id": "0c279383008647d3ae7d2cefab4f7f44"
}
}
ThunderXpay
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | requested transaction type. |
amount | decimal (10,2) | requested transaction amount. |
currency | string (3) | requested transaction amount. |
status | enum | transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
card_token | string (28) | card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
customer_token | string (36) | customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
gateway | enum |
gateway. See suported gateways for gateway field value. |
mask_number | string (36) | card_number as mask_number for successfull Purchase/Authorize transactions. For creditcard only. |
reference_number | string (28) | Reference number of transactions. |
request_id | string (36) | Request number of transactions. |
fees | Json array | Convertion of request amount if request currency is different. |
Webhook Example (ThunderXpay)
{
"data": {
"order_id": "bcc9a3a0-db2b-11eb-a216-072d2a927af5",
"transaction_id": "e51b1391-94ac-4367-a2d7-26f63b097d8d",
"transaction_type": "Purchase",
"amount": "4729.96",
"currency": "USD",
"status": "Approved",
"status_code": "201",
"status_description": "Approve Transaction",
"created": "2021-07-02 11:50:48",
"card_token": "",
"customer_token": "0a3291cb-55e9-4a3c-a3c9-98c7b55f1223",
"description": "test purchase",
"gateway": "thunderxpay",
"mask_number": "",
"reference_number": "972",
"auth_code": "",
"request_id": "e51b139194ac4367a2d726f63b097d8d",
"fees": {
"data": [
{
"name": "Conversion Rate",
"type": "conversion_rate",
"amount": "156088.68",
"currency": "THB",
"verified_status": "{\"bank_account\":\"matched\",\"deposit_amount\":\"156088.68\",\"deposit_currency\":\"THB\",\"verify_date\":\"2021-07-02 19:17:54\",\"bank_account_number\":\"1111111111111\"}"
},
{
"name": "Cross Rate",
"type": "cross_rate",
"amount": "33.00",
"currency": "THB"
}
]
}
}
}
ZotaPay
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | requested transaction type. |
amount | decimal (10,2) | requested transaction amount. |
currency | string (3) | requested transaction amount. |
status | enum | transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
card_token | string (28) | card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
customer_token | string (36) | customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
gateway. See suported gateways for gateway field value. |
mask_number | string (36) | card_number as mask_number for successfull Purchase/Authorize transactions. For creditcard only. |
reference_number | string (28) | Reference number of transactions. |
request_id | string (36) | Request number of transactions. |
fees | Json array | Convertion of request amount if request currency is different. |
Webhook Example (ZotaPay)
{
"data": {
"order_id": "e27cc7eb4e114282c6b1a4ca",
"transaction_id": "c3fb5915-bbfd-41ef-89f0-553f8a40f6a4",
"transaction_type": "Purchase",
"amount": "49.63",
"currency": "USD",
"status": "Approved",
"status_code": "201",
"status_description": "APPROVED",
"created": "2021-07-29 11:56:58",
"card_token": "",
"customer_token": "a8466e78-1d9b-402f-9734-608b064c5fd3",
"description": "test purchase",
"gateway": "zotapay",
"mask_number": "",
"reference_number": "24180839",
"auth_code": "",
"request_id": "c3fb5915-bbfd-41ef-89f0-553f8a40f6a4",
"fees": {
"data": [
{
"name": "Conversion Rate",
"type": "conversion_rate",
"amount": "211.83",
"currency": "MYR",
"verified_status": "{\"dcc\":true,\"dccAmount\":\"211.83\",\"dccCurrency\":\"MYR\",\"paymentMethod\":\"INSTANT-BANK-WIRE\",\"selectedBankCode\":\"CIMB\",\"selectedBankName\":\"CIMB Bank\",\"customer\":\"dylan.miller@example.com\",\"endpointID\":\"503969\"}"
}
]
}
}
}
MaxConnect
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | requested transaction type. |
amount | decimal (10,2) | requested transaction amount. |
currency | string (3) | requested transaction amount. |
status | enum | transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
customer_token | string (36) | customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
gateway. See suported gateways for gateway field value. |
reference_number | string (28) | Reference number of transactions. |
request_id | string (36) | Request number of transactions. |
extradata | Json array | Convertion of request amount if request currency is different. |
Webhook Example (MaxConnect)
{
"data": {
"order_id": "74a44d08386f1d406af8b530",
"transaction_id": "6de3eb9f-7ad0-4288-9dca-bda07eaf5544",
"transaction_type": "Purchase",
"amount": "5000.00",
"currency": "JPY",
"status": "Approved",
"status_code": "201",
"status_description": "Transaction process successfully",
"created": "2021-07-28 10:01:27",
"customer_token": "8e7d62ac-5c43-4401-b740-9b791670c93f",
"description": "test purchase",
"gateway": "maxconnect",
"reference_number": "11572",
"auth_code": "",
"request_id": "6de3eb9f7ad042889dcabda07eaf5544",
"extradata": {
"data": [
{
"amount": "5000.00",
"currency": "JPY",
"customer_name": "スズキ イチロウ",
"customer_id": "1e60218c8364",
"account_number": "9164993"
}
]
}
VirtualPay
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | requested transaction type. |
amount | decimal (10,2) | requested transaction amount. |
currency | string (3) | requested transaction amount. |
status | enum | transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
card_token | string (28) | card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
customer_token | string (36) | customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
gateway. See suported gateways for gateway field value. |
mask_number | string (36) | card_number as mask_number for successfull Purchase/Authorize transactions. For creditcard only. |
reference_number | string (28) | Reference number of transactions. |
request_id | string (36) | Request number of transactions. |
cards | Json array | Card information of the transaction. |
Webhook Example (VirtualPay)
{
"data": {
"order_id": "20211022090144",
"transaction_id": "0256e060-5a7e-4e28-8e10-c7c946a0e5ba",
"transaction_type": "Purchase",
"amount": "10.00",
"currency": "USD",
"status": "Approved",
"status_code": "00",
"status_description": "Transaction Succesful",
"created": "2021-10-22 09:01:45",
"customer_token": "69c62dcc-84a0-47c9-983b-132e6668217c",
"description": "test purchase",
"gateway": "virtualpay",
"reference_number": "53b85cb8-83d0-499b-8e97-f646f750c245",
"auth_code": "",
"request_id": "c946a0e5ba",
"card_token": "62B6C9A675F76B73E698682C0007",
"mask_number": "4456 53XX XXXX 0007",
"cards": {
"data": [
{
"card_token": "62B6C9A675F76B73E698682C0007",
"holder": "test card",
"bin": "445653",
"digit": "0007",
"brand": "visa",
"created": "2021-10-21 15:50:04",
"updated": "2021-10-21 21:17:47",
"expired": "2022-12-31"
}
]
}
}
}
Emerchantpay
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | requested transaction type. |
amount | decimal (10,2) | requested transaction amount. |
currency | string (3) | requested transaction amount. |
status | enum | transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
card_token | string (28) | card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
customer_token | string (36) | customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
gateway. See suported gateways for gateway field value. |
mask_number | string (36) | card_number as mask_number for successfull Purchase/Authorize transactions. For creditcard only. |
reference_number | string (28) | Reference number of transactions. |
request_id | string (36) | Request number of transactions. |
cards | Json array | Card information of the transaction. |
Webhook Example (Emerchantpay)
{
"data": {
"order_id": "19645c24a6594a3073b203aa",
"transaction_id": "49edf9ea-8020-43a1-9111-5213074b8bb8",
"transaction_type": "Purchase",
"amount": "48.05",
"currency": "EUR",
"status": "Approved",
"status_code": "201",
"status_description": "approved",
"created": "2021-12-15 10:26:14",
"customer_token": "2734f378-89bc-4a55-9924-de8f6e60af3c",
"description": "Ducimus voluptates.",
"gateway": "emerchantpay",
"reference_number": "65ba9ebd0c25ded6891e8e4bde1295ab",
"auth_code": "856904",
"request_id": "49edf9ea-8020-43a1-9111-5213074b8bb8",
"card_token": "28E8CC68118BFAA3A9B1C1560000",
"mask_number": "4200 00XX XXXX 0000",
"cards": {
"data": [
{
"card_token": "28E8CC68118BFAA3A9B1C1560000",
"holder": "Paypipes Test Card",
"bin": "420000",
"digit": "0000",
"brand": "visa",
"created": "2021-12-15 10:26:42",
"updated": "2021-12-15 10:26:42",
"expired": "2023-01-31"
}
]
}
}
}
Korapay
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | requested transaction type. |
amount | decimal (10,2) | requested transaction amount. |
currency | string (3) | requested transaction amount. |
status | enum | transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
card_token | string (28) | card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
customer_token | string (36) | customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
gateway. See suported gateways for gateway field value. |
mask_number | string (36) | card_number as mask_number for successfull Purchase/Authorize transactions. For creditcard only. |
reference_number | string (28) | Reference number of transactions. |
request_id | string (36) | Request number of transactions. |
cards | Json array | Card information of the transaction. |
fees | Json array | Information about fees which were applied for the transaction. |
Webhook Example (Korapay Server-to-Server integration)
{
"data": {
"order_id": "53ac96d1352f7ea185b155df",
"transaction_id": "f448c145-2eb1-4ab6-8ec3-310c6abd1425",
"transaction_type": "Purchase",
"amount": "220.52",
"currency": "NGN",
"status": "Approved",
"status_code": "201",
"status_description": "Approved",
"created": "2022-07-20 12:14:10",
"customer_token": "de40b409-9050-4e34-887b-1abffd3bfe91",
"description": "Et hic quidem ad.",
"gateway": "korapay",
"reference_number": "f448c145-2eb1-4ab6-8ec3-310c6abd1425",
"auth_code": "",
"request_id": "f448c145-2eb1-4ab6-8ec3-310c6abd1425",
"card_token": "8E267601847350FD211531034674",
"mask_number": "4562 54XX XXXX 4674",
"fees": {
"data": [
{
"name": "Service Fee",
"type": "service_fee",
"amount": "2.87",
"currency": "NGN"
}
]
},
"cards": {
"data": [
{
"card_token": "8E267601847350FD211531034674",
"holder": "Martin C",
"bin": "456254",
"digit": "4674",
"brand": "visa",
"created": "2022-07-14 09:29:56",
"updated": "2022-07-20 12:14:16",
"expired": "2022-09-30"
}
]
}
}
}
Webhook Example (Korapay Redirect integration)
{
"data": {
"order_id": "6c32a267b0777d0f2a300d97",
"transaction_id": "66313983-8806-44e0-8e80-d4b636b6c3ec",
"transaction_type": "Purchase",
"amount": "402.31",
"currency": "NGN",
"status": "Approved",
"status_code": "201",
"status_description": "Approved",
"created": "2022-08-18 10:55:31",
"customer_token": "a8466e78-1d9b-402f-9734-608b064c5fd3",
"description": "Sit tenetur.",
"gateway": "korapay",
"reference_number": "66313983-8806-44e0-8e80-d4b636b6c3ec",
"auth_code": "",
"request_id": "66313983-8806-44e0-8e80-d4b636b6c3ec",
"card_token": "AFD473658209B2560865C9503210",
"fees": {
"data": [
{
"name": "Service Fee",
"type": "service_fee",
"amount": "5.23",
"currency": "NGN"
}
]
},
"cards": {
"data": [
{
"card_token": "AFD473658209B2560865C9503210",
"holder": "Vicky Robinson",
"bin": "506146",
"digit": "3210",
"brand": "mastercard",
"created": "2022-08-18 10:56:05",
"updated": "2022-08-18 10:56:05",
"expired": "2023-09-30"
}
]
}
}
}
Curfex
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | requested transaction type. |
amount | decimal (10,2) | requested transaction amount. |
currency | string (3) | requested transaction amount. |
status | enum | transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
customer_token | string (36) | customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
gateway. See suported gateways for gateway field value. |
reference_number | string (7) | Reference number of transactions. |
request_id | string (36) | Request number of transactions. |
fees | Json array | Information about fees which were applied for the transaction. |
Webhook Example (curfex transaction on process)
{
"data": {
"order_id": "53ac96d1352f7ea185b155df",
"transaction_id": "a07ad6c4-8b6a-46ae-8957-6887db2c7c5c",
"transaction_type": "Purchase",
"amount": "1450.00",
"currency": "JPY",
"status": "Waiting",
"status_code": "206",
"status_description": "REVIEW_TRANSFER",
"created": "2022-12-22 14:15:35",
"customer_token": "de40b409-9050-4e34-887b-1abffd3bfe91",
"description": "Et hic quidem ad.",
"gateway": "curfex",
"auth_code": "",
"request_id": "a07ad6c4-8b6a-46ae-8957-6887db2c7c5c",
"fees": {
"data": [
{
"name": "Service Fee",
"type": "service_fee",
"amount": "22.00",
"currency": "JPY",
"customer_email": "patched_patched_shota11072507@gmail.com",
"customer_name": "Test Name",
"verified_status": "{\"name\":\"matched\",\"email\":\"not_matched\"}"
}
]
},
}
}
Webhook Example (curfex approved transaction)
{
"data": {
"order_id": "53ac96d1352f7ea185b155df",
"transaction_id": "a07ad6c4-8b6a-46ae-8957-6887db2c7c5c",
"transaction_type": "Purchase",
"amount": "1450.00",
"currency": "JPY",
"status": "Approved",
"status_code": "206",
"status_description": "TRANSFER_COMPLETED",
"created": "2022-12-22 14:15:35",
"customer_token": "de40b409-9050-4e34-887b-1abffd3bfe91",
"description": "Et hic quidem ad.",
"gateway": "curfex",
"auth_code": "",
"request_id": "a07ad6c4-8b6a-46ae-8957-6887db2c7c5c",
"reference_number": "0011040",
"fees": {
"data": [
{
"name": "Service Fee",
"type": "service_fee",
"amount": "22.00",
"currency": "JPY",
"customer_email": "patched_patched_shota11072507@gmail.com",
"customer_name": "Test Name",
"verified_status": "{\"name\":\"matched\",\"email\":\"not_matched\"}"
}
]
},
}
}
Intraclear
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | requested transaction type. |
amount | decimal (10,2) | requested transaction amount. |
currency | string (3) | requested transaction amount. |
status | enum | transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
card_token | string (28) | card_token for successfull TokenizeCustomer/Purchase/Authorize transactions. For creditcard only. |
customer_token | string (36) | customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
gateway. See suported gateways for gateway field value. |
mask_number | string (36) | card_number as mask_number for successfull Purchase/Authorize transactions. For creditcard only. |
reference_number | string (28) | Reference number of transactions. |
auth_code | string | Auth code of transaction. |
request_id | string (36) | Request number of transactions. |
apple_pay | boolean | Check if transaction was processed via Apple Pay. |
cards | Json array | Card information of the transaction. |
Webhook Example (Intraclear)
{
"data": {
"order_id": "20230203150807",
"transaction_id": "44d6ccae-cb63-4b92-9246-02a6943b94e1",
"transaction_type": "Purchase",
"amount": "20.55",
"currency": "EUR",
"status": "Approved",
"status_code": "1000",
"status_description": "Successful Transaction.",
"created": "2023-02-03 15:08:07",
"customer_token": "e41459fd-af8d-469d-b6fc-6b7a8d68f051",
"description": "Test Purchase from localhost",
"gateway": "intraclear",
"reference_number": "txny2ym3ehzlrgkwx",
"auth_code": "",
"request_id": "44d6ccae-cb63-4b92-9246-02a6943b94e1",
"apple_pay": "0",
"card_token": "ED5F8301F70B12114C25E8300002",
"mask_number": "4000 00XX XXXX 0002",
"cards": {
"data": [
{
"card_token": "ED5F8301F70B12114C25E8300002",
"holder": "John Doe",
"bin": "400000",
"digit": "0002",
"brand": "visa",
"created": "2023-02-02 12:25:43",
"updated": "2023-02-03 15:08:23",
"expired": "2029-01-31"
}
]
}
}
}
Apple Pay
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | requested transaction type. |
amount | decimal (10,2) | requested transaction amount. |
currency | string (3) | requested transaction amount. |
status | enum | transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
customer_token | string (36) | customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
gateway - at this moment the only gateway for processing Apple Pay is TrustPay. |
reference_number | string (28) | Reference number of transactions. |
auth_code | string | Auth code of transaction. |
request_id | string (36) | Request number of transactions. |
apple_pay | boolean | Check if transaction was processed via Apple Pay. |
Webhook Example (Apple Pay)
{
"data": {
"order_id": "15240206131917",
"transaction_id": "942806s2-a21d-40d9-8039-8ba41e81b97d",
"transaction_type": "Purchase",
"amount": "10.00",
"currency": "EUR",
"status": "Approved",
"status_code": "000.000.000",
"status_description": "Transaction succeeded",
"created": "2023-02-06 13:49:18",
"customer_token": "8a57f911-04a9-4cc4-ba51-da1805120159",
"description": "Test Purchase",
"gateway": "trustpay",
"reference_number": "ncAO03XGDXpbBFT0Vg7bqw",
"auth_code": "",
"request_id": "942806s2-a21d-40d9-8039-8ba41e81b97",
"apple_pay": "1"
}
}
TigerPay
Key | Value Type | Description |
---|---|---|
order_id | string (6-40) | Merchant internal Unique ID for this transaction. |
transaction_id | string (uuid) | This is the unique id for this transaction. |
transaction_type | enum | requested transaction type. |
amount | decimal (10,2) | requested transaction amount. |
currency | string (3) | requested transaction amount. |
status | enum | transaction status. The valid values are:
|
status_code | string | The status code returned from PayPipes or gateway. |
status_description | string(255) | The status description returned from PayPipes or gateway. |
created | datetime | The created date and time of the transaction. The datetime is based on PayPipes servers. |
customer_token | string (36) | customer_token for successfull TokenizeCustomer/Purchase/Authorize transactions. |
description | string (5-255) |
Transaction response return value of Merchant product description of this transactions. |
gateway | enum |
gateway - at this moment the only gateway for processing Apple Pay is TrustPay. |
reference_number | string (28) | Reference number of transactions. |
auth_code | string | Auth code of transaction. |
request_id | string (36) | Request number of transactions. |
fees | Json array | Information about fees which were applied for the transaction. |
Webhook Example (TigerPay)
{
"data": {
"order_id": "6581bcc4-7d84-4b0c-a29d-a3ab0dbb082a",
"transaction_id": "88514530-0037-4e87-a974-0f55e2fc037b",
"transaction_type": "Purchase",
"amount": "1.00",
"currency": "USD",
"status": "Approved",
"status_code": "201",
"status_description": "OK",
"created": "2023-04-26 08:18:47",
"customer_token": "c1d8fc44-385e-4892-86f3-425ead2ea150",
"description": "Test purchase",
"gateway": "tigerpay",
"reference_number": "PFIT15059610",
"auth_code": "",
"request_id": "8851453000374e87a9740f55e2fc037b",
"apple_pay": "0",
"fees": {
"data": [
{
"name": "service fee",
"type": "service_fee",
"amount": "",
"currency": "USD"
}
]
}
}
}
Error Codes
Processing
OK
Created
Accepted
Non-authoritative Information
No Content
Partial Content
Multi-Status
Found
Not Modified
Bad Request
Unauthorized
Payment Required
Forbidden
Not Found
Method Not Allowed
Not Acceptable
Conflict
Payload Too Large
Unsupported Media Type
Requested Range Not Satisfiable
Unprocessable Entity
Locked
Failed Dependency
No Response
Client Closed Request
Internal Server Error
Not Implemented
Service Unavailable
Gateways
PayPal
Services and Compatibility | |
---|---|
Logo | ![]() |
Gateway field value | paypal |
Transaction types | Tokenize Customer, Purchase, Status, Customer Details |
Payment Options | PayPal |
Test Data
Any PayPal sandbox account
Skrill
Services and Compatibility | |
---|---|
Logo | ![]() |
Gateway field value | skrill |
Transaction types | Tokenize Customer, Purchase, Refund, Credit, Status, Customer Details |
Payment Options | Skrill |
Test Data
Email Address | Password |
---|---|
testcustomer987@skrill.com | 05v95bB0z0gcZuTs |
Neteller
Services and Compatibility | |
---|---|
Logo | ![]() |
Gateway field value | neteller |
Transaction types | Tokenize Customer, Purchase, Status, Customer Details |
Payment Options | Neteller |
Test Data
Email Address | Password |
---|---|
neteller@paypipes.com | On request |
Paysafecard
Services and Compatibility | |
---|---|
Logo | ![]() |
Gateway field value | paysafecard |
Transaction types | Tokenize Customer, Purchase, Status, Customer Details |
Payment Options | Paysafecard |
Test Data
PIN | Value | Currency |
---|---|---|
0157758655964997 | 50 | EUR |
4261095416261717 | 50 | EUR |
9260531958275928 | 50 | EUR |
1052148540001313 | 50 | EUR |
7089559745734355 | 50 | EUR |
4042024756146447 | 50 | EUR |
1438449228368102 | 100 | USD |
0736496971383360 | 100 | USD |
7162727007500773 | 100 | USD |
3973602250827178 | 100 | USD |
7174524732718217 | 100 | USD |
6879873353139680 | 100 | USD |
3513175823497050 | 250 | MXN |
1071213854453640 | 250 | MXN |
3831045315918323 | 250 | MXN |
2385435021401234 | 250 | MXN |
3193276715435340 | 250 | MXN |
9139379355860848 | 250 | MXN |
2339566079155255 | 75 | CHF |
7628632028510878 | 75 | CHF |
0880332692034049 | 75 | CHF |
8732451591195730 | 75 | CHF |
4339757938172018 | 75 | CHF |
2357378931609171 | 75 | CHF |
4711373428494425 | 10 | GBP |
3762893559762524 | 10 | GBP |
5111718594637279 | 10 | GBP |
7180632933113798 | 10 | GBP |
5213818562390912 | 10 | GBP |
8590445288447027 | 10 | GBP |
8080867308687962 | 10000000 | EUR |
Unlimint
Services and Compatibility | |
---|---|
Logo | ![]() |
Gateway field value | unlimint |
Transaction types | Tokenize Customer, Tokenize Card, Authorize, Capture, Purchase, Reverse Authorize, Refund, Credit, Status, Customer Details, Customer Card Details |
Payment Options | Visa, MasterCard, Maestro |
Test Data
Brand | Card Number | Expiry Date | CVC | Description |
---|---|---|---|---|
Visa | 4000000000000002 | 12/2025 | 123 | (will be CONFIRMED as 3DS transaction) |
MasterCard | 5555555555554444 | 12/2025 | 123 | (will be DECLINED as 3DS transaction) |
Visa | 4000000000000044 | 12/2025 | 123 | (will be PENDING as 3DS transaction) |
Visa | 4000000000000077 | 12/2025 | 123 | (will be CONFIRMED as non-3DS transaction) |
MasterCard | 5204247750001471 | 12/2025 | 111 | (will be CONFIRMED as non-3DS transaction) |
MasterCard | 5555555555554477 | 12/2025 | 123 | (will be DECLINED as non-3DS transaction) |
Visa | 4000000000000051 | 12/2025 | 123 | (will be PENDING as non-3DS transaction) |
UnionPay | 6200000000000000 | 12/2025 | 123 | (will be CONFIRMED) |
UnionPay | 6200000000001111 | 12/2025 | 123 | (will be DECLINED) |
JCB | 3528000000000056 | 12/2025 | 123 | (3-D secure version 1, attempt - Payment has CONFIRMED status) |
JCB | 3528000000000544 | 12/2025 | 123 | (3-D secure version 1, full authentication - Payment has AUTHORIZED status) |
JCB | 3528000000000072 | 12/2025 | 123 | (3-D secure version 1, full authentication - Payment has CONFIRMED status) |
JCB | 3528000000000551 | 12/2025 | 123 | (No 3-D Secure - Payment has AUTHORIZED status) |
JCB | 3528000000000007 | 12/2025 | 123 | (No 3-D Secure - Payment has CONFIRMED status) |
JCB | 3535555555555144 | 12/2025 | 123 | (3-D secure version 1, full authentication - Payment has DECLINED status) |
JCB | 3535555555553677 | 12/2025 | 123 | (No 3-D Secure - Payment has DECLINED status) |
AstroPay
Services and Compatibility | |
---|---|
Logo | ![]() |
Gateway field value | astropaycard, astropaydirect |
Transaction types (AstroPay Card) | Tokenize Customer, Tokenize Card, Authorize, Capture, Purchase, Reverse Authorize, Refund, Credit, Status, Customer Details, Customer Card Details |
Transaction types (AstroPay Direct) | Tokenize Customer, Purchase, Status, Customer Details |
Payment Options | AstroPay Card, AstroPay Direct |
Test Data
Brand | Card Number | Expiry Date | CVC |
---|---|---|---|
AstroPayCard | 1616349721148117 | 10/2019 | 7058 |
AstroPayCard | 1616480848334205 | 10/2019 | 6992 |
SticPay
Services and Compatibility | |
---|---|
Logo | ![]() |
Gateway field value | sticpay |
Transaction types | Tokenize Customer, Purchase, Reverse Purchase, Credit, Status, Customer Details |
Payment Options | SticPay |
Test Data
Password | |
---|---|
test-customer7@sticpay.com | SticCustomer1234 |
MerBill
Services and Compatibility | |
---|---|
Logo | ![]() |
Gateway field value | merbill |
Transaction types | Tokenize Customer, Tokenize Card, Purchase, Refund, Status, Customer Details, Customer Card Details |
Payment Options | Visa, MasterCard |
Test Data
Brand | Card Number | Expiry Date | CVC |
---|---|---|---|
Visa | 4543474002249996 | 06/2023 | 956 |
MasterCard | 5436031030606378 | 06/2023 | 257 |
AMEX | 345678901234564 | 05/2023 | 1056 |
DinersClub | 30123456789019 | 05/2023 | 123 |
JCB | 3530111333300000 | 06/2023 | 105 |
Discover | 6011111111111117 | 06/2020 | 105 |
Test Cards | Amount | Description | Response Description | Response Code |
as per above list | x.00 | Approved - x can be any integer value | will result in an Approve result | 0 |
as per above list | x.51 | INSUFFICIENT FUNDS - x can be any integer value | will result in a Not sufficient funds | 51 |
as per above list | x.05 | DNH - x can be any integer value | will result in Do not honour situation | 05 |
as per above list | x.62 | RESTRICTED CARDS - x can be any integer value | will result in Restricted card situation | 62 |
as per above list | x.12 | INVALID TRANSACTION - x can be any integer value | will result in Invalid transaction situation | 12 |
as per above list | 99.98 | TIMEOUT - For timeout please only use 99.98 | will result in a Time out response | ST9998 |
as per above list | other | any amount not in this list | will result in Invalid transaction situation | 12 |
TrustPay
Services and Compatibility | |
---|---|
Logo | ![]() |
Gateway field value | trustpay |
Transaction types | Tokenize Customer, Tokenize Card, Authorize, Capture, Purchase, Reverse Authorize, Reverse Purchase, Refund, Credit, Status, Customer Details, Customer Card Details |
Payment Options | Visa, MasterCard, Amex |
Trustpay v2 integration
3D Secure 2 test cards
Brand | Card Number | Expiry Date | CVC | Returns Method Data | Description |
---|---|---|---|---|---|
Visa | 4200000000000091 | 12/25 | 123 | Y | Frictionless - Successful frictionless authentication |
Visa | 4200000000000109 | 12/25 | 123 | Y | Frictionless - Attempt |
Visa | 4200000000000026 | 12/25 | 123 | N | Frictionless - Successful frictionless authentication |
Visa | 4200000000000059 | 12/25 | 123 | N | Frictionless - Attempt |
Visa | 4012001037461114 | 12/25 | 123 | N | Error - Technical Error |
Visa | 4012001037141112 | 12/25 | 123 | N | Error - User not enrolled |
Visa | 4532497088771651 | 12/25 | 123 | Not Applicable | Error - Card not participating |
Visa | 4200000000000042 | 12/25 | 123 | Y | Challenge - Result => determined by challenge |
Visa | 4200000000000067 | 12/25 | 123 | Y | Challenge - Result => determined by challenge |
Visa | 4200000000000018 | 12/25 | 123 | N | Challenge - Result => determined by challenge |
Visa | 4200000000000075 | 12/25 | 123 | N | Challenge - Result => determined by challenge |
Mastercard | 5200000000000007 | 12/25 | 123 | Y | Frictionless - Successful frictionless authentication |
Mastercard | 5200000000000023 | 12/25 | 123 | Y | Frictionless - Attempt |
Mastercard | 5200000000000056 | 12/25 | 123 | N | Frictionless - Successful frictionless authentication |
Mastercard | 5200000000000106 | 12/25 | 123 | N | Frictionless - Attempt |
Mastercard | 5434580000000006 | 12/25 | 123 | N | Error - Technical Error |
Mastercard | 5457350076543210 | 12/25 | 123 | N | Error - User not enrolled |
Mastercard | 5497260847316287 | 12/25 | 123 | Not Applicable | Error - Card not participating |
Mastercard | 5200000000000015 | 12/25 | 123 | Y | Challenge - Result => determined by challenge |
Mastercard | 5200000000000049 | 12/25 | 123 | Y | Challenge - Result => determined by challenge |
Mastercard | 5200000000000064 | 12/25 | 123 | N | Challenge - Result => determined by challenge |
Mastercard | 5200000000000072 | 12/25 | 123 | N | Challenge - Result => determined by challenge |
Trustpay v1 integration
Test Data for DIRECT integration
Brand | Card Number | Expiry Date | CVC | Description |
---|---|---|---|---|
Visa | 4711100000000000 | 12/25 | 123 | (will be CONFIRMED as 3DS transaction) |
MasterCard | 5212345678901234 | 12/25 | 123 | (will be CONFIRMED as 3DS transaction) |
Test Data for IFRAME integration
Brand | Card Number | Expiry Date | CVC | Description |
---|---|---|---|---|
Visa | 4005559876540 | 12/25 | 123 | (will be DECLINED as 3DS transaction) |
Visa | 4012010000000000009 | 12/25 | 123 | (will be CONFIRMED as 3DS transaction) |
Visa | 4012001036275556 | 12/25 | 123 | (will be CONFIRMED as 3DS transaction) |
Visa | 4012001038443335 | 12/25 | 123 | (will be CONFIRMED as 3DS transaction) |
Visa | 4012001038488884 | 12/25 | 123 | (will be CONFIRMED as 3DS transaction) |
Visa | 4012001036298889 | 12/25 | 123 | (will be CONFIRMED as 3DS transaction) |
Visa | 4012001036853337 | 12/25 | 123 | (will results in 3DS - validation failed) |
Visa | 4012001036983332 | 12/25 | 123 | (will results in 3DS - validation failed) |
Visa | 4012001037141112 | 12/25 | 123 | (will be CONFIRMED as 3DS transaction) |
Visa | 4005559876540 | 12/25 | 123 | (will be DECLINED as 3DS transaction) |
Visa | 4012001037167778 | 12/25 | 123 | (will be CONFIRMED as 3DS transaction) |
Visa | 4012001037461114 | 12/25 | 123 | (will results in 3D - authentication failed) |
Visa | 4012001037484447 | 12/25 | 123 | (will be CONFIRMED as 3DS transaction) |
Visa | 4012001037490006 | 12/25 | 123 | (will results in technical Error in 3DS) |
Visa | 4012001037490014 | 12/25 | 123 | (will be CONFIRMED as 3DS transaction) |
MasterCard | 5285601704480326 | 12/25 | 123 | (will be CONFIRMED as 3DS transaction) |
MasterCard | 5388670213787816 | 12/25 | 123 | (will results in 3DS - authentication unavailable) |
MasterCard | 5567269875679677 | 12/25 | 123 | (will be CONFIRMED as 3DS transaction) |
MasterCard | 5172837709537381 | 12/25 | 123 | (will be CONFIRMED as 3DS transaction) |
MasterCard | 5245018215178191 | 12/25 | 123 | (3DS transtaction results in - User not enrolled) |
MasterCard | 5386024192625914 | 12/25 | 123 | (will results in technical error in 3DS) |
MasterCard | 5215203694927708 | 12/25 | 123 | (will results in technical error in 3DS) |
MasterCard | 5405531070110469 | 12/25 | 123 | (will results in 3DS transaction timeout) |
AMEX | 341111597242513 | 12/25 | 123 | (will be CONFIRMED as 3DS transaction) |
AMEX | 341111599241000 | 12/25 | 123 | (will be CONFIRMED as 3DS transaction) |
AMEX | 374245455400001 | 12/25 | 123 | (will results in 3DS - authentication unavailable) |
AMEX | 373953192354008 | 12/25 | 123 | (will results in technical error in 3DS) |
AMEX | 374500261001009 | 12/25 | 123 | (will results in technical error in 3DS) |
AMEX | 375705004001005 | 12/25 | 123 | (will results in 3DS transaction timeout) |
AMEX | 373000000391002 | 12/25 | 123 | (will results in 3DS PARes validation failed) |
VLoad
Services and Compatibility | |
---|---|
Logo | ![]() |
Gateway field value | vload |
Transaction types | Tokenize Customer, Purchase, Credit, Status, Customer Details |
Payment Options | Voucher |
Simulator Test Data
PIN | Amount | Curency |
---|---|---|
8100041717866940 | 10.00 | EUR |
8100046090892970 | 50.00 | EUR |
8100049850050650 | 200.00 | EUR |
8100049967693550 | 1000.00 | EUR |
8100057822944400 | 5000.00 | EUR |
8100059099629580 | 10.00 | USD |
8100067902079350 | 50.00 | USD |
8100074649530480 | 200.00 | USD |
8100076031208120 | 1000.00 | USD |
8100079046876250 | 5000.00 | USD |
8100082149787520 | 1000 | JPY |
8100084889014920 | 5000 | JPY |
8100089381682440 | 20000 | JPY |
8100091512280470 | 110000 | JPY |
8100095774762900 | 500000 | JPY |
ThunderXpay
Services and Compatibility | |
---|---|
Logo | ![]() |
Gateway field value | thunderxpay |
Transaction types | Tokenize Customer, Purchase, Withdraw, Status, Customer Details |
Payment Options | Bank Transfer |
Test Data
Bank Account | 1111111111111 | |
ID Card Number | 00000000 | |
Mt4/5 Wallet Number | 00000000 | |
Curency | Min Amount | Max Amount |
THB | 500.00 | 500000.00 |
LAK | 500.00 | 150000000.00 |
MMK | 50000.00 | 20000000.00 |
KHR | 100000.00 | 60000000.00 |
ZAR | 150.00 | 500000.00 |
ZotaPay
Services and Compatibility | |
---|---|
Logo | ![]() |
Gateway field value | zotapay |
Transaction types | Tokenize Customer, Purchase, Withdraw, Status, Customer Details |
Payment Options | ZotaPay |
Test Data
Endpoint ID | Currency | Methods |
---|---|---|
503969 | USD | Instant Bank Wire, Payout |
503968 | NGN | Online, Payout |
503924 | THB | Instant Bank Wire, Payout |
503923 | VND | Instant Bank Wire, Payout |
503922 | IDR | Instant Bank Wire, Payout |
503921 | MYR | Instant Bank Wire, Payout |
503920 | CNY | Instant Bank Wire, Payout |
503919 | USD | Creditcard |
503918 | GBP | Creditcard |
503917 | EUR | Creditcard |
Test Data For Withdrawals
Bank Account Number | Descriptions |
---|---|
1234567890 | For APPROVED transaction |
0000000000 | For ERROR transaction |
11111111111 | For Decline transaction |
BitPay
Services and Compatibility | |
---|---|
Logo | ![]() |
Gateway field value | bitpay |
Transaction types | Tokenize Customer, Purchase, Status, Customer Details |
Payment Options | Crypto currency |
Test Data
Create own testnet wallet from this instruction | https://bitpay.com/docs/testing |
MaxConnect
Services and Compatibility | |
---|---|
Gateway field value | maxconnect |
Transaction types | Tokenize Customer, Purchase, Status, Customer Details |
Payment Options | Bank Transfer |
Test Data
Manual Bank Transfer. For end to end test its require MaxConnect support to send us callback response |
VirtualPay
Services and Compatibility | |
---|---|
Logo | ![]() |
Gateway field value | virtualpay |
Transaction types | Tokenize Customer, Tokenize Card, Purchase, Customer Details, Customer Card Details |
Payment Options | Visa, MasterCard |
Test Data
Brand | Card Number | Expiry Date | CVC | Description |
---|---|---|---|---|
Visa | 4000000000000119 | 12/2025 | 123 | (will be a Successful transaction) |
Visa | 4000000000000028 | 12/2025 | 123 | (will be a DECLINED transaction) |
MasterCard | 5200000000000007 | 12/2025 | 123 | (will be a Successful transaction) |
MasterCard | 5200000000000023 | 12/2025 | 123 | (will be a DECLINED transaction) |
Emerchantpay
Services and Compatibility | |
---|---|
Logo | ![]() |
Gateway field value | emerchantpay |
Transaction types | Tokenize Customer, Tokenize Card, Authorize, Purchase, Refund, Reverse Purchase, Reverse Authorize, Credit, Customer Details, Customer Card Details |
Payment Options | Visa, MasterCard |
Test Data
Brand | Card Number | Expiry Date | CVC | Description |
---|---|---|---|---|
Visa | 4012000000060085 | 12/2025 | 123 | Frictionless without 3DSecure Method - Result => Authenticated |
Visa | 4066330000000004 | 12/2025 | 123 | Frictionless with 3DSecure Method - Result => Authenticated |
MasterCard | 5169750000001111 | 12/2025 | 123 | Low risk exemption accepted - Result => Authenticated |
Visa | 4378510000000004 | 12/2025 | 123 | Low risk exemption accepted - Result => Authenticated |
Visa | 4111110000000922 | 12/2025 | 123 | Frictionless without 3DSecure Method - Result => Not authenticated |
Visa | 4111112232423922 | 12/2025 | 123 | Frictionless with 3DSecure Method - Result => Not authenticated |
Visa | 4918190000000002 | 12/2025 | 123 | Challenge without 3DSecure Method - Result => Choose Challenge result |
Visa | 4938730000000001 | 12/2025 | 123 | Challenge with 3DSecure Method - Result => Choose Challenge result |
Visa | 4901170000000003 | 12/2025 | 123 | Fallback to 3DSv1 without 3DSecure Method - Result => Choose PaRes response |
Visa | 4901164281364345 | 12/2025 | 123 | Fallback to 3DSv1 with 3DSecure Method - Result => Choose PaRes response |
Korapay
Services and Compatibility | |
---|---|
Logo | ![]() |
Gateway field value | korapay |
Transaction types | Tokenize Customer, Tokenize Card, Purchase, Withdrawal, Customer Details, Customer Card Details |
Payment Options | Visa, MasterCard |
Test Data
Brand | Card Number | Expiry Date | CVC | Description |
---|---|---|---|---|
Visa | 4084127883172787 | 09/30 | 123 | For Successful Payment (No Authentication) |
Visa | 4562543755474674 | 09/30 | 123 | For Successful Payment (with 3D Secure) |
Test Data for Withdrawals
Bank Code | Bank Account Number | Description |
---|---|---|
033 | 0000000000 | Successful Payout |
035 | 0000000000 | Failed Payout |
011 | 9999999999 | Error: Invalid Account |
Curfex
Services and Compatibility | |
---|---|
Logo | ![]() |
Gateway field value | curfex |
Transaction types | Tokenize Customer, Purchase, Withdraw, Status, Customer Details |
Payment Options | Wire Deposit, Card Deposit, Bank Transfer |
Test Data
Brand | Card Number | Expiry Date | CVC | Description |
---|---|---|---|---|
Visa | 4444333322221111 | 01/25 | 555 | For Approved Payment (No Authentication) |
MasterCard | 5555555555554444 | 01/25 | 444 | For Failed Payment (No Authentication) |
For 3D Secure, input 3D value into card holdername field
Intraclear
Services and Compatibility | |
---|---|
Logo | ![]() |
Gateway field value | intraclear |
Transaction types | Tokenize Customer, Tokenize Card, Purchase, Refund, Customer Details, Customer Card Details |
Payment Options | Visa, MasterCard, JCB, UnionPay |
Test Data
Brand | Card Number | Expiry Date | CVC | Description |
---|---|---|---|---|
Visa | 4000000000000002 | 01/27 | 101 | Approved |
Visa | 4000000000000002 | 01/27 | 102 | Declined |
Visa | 4000000000000002 | 01/27 | 103 | 3D Secure |
Apple Pay
Services and Compatibility | |
---|---|
Logo | ![]() |
Transaction types | Tokenize Customer, Purchase, Refund, Customer Details |
Payment Options | Visa, MasterCard, Maestro |
Apple Pay doesn't offer any test card data
TigerPay
Services and Compatibility | |
---|---|
Logo | ![]() |
Transaction types | Tokenize Customer, Purchase, Credit, Withdraw, Customer Details |
Payment Options | TigerPay |
Test Data
Password | |
---|---|
TigerPay user email | TigerPay user password |