Introduction
Welcome to the DASGATEWAY API Integration Manual.
The API is designed around the REST architectural style; providing a set of HTTP payloads to facilitate the interaction between third party software and DASGATEWAY. To ensure compatibility, the API provides resource oriented URLs which uses built-in HTTP features like HTTP authentication, HTTP verbs or HTTP response codes which are understood by the majority of HTTP clients.
The API is accessible only via https with the following base URL
LIVE URL (https://api.paymentoptions.com)
Using the API reference
The API reference is ordered by payloads. A description of the different payloads and a few examples are provided. While the examples are limited to a few development languages, the same principle can be applied to any language which has access to a HTTP client.
Authentication
API Key
The API key is used for authorization and authentication; and will determine if the API will execute the request or not. Each merchant has access to an LIVE API KEY and an encoded key via the DasGateway Merchant Access.
The API uses HTTP Basic Authentication where the API key is passed as credentials in the Authorization header.
Note that HTTP Basic Authentication expects the credentials to be base64 encoded. Some HTTP client will automatically encode the key into base64 (for example by using the -u flag with bash cURL) while others will require manual encoding (for example using CURLOPT_HTTPHEADER in PHP cURL).
API Headers
API headers are extra source of information for each API call you make. API header represent the meta-data associated with an API request and response.
Header | Description |
---|---|
x-api-key | Provided along with credentials |
Authorization | Live API Key from merchant details on DasGateway. |
Content-Type | All response attributes will be a JSON object set to (application/json) |
Hosted Payment Page Link Creation
Method: POST
URL : /api/v1/server-to-server-interface/hpp/generate/link
This payload allows to generate link to open Hosted Payment Page to capture a transaction.
Request Attributes
Create Hosted Payment Page Link:
{
"return_url": {
"webhook_url": "",
"success_url": "",
"decline_url": "",
"cancel_url": ""
},
"amount": null,
"currency": null,
"merchant_id": "<DASMID>",
"merchant_email": "<merchant email>",
"merchant_txn_ref": "<ref>",
"payment_method":
{
"type":"scheme",
"store_payment_method":true
},
"billing_address":
{
"country": "JP",
"email": "<email>",
"phone": "<phone number>",
"address1": "<address line 1>",
"city": "<city>",
"state": "<state>"
},
"shipping_address":
{
"country": "JP",
"email": "<email>",
"phone": "<phone number>",
"address1": "<address line 1>",
"city": "<city>",
"state": " <state>"
}
}
Attributes | Type | Mandatory | Max Length | Description |
---|---|---|---|---|
return_url | object | no | A JSON object containing the Return URL | |
webhook_url | string | no | 255 | The webhook URL link |
success_url | string | no | 255 | The redirect URL link after payment get successful. |
decline_url | string | no | 255 | The redirect URL link after payment get failed. |
cancel_url | string | no | 255 | The cancel URL link after payment get cancelled. |
amount | float/string/int | yes | as per Bank | The amount of the transaction amount. If passed null, cardholder need to enter amount manually in Hosted Payment Page. |
currency | string | yes | 3 | The abbreviation of the processing currency of the product (ex. Japanese Yen: JPY) |
merchant_id | string | yes | 128 | The merchant ID (DASMID) |
merchant_email | string | yes | 45 | The email address of the Merchant |
merchant_txn_ref | string | yes | 45 | The merchant transaction reference ID |
payment_method | object | no | A JSON object containing Payment Method | |
type | string | yes | 128 | The Card Scheme (Like VISA, MASTERCARD) |
store_payment_method | boolean | yes | 5 | True to generate token or False not to generate |
billing_address | object | yes | A JSON object containing the billing address of cardholder | |
∟ country | string | yes | 2 | The cardholder’s billing country code |
string | yes | 45 | The cardholder’s billing email address | |
∟ phone | string | yes | 15 | The cardholder’s billing phone number |
∟ address1 | string | yes | 199 | The cardholder’s billing address line |
∟ city | string | yes | 65 | The cardholder’s billing city |
∟ state | string | yes | 65 | The cardholder’s billing state |
shipping_address | object | no | A JSON object containing the shipping address of cardholder. This object is optional. | |
∟ country | string | yes | 2 | The cardholder’s shipping country code |
string | yes | 45 | The cardholder’s shipping email address | |
∟ phone | string | yes | 20 | The cardholder’s shipping phone number |
∟ address1 | string | yes | 199 | The cardholder’s shipping address line |
∟ city | string | yes | 65 | The cardholder’s shipping city |
∟ state | string | yes | 65 | The cardholder’s shipping state |
Response Attributes
Note After a payment is completed, the user will be redirected to either the success_url or the decline_url. The transaction_reference will be included as a query parameter in the URL.
Sample Response:
{
"id": "8099279b-e499-464d-ad50-57eed0e4b309",
"url": "<Generated HPP Link>",
"amount": "",
"currency": "",
"merchant_txn_ref": "<ref>",
"merchant_id": "<DASMID>",
"merchant_email": "<merchant email>",
"return_url": {
"webhook_url": "",
"success_url": "",
"decline_url": "",
"cancel_url": null
},
"billing_address": {
"city": "<city>",
"email": "<email>",
"phone": "<phone number>",
"state": "<state>",
"country": "<country code>",
"address1": "<address line 1>"
},
"shipping_address": {
"city": "<city>",
"email": "<email>",
"phone": "<phone number>",
"state": "<state>",
"country": "<country code>",
"address1": "<address line 1>"
}
}
Attributes | Description |
---|---|
id | The transaction reference ID |
return_url | A JSON object containing the Return URL |
webhook_url | The webhook URL link |
success_url | The redirect URL link after payment get successful. |
decline_url | The redirect URL link after payment get failed. |
cancel_url | The URL Link of the cancelation page |
inprogress_url | The URL Link of the loading page |
amount | The Amount of transaction |
currency | The processing currency of the transaction |
DASMID | The DAS merchant ID of the transaction performed |
merchant_email | The email address of the Merchant |
merchant_txn_ref | The merchant transaction reference ID |
status | The status of the hosted payment page link generated |
url | The URL Link of the hosted payment page link generated |
isValid | The validity of the Hosted Payment Page link (True or False) |
billing_address | A JSON object containing the billing address of cardholder |
∟ country | The cardholder’s billing country code |
The cardholder’s billing email address | |
∟ phone | The cardholder’s billing phone number |
∟ address1 | The cardholder’s billing address line |
∟ city | The cardholder’s billing city |
∟ state | The cardholder’s billing state |
shipping_address | A JSON object containing the shipping address of cardholder. This object is optional. |
∟ country | The cardholder’s shipping country code |
The cardholder’s shipping email address | |
∟ phone | The cardholder’s shipping phone number |
∟ address1 | The cardholder’s shipping address line |
∟ city | The cardholder’s shipping city |
∟ state | The cardholder’s shipping state |
Authorisation
Method: POST
URL : /api/v1/server-to-server-interface/authorization
This payload allows to perform an Authorisation transaction.
Request Attributes
Perform an Authorisation Transaction:
{
"amount":"<amount>",
"currency": null,
"card": {
"cvc": "<cvv>",
"expiry_month": "<month>",
"expiry_year": "<year>",
"name": "<name>",
"number": "<card number>"
},
"merchant_txn_ref" :"<ref>",
"customer_ip" : "<ip>",
"merchant_id" : "<DASMID>",
"return_url":{
"webhook_url": "",
"success_url": "",
"decline_url": ""
},
"billing_address":{
"country": "JP",
"email": "<email>",
"address1": "<address 1>",
"phone_number": "<phone number>",
"city": "<city>",
"state": "<state>",
"postal_code": "<postcode>"
},
"shipping_address":{
"country": "JP",
"email": "<email>",
"address1": "<address 1>",
"phone_number": "<phone number>",
"city": "<city>",
"state": "<state>",
"postal_code": "<postcode>"
},
"time_zone": "Asia/Kuala_Lumpur"
}
Attributes | Type | Mandatory | Max Length | Description |
---|---|---|---|---|
amount | float/string/int | yes | as per Bank | The amount of the transaction. |
currency | string | yes | 3 | The abbreviation of the processing currency of the product (ex. Japanese Yen: JPY) |
card | object | yes | A JSON object containing the Card Details | |
cvc | string | yes | 4 | The Security Code of the card (3 digits code and 4 digits code for AMEX cards) |
expiry_month | string | yes | 2 | The expiry month of the card. Eg. 12 for December |
expiry_year | string | yes | 2 | The expiry year of the card. Eg. 24 for year 2024 |
name | string | yes | 255 | The cardholder’s name on card |
number | string | yes | 16 | The card number |
merchant_txn_ref | string | yes | 45 | The merchant transaction reference ID |
customer_ip | string | yes | 45 | The IP address of the cardholder |
merchant_id | string | yes | 128 | The merchant ID (DASMID) |
return_url | object | no | A JSON object containing the Return URL | |
webhook_url | string | no | 255 | The webhook URL link |
success_url | string | no | 255 | The redirect URL link after payment get successful. |
decline_url | string | no | 255 | The redirect URL link after payment get failed. |
billing_address | object | yes | A JSON object containing the billing address of cardholder | |
∟ country | string | yes | 2 | The cardholder’s billing country code |
string | yes | 45 | The cardholder’s billing email address | |
∟ phone_number | string | yes | 20 | The cardholder’s billing phone number |
∟ address1 | string | yes | 199 | The cardholder’s billing address line |
∟ city | string | yes | 65 | The cardholder’s billing city |
∟ state | string | yes | 65 | The cardholder’s billing state |
∟ postal_code | string | yes | 45 | The cardholder’s postal code |
shipping_address | object | no | A JSON object containing the shipping address of cardholder. This object is optional. | |
∟ country | string | yes | 2 | The cardholder’s shipping country code |
string | yes | 45 | The cardholder’s shipping email address | |
∟ phone_number | string | yes | 20 | The cardholder’s shipping phone number |
∟ address1 | string | yes | 199 | The cardholder’s shipping address line |
∟ city | string | yes | 65 | The cardholder’s shipping city |
∟ state | string | yes | 65 | The cardholder’s shipping state |
∟ postal_code | string | no | 45 | The cardholder’s shipping postal code |
time_zone | string | yes | 128 | The country time zone of the transaction |
Response Attributes
Sample Response:
{
"success": true,
"status_code": 201,
"is_live": false,
"transaction_type": "PRE_AUTH",
"gateway_response": {
"version": "1",
"type": "INFO",
"message": "Payment Successful.",
"code": "INFO0000"
},
"merchant_details": {
"legal_name": "<Merchant Legal Name>",
"mid": "<DASMID>",
"merchant_txn_ref": "<transaction ref>",
"billing_details": {
"billing_address": {
"country": "<country code>",
"email": "<email address>",
"address1": "<address1>",
"phone_number": "<phone number>",
"city": "<city>",
"state": "<state>",
"postal_code": "<postcode>"
},
"shipping_address": {
"country": "<country code>",
"email": "<email address>",
"address1": "<address1>",
"phone_number": "<phone number>",
"city": "<city>",
"state": "<state>",
"postal_code": "<postcode>"
}
},
"device_details": {
"visited_ip": "<ip address>",
"customer_ip": "<ip address>",
}
},
"payment_details": {
"amount": "<amount>",
"response_code": 0,
"auth_code": "<auth code>",
"currency": "<USD>",
"payment_method": "<payment method>",
"scheme": "<card scheme>",
"card": {
"name": "<card holder name>",
"number": "<card number>",
"exp_month": "<expiry month>",
"exp_year": "<expiry year>"
}
},
"transaction_details": {
"id": "bdd7e008-93e5-4777-a4f7-6eb2343cce4d",
"ref": "<ref>",
"timestamp": "<date and time>",
"merchant_txn_ref": "<transaction ref>",
"stored_payment_method_id": "e9df6c8b-5341-4c74-b6a7-3f05468747cd"
},
"risk-details": {
"risk_score": null
}
}
Attributes | Description |
---|---|
success | true on successful transaction. false on failure. |
status_code | The status code of the transaction |
is_live | true if live transaction. false if test transaction |
transaction_type | The transaction type PRE_AUTH for Authorised transaction |
gateway_response | A JSON object containing the response from the gateway |
version | The version of the gateway |
type | Type of response, INFO for informative |
message | The message response from the gateway |
code | Message code of response |
merchant_details | A JSON object containing the details of merchant |
∟ legal_name | The merchant’s legal name |
∟ mid | The merchant ID (DASMID) |
∟ merchant_txn_ref | The merchant transaction reference |
billing_details | A JSON object containing the billing details |
∟ billing_address | A JSON object containing the billing address |
∟ country | The cardholder’s billing country code |
The cardholder’s billing email address | |
∟ address1 | The cardholder’s billing address line |
∟ phone_number | The cardholder’s billing phone number |
∟ city | The cardholder’s billing city |
∟ state | The cardholder’s billing state |
∟ postal_code | The cardholder’s postal code |
∟ shipping_address | A JSON object containing the shipping address |
∟ country | The cardholder’s shipping country code |
The cardholder’s shipping email address | |
∟ address1 | The cardholder’s shipping address line |
∟ phone_number | The cardholder’s shipping phone number |
∟ city | The cardholder’s shipping city |
∟ state | The cardholder’s shipping state |
∟ postal_code | The cardholder’s shipping code |
device_details | A JSON object containing the details of device |
∟ visited_ip | IP address of payment page |
∟ customer_ip | IP address of card holder |
payment_details | A JSON object containing the Payment details of the transaction |
∟ amount | The amount value of the transaction |
∟ response_code | The acquirer response code |
∟ auth_code | The acquirer authorisation code |
∟ currency | The currency of the transaction |
∟ payment_method | The payment card type : Credit Card or Debit Card |
∟ scheme | The card brand scheme (VISA, MASTERCARD or AMEX) |
∟ card | A JSON object containing details of card |
∟ name | The cardholders’ name on card |
∟ number | The card number |
∟ exp_month | The expiry month of the card. Eg. 12 for December |
∟ exp_year | The expiry year of the card. Eg. 24 for year 2024 |
∟ transaction_details | A JSON object containing details of the transaction |
∟ id | The Transaction ID of the transaction |
∟ ref | The Authorisation code of the transaction |
∟ timestamp | Date and Time of the transaction |
∟ merchant_txn_ref | The merchant transaction reference ID |
∟ stored_payment_method_id | The stored payment method ID (Token) |
risk-details | A JSON object containing details of risk |
∟ risk_score | The risk score |
Purchase
Method: POST
URL : /api/v1/server-to-server-interface/payment
This payload allows to perform a Purchase transaction.
Request Attributes
Perform an Purchase Transaction:
{
"amount":"<amount>",
"currency": null,
"card": {
"cvc": "<cvv>",
"expiry_month": "<month>",
"expiry_year": "<year>",
"name": "<name>",
"number": "<card number>"
},
"merchant_txn_ref" :"<ref>",
"customer_ip" : "<ip>",
"merchant_id" : "<DASMID>",
"return_url":{
"webhook_url": "",
"success_url": "",
"decline_url": ""
},
"billing_address":{
"country": "JP",
"email": "<email>",
"address1": "<address 1>",
"phone_number": "<phone number>",
"city": "<city>",
"state": "<state>",
"postal_code": "<postcode>"
},
"shipping_address":{
"country": "JP",
"email": "<email>",
"address1": "<address 1>",
"phone_number": "<phone number>",
"city": "<city>",
"state": "<state>",
"postal_code": "<postcode>"
},
"time_zone": "Asia/Kuala_Lumpur"
}
Attributes | Type | Mandatory | Max Length | Description |
---|---|---|---|---|
amount | float/string/int | yes | as per Bank | The amount of the transaction. |
currency | string | yes | 3 | The abbreviation of the processing currency of the product (ex. Japanese Yen: JPY) |
card | object | yes | A JSON object containing the Card Details | |
cvc | string | yes | 4 | The Security Code of the card (3 digits code and 4 digits code for AMEX cards) |
expiry_month | string | yes | 2 | The expiry month of the card. Eg. 12 for December |
expiry_year | string | yes | 2 | The expiry year of the card. Eg. 24 for year 2024 |
name | string | yes | 255 | The cardholder’s name on card |
number | string | yes | 16 | The card number |
merchant_txn_ref | string | yes | 45 | The merchant transaction reference ID |
customer_ip | string | yes | 45 | The IP address of the cardholder |
merchant_id | string | yes | 128 | The merchant ID (DASMID) |
return_url | object | no | A JSON object containing the Return URL | |
webhook_url | string | no | 255 | The webhook URL link |
success_url | string | no | 255 | The redirect URL link after payment get successful. |
decline_url | string | no | 255 | The redirect URL link after payment get failed. |
billing_address | object | yes | A JSON object containing the billing address of cardholder | |
∟ country | string | yes | 2 | The cardholder’s billing country code |
string | yes | 45 | The cardholder’s billing email address | |
∟ phone_number | string | yes | 20 | The cardholder’s billing phone number |
∟ address1 | string | yes | 199 | The cardholder’s billing address line |
∟ city | string | yes | 65 | The cardholder’s billing city |
∟ state | string | yes | 65 | The cardholder’s billing state |
∟ postal_code | string | yes | 45 | The cardholder’s postal code |
shipping_address | object | no | A JSON object containing the shipping address of cardholder. This object is optional. | |
∟ country | string | yes | 2 | The cardholder’s shipping country code |
string | yes | 45 | The cardholder’s shipping email address | |
∟ phone_number | string | yes | 20 | The cardholder’s shipping phone number |
∟ address1 | string | yes | 199 | The cardholder’s shipping address line |
∟ city | string | yes | 65 | The cardholder’s shipping city |
∟ state | string | yes | 65 | The cardholder’s shipping state |
∟ postal_code | string | no | 45 | The cardholder’s shipping postal code |
time_zone | string | yes | 128 | The country time zone of the transaction |
Response Attributes
Sample Response:
{
"success": true,
"status_code": 201,
"is_live": false,
"transaction_type": "CAPTURE",
"gateway_response": {
"version": "1",
"type": "INFO",
"message": "Payment Successful.",
"code": "INFO0000"
},
"merchant_details": {
"legal_name": "<Merchant Legal Name>",
"mid": "<DASMID>",
"merchant_txn_ref": "<transaction ref>",
"billing_details": {
"billing_address": {
"country": "<country code>",
"email": "<email address>",
"address1": "<address1>",
"phone_number": "<phone number>",
"city": "<city>",
"state": "<state>",
"postal_code": "<postcode>"
},
"shipping_address": {
"country": "<country code>",
"email": "<email address>",
"address1": "<address1>",
"phone_number": "<phone number>",
"city": "<city>",
"state": "<state>",
"postal_code": "<postcode>"
}
},
"device_details": {
"visited_ip": "<ip address>",
"customer_ip": "<ip address>",
}
},
"payment_details": {
"amount": "<amount>",
"response_code": 0,
"auth_code": "<auth code>",
"currency": null,
"payment_method": "<payment method>",
"scheme": "<card scheme>",
"card": {
"name": "<card holder name>",
"number": "<card number>",
"exp_month": "<expiry month>",
"exp_year": "<expiry year>"
}
},
"transaction_details": {
"id": "bdd7e008-93e5-4777-a4f7-6eb2343cce4d",
"ref": "<ref>",
"timestamp": "<date and time>",
"merchant_txn_ref": "<transaction ref>",
"stored_payment_method_id": "e9df6c8b-5341-4c74-b6a7-3f05468747cd"
},
"risk-details": {
"risk_score": null
}
}
Attributes | Description |
---|---|
success | true on successful transaction. false on failure. |
status_code | The status code of the transaction |
is_live | true if live transaction. false if test transaction |
transaction_type | The transaction type : CAPTURE for Purchase transaction |
gateway_response | A JSON object containing the response from the gateway |
version | The version of the gateway |
type | Type of response, INFO for informative |
message | The message response from the gateway |
code | Message code of response |
merchant_details | A JSON object containing the details of merchant |
∟ legal_name | The merchant’s legal name |
∟ mid | The merchant ID (DASMID) |
∟ merchant_txn_ref | The merchant transaction reference |
billing_details | A JSON object containing the billing details |
∟ billing_address | A JSON object containing the billing address |
∟ country | The cardholder’s billing country code |
The cardholder’s billing email address | |
∟ address1 | The cardholder’s billing address line |
∟ phone_number | The cardholder’s billing phone number |
∟ city | The cardholder’s billing city |
∟ state | The cardholder’s billing state |
∟ postal_code | The cardholder’s postal code |
∟ shipping_address | A JSON object containing the shipping address |
∟ country | The cardholder’s shipping country code |
The cardholder’s shipping email address | |
∟ address1 | The cardholder’s shipping address line |
∟ phone_number | The cardholder’s shipping phone number |
∟ city | The cardholder’s shipping city |
∟ state | The cardholder’s shipping state |
∟ postal_code | The cardholder’s shipping code |
device_details | A JSON object containing the details of device |
∟ visited_ip | IP address of payment page |
∟ customer_ip | IP address of card holder |
∟ payment_details | A JSON object containing the Payment details of the transaction |
∟ amount | The amount value of the transaction |
∟ response_code | The acquirer response code |
∟ auth_code | The acquirer authorisation code |
∟ currency | The currency of the transaction |
∟ payment_method | The payment card type : Credit Card or Debit Card |
∟ scheme | The card brand scheme (VISA, MASTERCARD or AMEX) |
∟ card | A JSON object containing details of card |
∟ name | The cardholders’ name on card |
∟ number | The card number |
∟ exp_month | The expiry month of the card. Eg. 12 for December |
∟ exp_year | The expiry year of the card. Eg. 24 for year 2024 |
∟ transaction_details | A JSON object containing details of the transaction |
∟ id | The Transaction ID of the transaction |
∟ ref | The Authorisation code of the transaction |
∟ timestamp | Date and Time of the transaction |
∟ merchant_txn_ref | The merchant transaction reference ID |
∟ stored_payment_method_id | The stored payment method ID (Token) |
risk-details | A JSON object containing details of risk |
risk_score | The risk score |
Capture
Method: POST
URL : /api/v1/server-to-server-interface/capture
This payload allows to perform a Capture transaction.
Request Attributes
Perform an Capture Transaction:
{
"transactionId": "<transaction id>",
"amount": "<amount>",
"merchant_id": "<DASMID>",
"notes": "<reference>"
}
Attributes | Type | Mandatory | Max Length | Description |
---|---|---|---|---|
transactionId | string | yes | 36 | The original transaction ID of the Authorised transaction. |
amount | Int/String | yes | as per Bank | The amount to be captured. This should not exceed the amount authorised. Amount limit depends on the bank. |
merchant_id | string | yes | 10 | The merchant ID (DASMID) |
notes | string | no | 128 | The reference of the capture transaction (optional) |
Response Attributes
Sample Response:
{
"success": true,
"status_code": 201,
"is_live": false,
"transaction_type": "CAPTURE",
"gateway_response": {
"version": "1",
"type": "INFO",
"message": "Amount successfully captured.",
"code": "INFO0001"
},
"merchant_details": {
"legal_name": "<Company Legal Name>",
"mid": "<DASMID>",
"merchant_txn_ref": "<transaction ref>"
},
"payment_details": {
"amount": "<amount>",
"response_code": 0,
"auth_code": "<auth code>",
"currency": null,
"payment_method": "<payment method>",
"scheme": "<card scheme>",
"card": {
"name": "<card holder name>",
"number": "<card number>",
"exp_month": "<expiry month>",
"exp_year": "<expiry year>"
}
},
"transaction_details": {
"id": "3c7a5eed-1f18-4cf0-8efe-ca0b948073e4",
"ref": "<ref>",
"timestamp": "<date and time>",
"merchant_txn_ref": "<transaction ref>"
}
}
Attributes | Description |
---|---|
success | true on successful transaction. false on failure. |
status_code | The status code of the transaction |
is_live | true if live transaction. false if test transaction |
transaction_type | The transaction type : CAPTURE for Authorised transaction |
gateway_response | A JSON object containing the response from the gateway |
version | The version of the gateway |
type | Type of response, INFO for informative |
message | The message response from the gateway |
code | Message code of response |
merchant_details | A JSON object containing the details of merchant |
legal_name | The merchant’s legal name |
mid | The merchant ID (DASMID) |
merchant_txn_ref | The merchant transaction reference |
payment_details | A JSON object containing the Payment details of the transaction |
∟ amount | The amount value of the transaction |
∟ response_code | The acquirer response code |
∟ auth_code | The acquirer authorisation code |
∟ currency | The currency of the transaction |
∟ payment_method | The payment card type : Credit Card or Debit Card |
∟ scheme | The card brand scheme (VISA, MASTERCARD or AMEX) |
∟ card | A JSON object containing details of card |
∟ name | The cardholders’ name on card |
∟ number | The card number |
∟ exp_month | The expiry month of the card. Eg. 12 for December |
∟ exp_year | The expiry year of the card. Eg. 24 for year 2024 |
∟ transaction_details | A JSON object containing details of the transaction |
∟ id | The Transaction ID of the transaction |
∟ ref | The Authorisation code of the transaction |
∟ timestamp | Date and Time of the transaction |
∟ merchant_txn_ref | The merchant transaction reference ID |
Refund
Method: POST
URL : /api/v1/server-to-server-interface/refund
This payload allows to perform a Refund transaction.
Request Attributes
Perform an Refund Transaction:
{
"transactionId": "<transaction id>",
"amount": "<amount>",
"merchant_id": "<DASMID>",
"notes": "<reference>"
}
Attributes | Type | Mandatory | Max Length | Description |
---|---|---|---|---|
transactionId | string | yes | 36 | The original transaction ID of the captured transaction. |
amount | Int/String | yes | as per Bank | The amount to be refunded. This should not exceed the amount captured. Amount limit depends on the bank. |
merchant_id | string | yes | 10 | The merchant ID (DASMID) |
notes | string | no | 128 | The reference of the refund transaction (optional) |
Response Attributes
Sample Response:
{
"success": true,
"status_code": 201,
"is_live": false,
"transaction_type": "REFUND",
"gateway_response": {
"version": "1",
"type": "INFO",
"message": "Amount successfully refunded.",
"code": "INFO0002"
},
"merchant_details": {
"legal_name": "<Company Legal Name>",
"mid": "<DASMID>",
"merchant_txn_ref": "<transaction ref>"
},
"payment_details": {
"amount": "<amount>",
"response_code": 0,
"auth_code": "<auth code>",
"currency": null,
"payment_method": "<payment method>",
"scheme": "<card scheme>",
"card": {
"name": "<card holder name>",
"number": "<card number>",
"exp_month": "<expiry month>",
"exp_year": "<expiry year>"
}
},
"transaction_details": {
"id": "3c7a5eed-1f18-4cf0-8efe-ca0b948073e4",
"ref": "<ref>",
"timestamp": "<date and time>",
"merchant_txn_ref": "<transaction ref>",
"stored_payment_method_id": "e9df6c8b-5341-4c74-b6a7-3f05468747cd"
}
}
Attributes | Description |
---|---|
success | true on successful transaction. false on failure. |
status_code | The status code of the transaction |
is_live | true if live transaction. false if test transaction |
transaction_type | The transaction type : REFUND for any Captured transaction |
gateway_response | A JSON object containing the response from the gateway |
version | The version of the gateway |
type | Type of response, INFO for informative |
message | The message response from the gateway |
code | Message code of response |
merchant_details | A JSON object containing the details of merchant |
∟ legal_name | The merchant’s legal name |
∟ mid | The merchant ID (DASMID) |
∟ merchant_txn_ref | The merchant transaction reference |
∟ payment_details | A JSON object containing the Payment details of the transaction |
∟ amount | The amount value of the transaction |
∟ response_code | The acquirer response code |
∟ auth_code | The acquirer authorisation code |
∟ currency | The currency of the transaction |
∟ payment_method | The payment card type : Credit Card or Debit Card |
∟ scheme | The card brand scheme (VISA, MASTERCARD or AMEX) |
∟ card | A JSON object containing details of card |
∟ name | The cardholders’ name on card |
∟ number | The card number |
∟ exp_month | The expiry month of the card. Eg. 12 for December |
∟ exp_year | The expiry year of the card. Eg. 24 for year 2024 |
transaction_details | A JSON object containing details of the transaction |
∟ id | The Transaction ID of the transaction |
∟ ref | The Authorisation code of the transaction |
∟ timestamp | Date and Time of the transaction |
∟ merchant_txn_ref | The merchant transaction reference ID |
∟ stored_payment_method_id | The stored payment method ID (Token) |
Void Authorisation
Method: POST
URL : /api/v1/server-to-server-interface/void
This payload allows to perform a Void transaction.
Request Attributes
Perform a Void Transaction:
{
"transactionId": "<transaction id>",
"merchant_id": "<DASMID>"
}
Attributes | Type | Mandatory | Max Length | Description |
---|---|---|---|---|
transactionId | string | yes | 36 | The original transaction ID of the Authorised transaction. |
merchant_id | string | yes | 10 | The merchant ID (DASMID) |
Response Attributes
Sample Response:
{
"success": true,
"status_code": 201,
"is_live": false,
"transaction_type": "VOID",
"gateway_response": {
"version": "1",
"type": "INFO",
"message": "Amount Successfully Cancelled.",
"code": "INFO0003"
},
"merchant_details": {
"legal_name": "<Company Legal Name>",
"mid": "<DASMID>",
"merchant_txn_ref": "<transaction ref>"
},
"payment_details": {
"amount": "<amount>",
"response_code": 0,
"auth_code": "<auth code>",
"currency": null,
"payment_method": "<payment method>",
"scheme": "<card scheme>",
"card": {
"name": "<card holder name>",
"number": "<card number>",
"exp_month": "<expiry month>",
"exp_year": "<expiry year>"
}
},
"transaction_details": {
"id": "3c7a5eed-1f18-4cf0-8efe-ca0b948073e4",
"ref": "<ref>",
"timestamp": "<date and time>",
"merchant_txn_ref": "<transaction ref>"
}
}
Attributes | Description |
---|---|
success | true on successful transaction. false on failure. |
status_code | The status code of the transaction |
is_live | true if live transaction. false if test transaction |
transaction_type | The transaction type : VOID for any Authorised transaction |
gateway_response | A JSON object containing the response from the gateway |
version | The version of the gateway |
type | Type of response, INFO for informative |
message | The message response from the gateway |
code | Message code of response |
merchant_details | A JSON object containing the details of merchant |
∟ legal_name | The merchant’s legal name |
∟ mid | The merchant ID (DASMID) |
∟ merchant_txn_ref | The merchant transaction reference |
payment_details | A JSON object containing the Payment details of the transaction |
∟ amount | The amount value of the transaction |
∟ response_code | The acquirer response code |
∟ auth_code | The acquirer authorisation code |
∟ currency | The currency of the transaction |
∟ payment_method | The payment card type : Credit Card or Debit Card |
∟ scheme | The card brand scheme (VISA, MASTERCARD or AMEX) |
∟ card | A JSON object containing details of card |
∟ name | The cardholders’ name on card |
∟ number | The card number |
∟ exp_month | The expiry month of the card. Eg. 12 for December |
∟ exp_year | The expiry year of the card. Eg. 24 for year 2024 |
transaction_details | A JSON object containing details of the transaction |
∟ id | The Transaction ID of the transaction |
∟ ref | The Authorisation code of the transaction |
∟ timestamp | Date and Time of the transaction |
∟ merchant_txn_ref | The merchant transaction reference ID |
Webhook Handler
Response Status: Successful Transaction
Response Attributes
Sample Response:
{
"success": true,
"status_code": 201,
"is_live": false,
"transaction_type": "CAPTURE",
"gateway_response": {
"version": "1",
"type": "INFO",
"message": "Payment Successful.",
"code": "INFO0000"
},
"return_url_details": {
"webhook_url": "",
"success_url": "",
"decline_url": ""
},
"merchant_details": {
"legal_name": "<Merchant Legal Name>",
"mid": "<DASMID>",
"merchant_txn_ref": "<transaction ref>",
"billing_details": {
"billing_address": {
"country": "<country code>",
"postal_code": "<postcode>",
"email": "<email address>",
"phone_number": "<phone number>",
"address1": "<address1>",
"address2": "<address2>",
"city": "<city>",
"state": "<state>"
},
"shipping_address": {
"country": "<country code>",
"postal_code": "<postcode>",
"email": "<email address>",
"phone_number": "<phone number>",
"address1": "<address1>",
"address2": "<address2>",
"city": "<city>",
"state": "<state>"
}
},
},
"device_details": {
"visited_ip": "<ip address>",
"customer_ip": "<ip address>",
},
"payment_details": {
"amount": "<amount>",
"response_code": 0,
"auth_code": "<auth code>",
"currency": null,
"payment_method": "<payment method>",
"scheme": "<card scheme>",
"card": {
"name": "<card holder name>",
"number": "<card number>",
"exp_month": "<expiry month>",
"exp_year": "<expiry year>"
}
},
"transaction_details": {
"id": "bdd7e008-93e5-4777-a4f7-6eb2343cce4d",
"ref": "<ref>",
"timestamp": "<date and time>",
"merchant_txn_ref": "<transaction ref>",
"stored_payment_method_id": "e9df6c8b-5341-4c74-b6a7-3f05468747cd"
},
"risk-details": {
"risk_score": null
}
}
Attributes | Description |
---|---|
success | true on successful transaction. false on failure. |
status_code | The status code of the transaction |
is_live | true if live transaction. false if test transaction |
transaction_type | The transaction type : VOID for any Authorised transaction |
gateway_response | A JSON object containing the response from the gateway |
version | The version of the gateway |
type | Type of response, INFO for informative |
message | The message response from the gateway |
code | Message code of response |
merchant_details | A JSON object containing the details of merchant |
∟ legal_name | The merchant’s legal name |
∟ mid | The merchant ID (DASMID) |
∟ merchant_txn_ref | The merchant transaction reference |
billing_details | A JSON object containing the billing details |
∟ billing_address | A JSON object containing the billing address |
∟ country | The cardholder’s billing country code |
The cardholder’s billing email address | |
∟ address1 | The cardholder’s billing address line |
∟ phone_number | The cardholder’s billing phone number |
∟ city | The cardholder’s billing city |
∟ state | The cardholder’s billing state |
∟ postal_code | The cardholder’s postal code |
∟ shipping_address | A JSON object containing the shipping address |
∟ country | The cardholder’s shipping country code |
The cardholder’s shipping email address | |
∟ address1 | The cardholder’s shipping address line |
∟ phone_number | The cardholder’s shipping phone number |
∟ city | The cardholder’s shipping city |
∟ state | The cardholder’s shipping state |
∟ postal_code | The cardholder’s shipping code |
device_details | A JSON object containing the details of device |
∟ visited_ip | IP address of payment page |
∟ customer_ip | IP address of card holder |
payment_details | A JSON object containing the Payment details of the transaction |
∟ amount | The amount value of the transaction |
∟ response_code | The acquirer response code |
∟ auth_code | The acquirer authorisation code |
∟ currency | The currency of the transaction |
∟ payment_method | The payment card type : Credit Card or Debit Card |
∟ scheme | The card brand scheme (VISA, MASTERCARD or AMEX) |
∟ card | A JSON object containing details of card |
∟ name | The cardholders’ name on card |
∟ number | The card number |
∟ exp_month | The expiry month of the card. Eg. 12 for December |
∟ exp_year | The expiry year of the card. Eg. 24 for year 2024 |
∟ transaction_details | A JSON object containing details of the transaction |
∟ id | The Transaction ID of the transaction |
∟ ref | The Authorisation code of the transaction |
∟ timestamp | Date and Time of the transaction |
∟ merchant_txn_ref | The merchant transaction reference ID |
∟ stored_payment_method_id | The stored payment method ID (Token) |
risk-details | A JSON object containing details of risk |
∟ risk_score | The risk score |
Transaction Status
Method: GET
URL : /api/v1/server-to-server-interface/transaction/status/<Transaction Id>
Request Attributes
Attributes | Type | Mandatory | Max Length | Description |
---|---|---|---|---|
transactionId | string | yes | 36 | The original transaction ID of the Pre-Auth, Capture, Refund or Void transaction. |
Response Attributes
Sample Response:
{
"success": true,
"status_code": 200,
"is_live": false,
"transaction_type": "PRE_AUTH",
"gateway_response": {
"version": "1",
"type": "INFO",
"message": "Payment Successful.",
"code": "INFO0000"
},
"merchant_details": {
"legal_name": "Intersnack Cashew Company Pte. Ltd.",
"mid": "JP00000328",
"merchant_txn_ref": "qwe"
},
"payment_details": {
"amount": 2,
"response_code": 0,
"responseDescription": "The transaction was completed successfully.",
"auth_code": "212496",
"currency": "JPY",
"payment_method": "ECMC-SSL",
"scheme": "MASTERCARD",
"card": {
"name": "Sharma",
"number": "545454******5454",
"exp_month": "12",
"exp_year": "25"
}
},
"transaction_details": {
"id": "b2c120f8-6d34-4f8f-a736-b34943dde2d7",
"ref": 38922,
"timestamp": "2023-08-09T09:17:43.000Z",
"billing_details": {
"billing_address": {
"country": "JP",
"email": "test1.test@gmail.com",
"address1": "47A123",
"phone_number": "N/A",
"city": "ACambridge",
"state": "Cambridgeshire",
"postal_code": "CB94BQ"
},
"shipping_address": {
"country": "IN",
"email": "shiptest@test.com",
"address1": "adfadfdsf",
"phone_number": "N/A",
"city": "ACambridge",
"state": "Cambridgeshire",
"postal_code": "3534534"
}
}
},
"risk_details": {
"risk_score": null
}
}
Attributes | Description |
---|---|
success | true on successful transaction. false on failure. |
status_code | The status code of the transaction |
is_live | true if live transaction. false if test transaction |
transaction_type | The transaction type: PRE_AUTH for Authorised or CAPTURE for Purchase transaction |
gateway_response | A JSON object containing the response from the gateway |
version | The version of the gateway |
type | Type of response, INFO for informative |
message | The message response from the gateway |
code | Message code of response |
merchant_details | A JSON object containing the details of merchant |
∟ legal_name | The merchant’s legal name |
∟ mid | The merchant ID (DASMID) |
∟ merchant_txn_ref | The merchant transaction reference |
billing_details | A JSON object containing the billing details |
∟ billing_address | A JSON object containing the billing address |
∟ country | The cardholder’s billing country code |
The cardholder’s billing email address | |
∟ address1 | The cardholder’s billing address line |
∟ phone_number | The cardholder’s billing phone number |
∟ city | The cardholder’s billing city |
∟ state | The cardholder’s billing state |
∟ postal_code | The cardholder’s postal code |
∟ shipping_address | A JSON object containing the shipping address |
∟ country | The cardholder’s shipping country code |
The cardholder’s shipping email address | |
∟ address1 | The cardholder’s shipping address line |
∟ phone_number | The cardholder’s shipping phone number |
∟ city | The cardholder’s shipping city |
∟ state | The cardholder’s shipping state |
∟ postal_code | The cardholder’s shipping code |
device_details | A JSON object containing the details of device |
∟ visited_ip | IP address of payment page |
∟ customer_ip | IP address of card holder |
payment_details | A JSON object containing the Payment details of the transaction |
∟ amount | The amount value of the transaction |
∟ response_code | The acquirer response code |
∟ auth_code | The acquirer authorisation code |
∟ currency | The currency of the transaction |
∟ payment_method | The payment card type : Credit Card or Debit Card |
∟ scheme | The card brand scheme (VISA, MASTERCARD or AMEX) |
∟ card | A JSON object containing details of card |
∟ name | The cardholders’ name on card |
∟ number | The card number |
∟ exp_month | The expiry month of the card. Eg. 12 for December |
∟ exp_year | The expiry year of the card. Eg. 24 for year 2024 |
transaction_details | A JSON object containing details of the transaction |
∟ id | The Transaction ID of the transaction |
∟ ref | The Authorisation code of the transaction |
∟ timestamp | Date and Time of the transaction |
∟ merchant_txn_ref | The merchant transaction reference ID |
risk-details | A JSON object containing details of risk |
∟ risk_score | The risk score |
Generate Card Token (Purchase/Authorisation)
Method: POST
URL : /api/v1/server-to-server-interface/payment
This payload allows to generate a card token (store payment method) for a purchase or an authorisation.
Request Attributes
Perform a Purchase or Authorisation Transaction:
{
"amount":"<amount>",
"currency": "JPY",
"card": {
"cvc": "<cvv>",
"expiry_month": "<month>",
"expiry_year": "<year>",
"name": "<name>",
"number": "<card number>"
},
"payment_method":{
"type":"scheme",
"store_payment_method":true
},
"merchant_txn_ref" :"<ref>",
"customer_ip" : "<ip>",
"merchant_id" : "<DASMID>",
"return_url":{
"webhook_url": "",
"success_url": "",
"decline_url": ""
},
"billing_address":{
"country": "JP",
"email": "<email>",
"address1": "<address 1>",
"phone_number": "<phone number>",
"city": "<city>",
"state": "<state>",
"postal_code": "<postcode>"
},
"shipping_address":{
"country": "JP",
"email": "<email>",
"address1": "<address 1>",
"phone_number": "<phone number>",
"city": "<city>",
"state": "<state>",
"postal_code": "<postcode>"
},
"time_zone": "Asia/Kuala_Lumpur",
"cardinal_session_id":""
}
Attributes | Type | Mandatory | Max Length | Description |
---|---|---|---|---|
amount | float/string/int | yes | as per Bank | The amount of the transaction. Amount limit depends on the bank. |
currency | string | yes | 3 | The abbreviation of the processing currency of the product (ex. Japanese Yen: JPY) |
card | object | yes | A JSON object containing the card details | |
cvc | string | yes | 4 | The security code of the card (3 digits code and 4 digits code for AMEX cards) |
expiry_month | string | yes | 2 | The expiry month of the card. Eg. 12 for December |
expiry_year | string | yes | 2 | The expiry year of the card. Eg. 24 for year 2024 |
name | string | yes | 255 | The cardholder’s name on card |
number | string | yes | 16 | The card number |
payment_method | object | yes | A JSON object containing Payment Method | |
type | string | yes | 128 | The Card Scheme (Like VISA, MASTERCARD) |
store_payment_method | boolean | yes | 5 | True to generate token or False not to generate |
merchant_txn_ref | string | yes | 45 | The merchant transaction reference ID |
customer_ip | string | yes | 45 | The IP address of the cardholder |
merchant_id | string | yes | 128 | The merchant ID (DASMID) |
return_url | object | no | A JSON object containing the return URL | |
webhook_url | string | no | 255 | The webhook URL link |
success_url | string | no | 255 | The redirect URL link after payment get successful. |
decline_url | string | no | 255 | The redirect URL link after payment get failed. |
billing_address | object | yes | A JSON object containing the billing address of cardholder | |
∟ country | string | yes | 2 | The cardholder’s billing country code |
string | yes | 45 | The cardholder’s billing email address | |
∟ Address1 | string | yes | 199 | The cardholder’s billing address line |
∟ phone_number | string | yes | 20 | The cardholder’s billing phone number |
∟ city | string | yes | 65 | The cardholder’s billing city |
∟ state | string | yes | 65 | The cardholder’s billing state |
∟ postal_code | string | yes | 45 | The cardholder’s postal code |
shipping_address | object | no | A JSON object containing the shipping address of cardholder. This object is optional. | |
∟ country | string | no | 2 | The cardholder’s shipping country code |
string | no | 45 | The cardholder’s shipping email address | |
∟ address1 | string | no | 199 | The cardholder’s shipping address line |
∟ phone_number | string | no | 20 | The cardholder’s shipping phone number |
∟ city | string | no | 65 | The cardholder’s shipping city |
∟ state | string | no | 65 | The cardholder’s shipping state |
∟ postal_code | string | no | 45 | The cardholder’s shipping postal code |
time_zone | string | yes | 128 | The country time zone of the Transaction |
cardinal_session_id | string | no | 128 | The cardinal session Id |
Response Attributes
Sample Response:
{
"success": true,
"status_code": 201,
"is_live": false,
"transaction_type": "<transaction type>",
"gateway_response": {
"version": "1",
"type": "INFO",
"message": "Payment Successful.",
"code": "INFO0000"
},
"merchant_details": {
"legal_name": "<Merchant Legal Name>",
"mid": "<DASMID>",
"merchant_txn_ref": "<transaction ref>",
"billing_details": {
"billing_address": {
"country": "<country code>",
"email": "<email address>",
"address1": "<address1>",
"phone_number": "<phone number>",
"city": "<city>",
"state": "<state>",
"postal_code": "<postcode>"
},
"shipping_address": {
"country": "<country code>",
"email": "<email address>",
"address1": "<address1>",
"phone_number": "<phone number>",
"city": "<city>",
"state": "<state>",
"postal_code": "<postcode>"
}
},
"device_details": {
"visited_ip": "<ip address>",
"customer_ip": "<ip address>"
}
},
"payment_details": {
"amount": "<amount>",
"response_code": 0,
"auth_code": "<auth code>",
"currency": "JPY",
"payment_method": "<payment method>",
"scheme": "<card scheme>",
"card": {
"name": "<card holder name>",
"number": "<card number>",
"exp_month": "<expiry month>",
"exp_year": "<expiry year>"
}
},
"transaction_details": {
"id": "bdd7e008-93e5-4777-a4f7-6eb2343cce4d",
"ref": "<ref>",
"timestamp": "<date and time>",
"merchant_txn_ref": "<transaction ref>",
"stored_payment_method_id": "e9df6c8b-5341-4c74-b6a7-3f05468747cd"
},
"risk-details": {
"risk_score": null
}
}
Attributes | Description |
---|---|
success | true on successful transaction. false on failure. |
status_code | The status code of the transaction. |
is_live | true if live transaction. false if test transaction. |
transaction_type | The transaction type: CAPTURE for Purchase transaction & PRE_AUTH for authorization transaction. |
gateway_response | A JSON object containing the response from the gateway. |
version | The version of the gateway. |
type | Type of response, INFO for informative. |
message | The message response from the gateway. |
code | Message code of response. |
merchant_details | A JSON object containing the details of the merchant. |
∟ legal_name | The merchant’s legal name. |
∟ mid | The merchant ID (DASMID). |
∟ merchant_txn_ref | The merchant transaction reference. |
billing_details | A JSON object containing the billing details. |
∟ billing_address | A JSON object containing the billing address |
∟ country | The cardholder’s billing country code |
The cardholder’s billing email address | |
∟ address1 | The cardholder’s billing address line |
∟ phone_number | The cardholder’s billing phone number |
∟ city | The cardholder’s billing city |
∟ state | The cardholder’s billing state |
∟ postal_code | The cardholder’s postal code |
∟ shipping_address | A JSON object containing the shipping address |
∟ country | The cardholder’s shipping country code |
The cardholder’s shipping email address | |
∟ address1 | The cardholder’s shipping address line |
∟ phone_number | The cardholder’s shipping phone number |
∟ city | The cardholder’s shipping city |
∟ state | The cardholder’s shipping state |
∟ postal_code | The cardholder’s shipping code |
device_details | A JSON object containing the details of the device. |
∟ visited_ip | IP address of the payment page. |
∟ customer_ip | IP address of the cardholder. |
payment_details | A JSON object containing the Payment details of the transaction. |
∟ amount | The amount value of the transaction. |
∟ response_code | The acquirer response code. |
∟ auth_code | The acquirer authorization code. |
∟ currency | The processing currency of the transaction. |
∟ payment_method | The payment card type: Credit Card or Debit Card. |
∟ scheme | The card brand scheme (VISA, MASTERCARD, or AMEX). |
∟ card | A JSON object containing details of the card. |
∟ name | The cardholders’ name on the card. |
∟ number | The card number. |
∟ exp_month | The expiry month of the card. Eg. 12 for December. |
∟ exp_year | The expiry year of the card. Eg. 24 for year 2024. |
transaction_details | A JSON object containing details of the transaction. |
∟ id | The Transaction ID of the transaction. |
∟ ref | The Authorization code of the transaction. |
∟ timestamp | Date and Time of the transaction. |
∟ merchant_txn_ref | The merchant transaction reference ID. |
∟ stored_payment_method_id | The stored payment method ID (Token). |
∟ risk-details | A JSON object containing details of risk. |
∟ risk_score | The risk score. |
Use of Card Token (Purchase/Authorisation)
Method: POST
URL : /api/v1/server-to-server-interface/payment
This payload allows to use a card token (store payment method) for a purchase or an authorisation.
Request Attributes
Perform a Purchase or Authorisation Transaction:
{
"amount":"<amount>",
"currency": "JPY"
"payment_method":{
"type":"scheme",
"store_payment_method":true,
"stored_payment_method_id": "e9df6c8b-5341-4c74-b6a7-3f05468747cd"
},
"merchant_txn_ref" :"<ref>",
"customer_ip" : "<ip>",
"merchant_id" : "<DASMID>",
"return_url":{
"webhook_url": "",
"success_url": "",
"decline_url": ""
},
"billing_address":{
"country": "JP",
"email": "<email>",
"address1": "<address 1>",
"phone_number": "<phone number>",
"city": "<city>",
"state": "<state>",
"postal_code": "<postcode>"
},
"shipping_address":{
"country": "JP",
"email": "<email>",
"address1": "<address 1>",
"phone_number": "<phone number>",
"city": "<city>",
"state": "<state>",
"postal_code": "<postcode>"
},
"time_zone": "Asia/Kuala_Lumpur",
"cardinal_session_id":""
}
Attributes | Type | Mandatory | Max Length | Description |
---|---|---|---|---|
amount | float/string/int | yes | as per Bank | The amount of the transaction. Amount limit depends on the bank. |
currency | string | yes | 3 | The abbreviation of the processing currency of the product (ex. Japanese Yen: JPY) |
payment_method | object | yes | A JSON object containing Payment Method | |
type | string | yes | 128 | The Card Scheme (Like VISA, MASTERCARD) |
store_payment_method | boolean | yes | 5 | True to use token or False not to use |
stored_payment_method_id | string | yes | 128 | The stored payment method ID (Token) |
merchant_txn_ref | string | yes | 45 | The merchant transaction reference ID |
customer_ip | string | yes | 45 | The IP address of the cardholder |
merchant_id | string | yes | 128 | The merchant ID (DASMID) |
return_url | object | no | A JSON object containing the return URL | |
webhook_url | string | no | 255 | The webhook URL link |
success_url | string | no | 255 | The redirect URL link after payment get successful. |
decline_url | string | no | 255 | The redirect URL link after payment get failed. |
billing_address | object | yes | A JSON object containing the billing address of cardholder | |
∟ country | string | yes | 2 | The cardholder’s billing country code |
string | yes | 45 | The cardholder’s billing email address | |
∟ Address1 | string | yes | 199 | The cardholder’s billing address line |
∟ phone_number | string | yes | 20 | The cardholder’s billing phone number |
∟ city | string | yes | 65 | The cardholder’s billing city |
∟ state | string | yes | 65 | The cardholder’s billing state |
∟ postal_code | string | yes | 45 | The cardholder’s postal code |
shipping_address | object | no | A JSON object containing the shipping address of cardholder. This object is optional. | |
∟ country | string | no | 2 | The cardholder’s shipping country code |
string | no | 45 | The cardholder’s shipping email address | |
∟ address1 | string | no | 199 | The cardholder’s shipping address line |
∟ phone_number | string | no | 20 | The cardholder’s shipping phone number |
∟ city | string | no | 65 | The cardholder’s shipping city |
∟ state | string | no | 65 | The cardholder’s shipping state |
∟ postal_code | string | no | 45 | The cardholder’s shipping postal code |
∟ time_zone | string | yes | 128 | The country time zone of the Transaction |
∟ cardinal_session_id | string | no | 128 | The cardinal session Id |
Response Attributes
Sample Response:
{
"success": true,
"status_code": 201,
"is_live": false,
"transaction_type": "<transaction type>",
"gateway_response": {
"version": "1",
"type": "INFO",
"message": "Payment Successful.",
"code": "INFO0000"
},
"merchant_details": {
"legal_name": "<Merchant Legal Name>",
"mid": "<DASMID>",
"merchant_txn_ref": "<transaction ref>",
"billing_details": {
"billing_address": {
"country": "<country code>",
"email": "<email address>",
"address1": "<address1>",
"phone_number": "<phone number>",
"city": "<city>",
"state": "<state>",
"postal_code": "<postcode>"
},
"shipping_address": {
"country": "<country code>",
"email": "<email address>",
"address1": "<address1>",
"phone_number": "<phone number>",
"city": "<city>",
"state": "<state>",
"postal_code": "<postcode>"
}
},
"device_details": {
"visited_ip": "<ip address>",
"customer_ip": "<ip address>"
}
},
"payment_details": {
"amount": "<amount>",
"response_code": 0,
"auth_code": "<auth code>",
"currency": "JPY",
"payment_method": "<payment method>",
"scheme": "<card scheme>",
"card": {
"name": "<card holder name>",
"number": "<card number>",
"exp_month": "<expiry month>",
"exp_year": "<expiry year>"
}
},
"transaction_details": {
"id": "bdd7e008-93e5-4777-a4f7-6eb2343cce4d",
"ref": "<ref>",
"timestamp": "<date and time>",
"merchant_txn_ref": "<transaction ref>",
"stored_payment_method_id": "e9df6c8b-5341-4c74-b6a7-3f05468747cd"
},
"risk-details": {
"risk_score": null
}
}
Attributes | Description |
---|---|
success | true on successful transaction. false on failure. |
status_code | The status code of the transaction. |
is_live | true if live transaction. false if test transaction. |
transaction_type | The transaction type: CAPTURE for Purchase transaction & PRE_AUTH for authorization transaction. |
gateway_response | A JSON object containing the response from the gateway. |
version | The version of the gateway. |
type | Type of response, INFO for informative. |
message | The message response from the gateway. |
code | Message code of response. |
merchant_details | A JSON object containing the details of the merchant. |
∟ legal_name | The merchant’s legal name. |
∟ mid | The merchant ID (DASMID). |
∟ merchant_txn_ref | The merchant transaction reference. |
billing_details | A JSON object containing the billing details. |
∟ billing_address | A JSON object containing the billing address |
∟ country | The cardholder’s billing country code |
The cardholder’s billing email address | |
∟ address1 | The cardholder’s billing address line |
∟ phone_number | The cardholder’s billing phone number |
∟ city | The cardholder’s billing city |
∟ state | The cardholder’s billing state |
∟ postal_code | The cardholder’s postal code |
∟ shipping_address | A JSON object containing the shipping address |
∟ country | The cardholder’s shipping country code |
The cardholder’s shipping email address | |
∟ address1 | The cardholder’s shipping address line |
∟ phone_number | The cardholder’s shipping phone number |
∟ city | The cardholder’s shipping city |
∟ state | The cardholder’s shipping state |
∟ postal_code | The cardholder’s shipping code |
device_details | A JSON object containing the details of the device. |
∟ visited_ip | IP address of payment page. |
∟ customer_ip | IP address of the cardholder. |
payment_details | A JSON object containing the Payment details of the transaction. |
∟ amount | The amount value of the transaction. |
∟ response_code | The acquirer response code. |
∟ auth_code | The acquirer authorization code. |
∟ currency | The processing currency of the transaction. |
∟ payment_method | The payment card type: Credit Card or Debit Card. |
∟ scheme | The card brand scheme (VISA, MASTERCARD, or AMEX). |
∟ card | A JSON object containing details of the card. |
∟ name | The cardholders’ name on the card. |
∟ number | The card number. |
∟ exp_month | The expiry month of the card. Eg. 12 for December. |
∟ exp_year | The expiry year of the card. Eg. 24 for year 2024. |
transaction_details | A JSON object containing details of the transaction. |
∟ id | The Transaction ID of the transaction. |
∟ ref | The Authorization code of the transaction. |
∟ timestamp | Date and Time of the transaction. |
∟ merchant_txn_ref | The merchant transaction reference ID. |
∟ stored_payment_method_id | The stored payment method ID (Token). |
risk-details | A JSON object containing details of risk. |
∟ risk_score | The risk score. |
Create Subscription
Method: POST
URL : /api/v1/server-to-server-interface/subscription/payment
This payload allows to perform a Subscription transaction.
Request Attributes
Perform a Purchase Transaction:
{
"amount":"<amount>",
"currency": "JPY",
"card": {
"cvc": "<cvv>",
"expiry_month": "<month>",
"expiry_year": "<year>",
"name": "<name>",
"number": "<card number>"
},
"merchant_txn_ref" :"<ref>",
"customer_ip" : "<ip>",
"merchant_id" : "<DASMID>",
"return_url":{
"webhook_url": "",
"success_url": "",
"decline_url": ""
},
"billing_address":{
"country": "JP",
"email": "<email>",
"address1": "<address 1>",
"phone_number": "<phone number>",
"city": "<city>",
"state": "<state>",
"postal_code": "<postcode>"
},
"shipping_address":{
"country": "JP",
"email": "<email>",
"address1": "<address 1>",
"phone_number": "<phone number>",
"city": "<city>",
"state": "<state>",
"postal_code": "<postcode>"
},
"time_zone": "Asia/Kuala_Lumpur",
"cardinal_session_id":"0_c7baff9e-d91a-4215-93e2-0b5fb8d41512",
"subscription": {
"plan_name": "Two day plan",
"plan_desc": "Two day plan",
"cycle_type": "DAYS",
"subscription_end_type": "CYCLE",
"cycle_interval": 1,
"max_cycle_count": 2,
"has_trial_period": false,
"trial_period_duration_type": "DAYS",
"trial_period_duration": 10,
"has_discount": true,
"discount_percentage": 10,
"discount_duration": 1
}
}
Attributes | Type | Mandatory | Max Length | Description |
---|---|---|---|---|
amount | float/string/int | yes | as per Bank | The amount of the transaction. Amount limit depends on the bank. |
currency | string | yes | 3 | The abbreviation of the processing currency of the product (ex. Japanese Yen: JPY) |
card | object | yes | A JSON object containing the card details | |
cvc | string | yes | 4 | The security code of the card (3 digits code and 4 digits code for AMEX cards) |
expiry_month | string | yes | 2 | The expiry month of the card. Eg. 12 for December |
expiry_year | string | yes | 2 | The expiry year of the card. Eg. 24 for year 2024 |
name | string | yes | 255 | The cardholder’s name on card |
number | string | yes | 16 | The card number |
merchant_txn_ref | string | yes | 45 | The merchant transaction reference ID |
customer_ip | string | yes | 45 | The IP address of the cardholder |
merchant_id | string | yes | 128 | The merchant ID (DASMID) |
return_url | object | no | A JSON object containing the return URL | |
webhook_url | string | no | 255 | The webhook URL link |
success_url | string | no | 255 | The redirect URL link after payment get successful. |
decline_url | string | no | 255 | The redirect URL link after payment get failed. |
billing_address | object | yes | A JSON object containing the billing address of cardholder. | |
∟ country | string | yes | 2 | The cardholder’s billing country code |
string | yes | 45 | The cardholder’s billing email address | |
∟ Address1 | string | yes | 199 | The cardholder’s billing address line |
∟ phone_number | string | yes | 20 | The cardholder’s billing phone number |
∟ city | string | yes | 65 | The cardholder’s billing city |
∟ state | string | yes | 65 | The cardholder’s billing state |
∟ postal_code | string | yes | 45 | The cardholder’s postal code |
shipping_address | object | no | A JSON object containing the shipping address of cardholder. This object is optional. | |
∟ country | string | no | 2 | The cardholder’s shipping country code |
string | no | 45 | The cardholder’s shipping email address | |
∟ address1 | string | no | 199 | The cardholder’s shipping address line |
∟ phone_number | string | no | 20 | The cardholder’s shipping phone number |
∟ city | string | no | 65 | The cardholder’s shipping city |
∟ state | string | no | 65 | The cardholder’s shipping state |
∟ postal_code | string | no | 45 | The cardholder’s shipping postal code |
∟ time_zone | string | yes | 128 | The country time zone of the Transaction |
∟ cardinal_session_id | string | yes | 128 | The cardinal session ID (3D Transactions) (mandatory for 3DS transactions only) |
∟ subscription | object | yes | A JSON object containing the subscription | |
∟ plan_name | string | yes | 100 | The name of the plan. |
∟ plan_desc | string | yes | 200 | The description of the plan |
∟ cycle_type | string | yes | Constant | Type of cycle (DAYS/MONTHS) |
∟ subscription_end_type | string | yes | Constant | Subscription Type (CYCLE: when defining the number of cycle) else it will be infinite |
∟ cycle_interval | int | yes | 9999 | The number of cycle intervals (mandatory if Subscription Type: CYCLE) |
∟ max_cycle_count | int | yes | 9999 | The number of cycles for the subscription (mandatory if Subscription Type: CYCLE) |
∟ has_trial_period | boolean | yes | 5 | True if the subscription has a trial period |
∟ trial_period_duration_type | string | yes | Constant | Type of Trial Period (DAYS, MONTHS) (mandatory if has_trial_period: True) |
∟ trial_period_duration | int | yes | 9999 | Duration of the Trial Period (mandatory if has_trial_period: True) |
∟ has_discount | boolean | yes | 5 | True if the Subscription has a discount |
∟ discount_percentage | int/float | yes | 100% | The percentage of discount (mandatory if has_discount: True) |
∟ discount_duration | int | yes | 9999 | The duration of the discount (mandatory if has_discount: True) |
Response Attributes
Sample Response:
{
"success": true,
"status_code": 201,
"is_live": false,
"transaction_type": "CAPTURE",
"gateway_response": {
"version": "1",
"type": "INFO",
"message": "Payment Successful.",
"code": "INFO0000"
},
"merchant_details": {
"legal_name": "<Merchant Legal Name>",
"mid": "<DASMID>",
"merchant_txn_ref": "<transaction ref>",
"billing_details": {
"billing_address": {
"country": "<country code>",
"email": "<email address>",
"address1": "<address1>",
"phone_number": "<phone number>",
"city": "<city>",
"state": "<state>",
"postal_code": "<postcode>"
},
"shipping_address": {
"country": "<country code>",
"email": "<email address>",
"address1": "<address1>",
"phone_number": "<phone number>",
"city": "<city>",
"state": "<state>",
"postal_code": "<postcode>"
}
},
"device_details": {
"visited_ip": "<ip address>",
"customer_ip": "<ip address>"
}
},
"payment_details": {
"amount": "<amount>",
"response_code": 0,
"auth_code": "<auth code>",
"currency": "JPY",
"payment_method": "<payment method>",
"scheme": "<card scheme>",
"card": {
"name": "<card holder name>",
"number": "<card number>",
"exp_month": "<expiry month>",
"exp_year": "<expiry year>"
}
},
"transaction_details": {
"id": "bdd7e008-93e5-4777-a4f7-6eb2343cce4d",
"ref": "<ref>",
"timestamp": "<date and time>",
"merchant_txn_ref": "<transaction ref>",
"stored_payment_method_id": null
},
"risk-details": {
"risk_score": null
},
"subscription_details": {
"id": "da39cae4-cf29-4e64-9438-1a7d0a76d4c3",
"type": "CYCLE",
"max_cycle_count": 2,
"status": "ACTIVE",
"completed_payment_cycle": 1,
"next_payment_date": "2023-08-29T05:25:24.094Z",
"next_payment_cycle": 2,
"subscription_plan_details": {
"name": "Two day plan",
"desc": "Two day plan",
"billing_cycle_type": "DAYS",
"billing_cycle_interval": 1,
"amount": 1000,
"ccy": "JPY",
"trial_period_duration": "",
"trial_period_duration_type": "NONE",
"plan_discount_percentage": 10,
"plan_discount_duration": 1
}
}
}
Attributes | Description |
---|---|
success | true on successful transaction. false on failure. |
status_code | The status code of the transaction. |
is_live | true if live transaction. false if test transaction. |
transaction_type | The transaction type: CAPTURE for Purchase transaction. |
gateway_response | A JSON object containing the response from the gateway. |
version | The version of the gateway. |
type | Type of response, INFO for informative. |
message | The message response from the gateway. |
code | Message code of response. |
merchant_details | A JSON object containing the details of the merchant. |
∟ legal_name | The merchant’s legal name. |
∟ mid | The merchant ID (DASMID). |
∟ merchant_txn_ref | The merchant transaction reference. |
billing_details | A JSON object containing the billing details. |
∟ billing_address | A JSON object containing the billing address |
∟ country | The cardholder’s billing country code |
The cardholder’s billing email address | |
∟ address1 | The cardholder’s billing address line |
∟ phone_number | The cardholder’s billing phone number |
∟ city | The cardholder’s billing city |
∟ state | The cardholder’s billing state |
∟ postal_code | The cardholder’s postal code |
∟ shipping_address | A JSON object containing the shipping address |
∟ country | The cardholder’s shipping country code |
The cardholder’s shipping email address | |
∟ address1 | The cardholder’s shipping address line |
∟ phone_number | The cardholder’s shipping phone number |
∟ city | The cardholder’s shipping city |
∟ state | The cardholder’s shipping state |
∟ postal_code | The cardholder’s shipping code |
device_details | A JSON object containing the details of the device. |
∟ visited_ip | IP address of payment page. |
∟ customer_ip | IP address of cardholder. |
payment_details | A JSON object containing the Payment details of the transaction. |
∟ amount | The amount value of the transaction. |
∟ response_code | The acquirer response code. |
∟ auth_code | The acquirer authorization code. |
∟ currency | The processing currency of the transaction. |
∟ payment_method | The payment card type: Credit Card or Debit Card. |
∟ scheme | The card brand scheme (VISA, MASTERCARD, or AMEX). |
∟ card | A JSON object containing details of the card. |
∟ name | The cardholder’s name on the card. |
∟ number | The card number. |
∟ exp_month | The expiry month of the card. Eg. 12 for December. |
∟ exp_year | The expiry year of the card. Eg. 24 for year 2024. |
∟ transaction_details | A JSON object containing details of the transaction. |
∟ id | The Transaction ID of the transaction. |
∟ ref | The Authorization code of the transaction. |
∟ timestamp | Date and Time of the transaction. |
∟ merchant_txn_ref | The merchant transaction reference ID. |
∟ stored_payment_method_id | The stored payment method ID (Token). |
risk-details | A JSON object containing details of risk. |
∟ risk_score | The risk score. |
subscription_details | A JSON object containing subscription details. |
∟ id | The Subscription ID. |
∟ type | The Type of subscription (CYCLE or Unlimited). |
∟ max_cycle_count | The number of maximum cycle. |
∟ status | Status of the subscription. |
∟ completed_payment_cycle | The number of completed payment cycle. |
∟ next_payment_date | The next payment date of the subscription. |
∟ next_payment_cycle | The next payment cycle number. |
subscription_plan_details | A JSON object containing subscription plan details. |
∟ name | The name of the subscription plan. |
∟ desc | The description of the subscription plan. |
∟ billing_cycle_type | Type of cycle (DAYS/MONTHS). |
∟ billing_cycle_interval | The number of cycle interval. |
∟ amount | The payment amount of the subscription plan. |
∟ ccy | The currency of the subscription transaction. |
∟ trial_period_duration | Duration of Trial Period (if has_trial_period: True). |
∟ trial_period_duration_type | Type of Trial Period (DAYS, MONTHS) (if has_trial_period: True). |
∟ plan_discount_percentage | The percentage of discount (if has_discount: True). |
∟ plan_discount_duration | The duration of discount (if has_discount: True). |
Subscription List
Method: GET
URL : /api/v1/server-to-server-interface/subscription/list
This URL will display a list of all Subscription transactions
Response Attributes
Sample Response:
{
"success": true,
"status_code": 200,
"is_live": false,
"subscription_details": [
{
"id": "0a0a8fe3-a084-48d2-becf-9926d9dbdaf3",
"type": "CYCLE",
"max_cycle_count": 2,
"status": "ACTIVE",
"completed_payment_cycle": 1,
"last_payment_status": "SUCCESSFUL",
"next_payment_date": "2023-09-23T13:44:18.647Z",
"next_payment_cycle": 2,
"subscription_plan_details": {
"name": "Two day plan",
"desc": "Two day plan",
"billing_cycle_type": "MONTHLY",
"billing_cycle_interval": "",
"amount": 101,
"ccy": "JPY",
"trial_period_duration": "",
"trial_period_duration_type": "NONE",
"plan_discount_percentage": "",
"plan_discount_duration": ""
},
"subscription_transcation_details": [
{
"id": "c853f15e-4464-4a4d-b1ea-045c6362684c",
"ref": 40453,
"cycle": 1,
"status": "PENDING",
"transaction_date": "2023-08-24T13:44:19.000Z",
"amount": 101,
"ccy": "JPY",
"event": "AUTHORISED"
}
]
}
]
}
Attributes | Description |
---|---|
success | true on successful transaction. false on failure. |
status_code | The status code of the transaction. |
is_live | true if live transaction. false if test transaction. |
subscription_details | A JSON object containing subscription details (can contain multiple subscriptions). |
∟ id | The Subscription ID. |
∟ type | The Type of subscription (CYCLE or Unlimited). |
∟ max_cycle_count | The number of maximum cycle. |
∟ status | Status of the subscription. |
∟ completed_payment_cycle | The number of completed payment cycle. |
∟ next_payment_date | The next payment date of the subscription. |
∟ next_payment_cycle | The next payment cycle number. |
subscription_plan_details | A JSON object containing subscription plan details. |
∟ name | The name of the subscription plan. |
∟ desc | The description of the subscription plan. |
∟ billing_cycle_type | Type of cycle (DAYS/MONTHS). |
∟ billing_cycle_interval | The number of cycle intervals. |
∟ amount | The payment amount of the subscription plan. |
∟ ccy | The currency of the subscription transaction. |
∟ trial_period_duration | Duration of Trial Period (if has_trial_period: True). |
∟ trial_period_duration_type | Type of Trial Period (DAYS, MONTHS) (if has_trial_period: True). |
∟ plan_discount_percentage | The percentage of discount (if has_discount: True). |
∟ plan_discount_duration | The duration of discount (if has_discount: True). |
Subscription_transaction_details | A JSON object containing subscription details (can contain multiple subscription transactions). |
∟ id | The Transaction ID of this subscription transaction. |
∟ ref | The reference of the subscription transaction. |
∟ cycle | The number of payment cycles of the subscription. |
∟ status | The status of the subscription transaction. |
∟ transaction_date | The date of the subscription transaction. |
∟ amount | The payment amount of the subscription transaction. |
∟ ccy | The currency of the subscription transaction. |
∟ event | The subscription transaction event. |
Subscription Details
Method: GET
URL : /api/v1/server-to-server-interface/subscription/<Subscription Id>
This URL will display the Subscription transaction details by Subscription ID
Request Attributes
Attributes | Type | Mandatory | Max Length | Description |
---|---|---|---|---|
Subscription ID | string | yes | 36 | The Subscription ID of the subscription. |
Response Attributes
Sample Response:
{
"success": true,
"status_code": 200,
"is_live": false,
"subscription_details": [
{
"id": "0a0a8fe3-a084-48d2-becf-9926d9dbdaf3",
"type": "CYCLE",
"max_cycle_count": 2,
"status": "ACTIVE",
"completed_payment_cycle": 1,
"last_payment_status": "SUCCESSFUL",
"next_payment_date": "2023-09-23T13:44:18.647Z",
"next_payment_cycle": 2,
"subscription_plan_details": {
"name": "Two day plan",
"desc": "Two day plan",
"billing_cycle_type": "MONTHLY",
"billing_cycle_interval": "",
"amount": 101,
"ccy": "JPY",
"trial_period_duration": "",
"trial_period_duration_type": "NONE",
"plan_discount_percentage": "",
"plan_discount_duration": ""
},
"subscription_transcation_details": [
{
"id": "c853f15e-4464-4a4d-b1ea-045c6362684c",
"ref": 40453,
"cycle": 1,
"status": "PENDING",
"transaction_date": "2023-08-24T13:44:19.000Z",
"amount": 101,
"ccy": "JPY",
"event": "AUTHORISED"
}
]
}
]
}
Attributes | Description |
---|---|
success | true on successful transaction. false on failure. |
status_code | The status code of the transaction. |
is_live | true if live transaction. false if test transaction. |
subscription_details | A JSON object containing subscription details. |
∟ id | The Subscription ID. |
∟ type | The Type of subscription (CYCLE or Unlimited). |
∟ max_cycle_count | The number of maximum cycle. |
∟ status | Status of the subscription. |
∟ completed_payment_cycle | The number of completed payment cycle. |
∟ next_payment_date | The next payment date of the subscription. |
∟ next_payment_cycle | The next payment cycle number. |
subscription_plan_details | A JSON object containing subscription plan details. |
∟ name | The name of the subscription plan. |
∟ desc | The description of the subscription plan. |
∟ billing_cycle_type | Type of cycle (DAYS/MONTHS). |
∟ billing_cycle_interval | The number of cycle intervals. |
∟ amount | The payment amount of the subscription plan. |
∟ ccy | The currency of the subscription transaction. |
∟ trial_period_duration | Duration of Trial Period (if has_trial_period: True). |
∟ trial_period_duration_type | Type of Trial Period (DAYS, MONTHS) (if has_trial_period: True). |
∟ plan_discount_percentage | The percentage of discount (if has_discount: True). |
∟ plan_discount_duration | The duration of discount (if has_discount: True). |
Subscription_transaction_details | A JSON object containing subscription details (can contain multiple subscription transactions). |
∟ id | The Transaction ID of this subscription transaction. |
∟ ref | The reference of the subscription transaction. |
∟ cycle | The number of payment cycles of the subscription. |
∟ status | The status of the subscription transaction. |
∟ transaction_date | The date of the subscription transaction. |
∟ amount | The payment amount of the subscription transaction. |
∟ ccy | The currency of the subscription transaction. |
∟ event | The subscription transaction event. |
Subscription Pause
Method: GET
URL : /api/v1/server-to-server-interface/subscription/<Subscription ID>/pause
Request Attributes
Attributes | Type | Mandatory | Max Length | Description |
---|---|---|---|---|
Subscription ID | string | yes | 36 | The Subscription ID of the subscription. |
Response Attributes
Sample Response:
{
"success": true,
"status_code": 200,
"is_live": false,
"gateway_response": {
"version": "1",
"type": "INFO",
"message": "Subscription Updated.",
"code": "INFO3000"
},
"subscription_details": {
"id": "da39cae4-cf29-4e64-9438-1a7d0a76d4c3",
"type": "CYCLE",
"max_cycle_count": 2,
"status": "PAUSED",
"completed_payment_cycle": 1,
"last_payment_status": "SUCCESSFUL",
"next_payment_date": "2023-08-29T05:25:24.094Z",
"next_payment_cycle": 2,
"subscription_plan_details": {
"name": "Two day plan",
"desc": "Two day plan",
"billing_cycle_type": "DAYS",
"billing_cycle_interval": 1,
"amount": 1000,
"ccy": "JPY",
"trial_period_duration": "",
"trial_period_duration_type": "NONE",
"plan_discount_percentage": 10,
"plan_discount_duration": 1
},
"subscription_transcation_details": [
{
"id": "ca72d9a9-ba1a-432b-9c53-b21fac13cea3",
"ref": 40842,
"cycle": 1,
"status": "SUCCESSFUL",
"transaction_date": "2023-08-28T05:25:24.000Z",
"amount": 900,
"ccy": "JPY",
"event": "CAPTURED"
}
]
}
}
Attributes | Description |
---|---|
success | true on successful transaction. false on failure. |
status_code | The status code of the transaction. |
is_live | true if live transaction. false if test transaction. |
subscription_details | A JSON object containing subscription details. |
∟ id | The Subscription ID. |
∟ type | The Type of subscription (CYCLE or Unlimited). |
∟ max_cycle_count | The number of maximum cycle. |
∟ status | Status of the subscription. |
∟ completed_payment_cycle | The number of completed payment cycle. |
∟ next_payment_date | The next payment date of the subscription. |
∟ next_payment_cycle | The next payment cycle number. |
subscription_plan_details | A JSON object containing subscription plan details. |
∟ name | The name of the subscription plan. |
∟ desc | The description of the subscription plan. |
∟ billing_cycle_type | Type of cycle (DAYS/MONTHS). |
∟ billing_cycle_interval | The number of cycle intervals. |
∟ amount | The payment amount of the subscription plan. |
∟ ccy | The currency of the subscription transaction. |
∟ trial_period_duration | Duration of Trial Period (if has_trial_period: True). |
∟ trial_period_duration_type | Type of Trial Period (DAYS, MONTHS) (if has_trial_period: True). |
∟ plan_discount_percentage | The percentage of discount (if has_discount: True). |
∟ plan_discount_duration | The duration of discount (if has_discount: True). |
Subscription_transaction_details | A JSON object containing subscription details (can contain multiple subscription transactions). |
∟ id | The Transaction ID of this subscription transaction. |
∟ ref | The reference of the subscription transaction. |
∟ cycle | The number of payment cycles of the subscription. |
∟ status | The status of the subscription transaction. |
∟ transaction_date | The date of the subscription transaction. |
∟ amount | The payment amount of the subscription transaction. |
∟ ccy | The currency of the subscription transaction. |
∟ event | The subscription transaction event. |
Subscription Resume
Method: GET
URL : /api/v1/server-to-server-interface/subscription/<Subscription ID>/resume
Request Attributes
Attributes | Type | Mandatory | Max Length | Description |
---|---|---|---|---|
Subscription ID | string | yes | 36 | The Subscription ID of the subscription. |
Response Attributes
Sample Response:
{
"success": true,
"status_code": 200,
"is_live": false,
"gateway_response": {
"version": "1",
"type": "INFO",
"message": "Subscription Updated.",
"code": "INFO3000"
},
"subscription_details": {
"id": "da39cae4-cf29-4e64-9438-1a7d0a76d4c3",
"type": "CYCLE",
"max_cycle_count": 2,
"status": "ACTIVE",
"completed_payment_cycle": 1,
"last_payment_status": "SUCCESSFUL",
"next_payment_date": "2023-08-29T05:25:24.094Z",
"next_payment_cycle": 2,
"subscription_plan_details": {
"name": "Two day plan",
"desc": "Two day plan",
"billing_cycle_type": "DAYS",
"billing_cycle_interval": 1,
"amount": 1000,
"ccy": "JPY",
"trial_period_duration": "",
"trial_period_duration_type": "NONE",
"plan_discount_percentage": 10,
"plan_discount_duration": 1
},
"subscription_transcation_details": [
{
"id": "ca72d9a9-ba1a-432b-9c53-b21fac13cea3",
"ref": 40842,
"cycle": 1,
"status": "SUCCESSFUL",
"transaction_date": "2023-08-28T05:25:24.000Z",
"amount": 900,
"ccy": "JPY",
"event": "CAPTURED"
}
]
}
}
Attributes | Description |
---|---|
success | true on successful transaction. false on failure. |
status_code | The status code of the transaction. |
is_live | true if live transaction. false if test transaction. |
subscription_details | A JSON object containing subscription details. |
∟ id | The Subscription ID. |
∟ type | The Type of subscription (CYCLE or Unlimited). |
∟ max_cycle_count | The number of maximum cycle. |
∟ status | Status of the subscription. |
∟ completed_payment_cycle | The number of completed payment cycle. |
∟ next_payment_date | The next payment date of the subscription. |
∟ next_payment_cycle | The next payment cycle number. |
subscription_plan_details | A JSON object containing subscription plan details. |
∟ name | The name of the subscription plan. |
∟ desc | The description of the subscription plan. |
∟ billing_cycle_type | Type of cycle (DAYS/MONTHS). |
∟ billing_cycle_interval | The number of cycle intervals. |
∟ amount | The payment amount of the subscription plan. |
∟ ccy | The currency of the subscription transaction. |
∟ trial_period_duration | Duration of Trial Period (if has_trial_period: True). |
∟ trial_period_duration_type | Type of Trial Period (DAYS, MONTHS) (if has_trial_period: True). |
∟ plan_discount_percentage | The percentage of discount (if has_discount: True). |
∟ plan_discount_duration | The duration of discount (if has_discount: True). |
Subscription_transaction_details | A JSON object containing subscription details (can contain multiple subscription transactions). |
∟ id | The Transaction ID of this subscription transaction. |
∟ ref | The reference of the subscription transaction. |
∟ cycle | The number of payment cycles of the subscription. |
∟ status | The status of the subscription transaction. |
∟ transaction_date | The date of the subscription transaction. |
∟ amount | The payment amount of the subscription transaction. |
∟ ccy | The currency of the subscription transaction. |
∟ event | The subscription transaction event. |
Subscription Cancel
Method: GET
URL : /api/v1/server-to-server-interface/subscription/<Subscription ID>/cancel
Request Attributes
Attributes | Type | Mandatory | Max Length | Description |
---|---|---|---|---|
Subscription ID | string | yes | 36 | The Subscription ID of the subscription. |
Response Attributes
Sample Response:
{
"success": true,
"status_code": 200,
"is_live": false,
"gateway_response": {
"version": "1",
"type": "INFO",
"message": "Subscription Updated.",
"code": "INFO3000"
},
"subscription_details": {
"id": "da39cae4-cf29-4e64-9438-1a7d0a76d4c3",
"type": "CYCLE",
"max_cycle_count": 2,
"status": "CANCELLED",
"completed_payment_cycle": 1,
"last_payment_status": "SUCCESSFUL",
"next_payment_date": "2023-08-29T05:25:24.094Z",
"next_payment_cycle": 2,
"subscription_plan_details": {
"name": "Two day plan",
"desc": "Two day plan",
"billing_cycle_type": "DAYS",
"billing_cycle_interval": 1,
"amount": 1000,
"ccy": "JPY",
"trial_period_duration": "",
"trial_period_duration_type": "NONE",
"plan_discount_percentage": 10,
"plan_discount_duration": 1
},
"subscription_transcation_details": [
{
"id": "ca72d9a9-ba1a-432b-9c53-b21fac13cea3",
"ref": 40842,
"cycle": 1,
"status": "SUCCESSFUL",
"transaction_date": "2023-08-28T05:25:24.000Z",
"amount": 900,
"ccy": "JPY",
"event": "CAPTURED"
}
]
}
}
Attributes | Description |
---|---|
success | true on successful transaction. false on failure. |
status_code | The status code of the transaction. |
is_live | true if live transaction. false if test transaction. |
subscription_details | A JSON object containing subscription details. |
∟ id | The Subscription ID. |
∟ type | The Type of subscription (CYCLE or Unlimited). |
∟ max_cycle_count | The number of maximum cycle. |
∟ status | Status of the subscription. |
∟ completed_payment_cycle | The number of completed payment cycle. |
∟ next_payment_date | The next payment date of the subscription. |
∟ next_payment_cycle | The next payment cycle number. |
subscription_plan_details | A JSON object containing subscription plan details. |
∟ name | The name of the subscription plan. |
∟ desc | The description of the subscription plan. |
∟ billing_cycle_type | Type of cycle (DAYS/MONTHS). |
∟ billing_cycle_interval | The number of cycle intervals. |
∟ amount | The payment amount of the subscription plan. |
∟ ccy | The currency of the subscription transaction. |
∟ trial_period_duration | Duration of Trial Period (if has_trial_period: True). |
∟ trial_period_duration_type | Type of Trial Period (DAYS, MONTHS) (if has_trial_period: True). |
∟ plan_discount_percentage | The percentage of discount (if has_discount: True). |
∟ plan_discount_duration | The duration of discount (if has_discount: True). |
Subscription_transaction_details | A JSON object containing subscription details (can contain multiple subscription transactions). |
∟ id | The Transaction ID of this subscription transaction. |
∟ ref | The reference of the subscription transaction. |
∟ cycle | The number of payment cycles of the subscription. |
∟ status | The status of the subscription transaction. |
∟ transaction_date | The date of the subscription transaction. |
∟ amount | The payment amount of the subscription transaction. |
∟ ccy | The currency of the subscription transaction. |
∟ event | The subscription transaction event. |
Gateway Codes
HTTP Response
HTTP response codes returned by the gateway, indicating the status of the request
HTTP Response | Description |
---|---|
200 | Request Successful |
201 | Resource Created |
400 | Bad Request |
401 | Unauthorized |
404 | Not Found |
406 | Not Acceptable (Invalid card) |
412 | Precondition Failed |
500 | Server Error |
502 | Bad Gateway |
504 | Gateway Time-out |
Response Codes
Response codes returned by the gateway, indicating the status of the request.
Response Code | Description |
---|---|
-1 | DAS Gateway Error |
0 | Payment Successful |
1 | Refer to card issuer OR Referred Call Authorization Center |
2 | Refer to card issuer special condition |
3 | Invalid merchant OR Invalid merchant or service provider |
4 | Capture card OR Declined Retain Card |
5 | Do not honour OR Declined |
6 | Error |
7 | Failed Signature |
8 | Honour with ID OR Transaction approved with ID |
10 | Partial Approval |
12 | Invalid transaction |
13 | Invalid amount OR Invalid amount (currency conversion overflow) |
14 | Invalid card number OR Invalid account number (no such number) |
15 | Invalid issuer |
19 | Re-enter transaction |
20 | ERROR OR No action taken (unable to back out prior) |
25 | Unable to locate record in file or account |
28 | File is temporarily unavailable |
30 | Format error OR ERROR |
34 | FRAUD SUSPICION |
39 | No credit account |
41 | Lost card OR Pickup card (lost card) |
43 | Stolen card OR Pickup card (stolen card) |
51 | Insufficient funds OR Insufficient funds/over credit limit |
52 | No checking account |
53 | No savings account |
54 | Expired card OR Declined Expired Card |
55 | Invalid PIN OR ERROR |
57 | Transaction not permitted to issuer/cardholder |
58 | Transaction not permitted to acquirer/terminal |
59 | Suspected Fraud (Visa) |
61 | Exceeds withdrawal amount limit |
62 | Restricted card OR Restricted card (in Country Exclusion table) |
63 | Unable to authorize OR ERROR |
64 | Unable to authorize |
65 | Exceeds withdrawal count limit OR Authentication requested |
68 | Time out |
70 | Contact Card Issuer |
71 | PIN Not Changed |
75 | Allowable number of PIN tries exceeded |
76 | Invalid/nonexistent OR Invalid/nonexistent specified |
77 | Invalid/nonexistent OR Invalid/nonexistent specified |
78 | Invalid/nonexistent account specified (general) |
79 | Already reversed (Visa) OR Lifecycle reasons (Mastercard) |
80 | Visa transactions: credit issuer unavailable. |
82 | Negative CAM dCVV iCVV or CVV results (Visa) OR Policy reasons (Mastercard) |
83 | STIP cannot approve (Visa) OR Fraud Security related reasons (Mastercard) |
84 | Invalid Authorization Life Cycle |
85 | Not declined. Valid for AVS only balance Inq OR No reason to decline a request |
86 | Cannot Verify PIN |
88 | Unable to authorize |
89 | Unacceptable PIN - Transaction Declined - Retry OR Ineligible to receive |
91 | Authorization System or issuer system inoperative OR Authorization System or issuer system inop |
92 | Unable to route transaction OR Destination cannot be found for routing |
93 | Transaction cannot be completed violation of law |
94 | Duplicate transmission detected |
96 | System error OR Unable to authorize |
98 | ERROR |
99 | ERROR |
397 | Surcharge amount not permitted on Visa |
398 | Surcharge not supported |
442 | Acquirer Institution Identification Code in the request message is not registered at CAFIS |
443 | CAFIS System Error. Try again |
444 | The acquirer system is busy. Try again |
445 | Acquirer system error. Try again |
446 | The acquirer system has closed. Try again |
447 | CAFIS System Error. Try again |
448 | Illegal encoding format. Try again |
449 | CAFIS System Error. Try again |
450 | CAFIS System Error. Try again |
451 | Advice message already received |
452 | CAFIS detected a timeout when it sent the message to the acquirer. Try again |
453 | CAFIS System Error. Try again |
454 | CAFIS System Error. Try again |
455 | CAFIS System Error. Try again |
456 | CAFIS System Error. Try again |
457 | CAFIS System Error. Try again |
458 | The acquirer does not support the service |
459 | CAFIS System Error. Try again |
460 | CAFIS System Error. Try again |
577 | The card is unusable. |
578 | The transaction is pending. |
579 | PIN is incorrect |
580 | Security Code is incorrect |
581 | Security Code is not set |
582 | JIS2 stripe information is invalid |
583 | The card is maxed out for the day. (insufficient funds) |
584 | The amount exceeds the limit for the day. (insufficient funds) |
586 | The card is invalid. (MOD 10 check failed) |
587 | The card is invalid (lost/stolen). |
588 | The card is invalid. (MOD 10 check failed) |
589 | Message element Primary Account Number value is invalid (MOD 10 check failed) |
590 | Message element Merchant Type value is invalid |
591 | Message element Transaction Amount value is invalid |
592 | Message element Tax and Postage value is invalid |
593 | Bonus Count value is invalid |
594 | Bonus Month value is invalid |
595 | Bonus Amount value is invalid |
596 | First Payment Month value is invalid |
597 | Instalment Count value is invalid |
598 | Instalment Amount value is invalid |
599 | First Payment Amount value is invalid |
600 | Message elements Service Code Business Code and Message Code value is invalid |
601 | Message element Payment Division value is invalid |
602 | Message element Inquiry Division value is invalid |
603 | Message element Cancel Division value is invalid |
604 | Message element Original Payment Division value is invalid |
605 | The card is expired. |
606 | The card is not applicable to the service. |
607 | The acquirer service is completed. |
608 | The invalid card (lost/stolen) has an error. |
609 | The request message cannot be processed for some reason. |
610 | The request message for which a transaction is not supported is received |
611 | The request message from a centre which has not made the contact. |
622 | Message element Service Code setting error |
623 | Message element Business Code setting error |
624 | Message element Message Code setting error |
625 | Message element Processor Code setting error |
626 | Message element Merchant Code setting error |
627 | Message element Transaction Identifier setting error |
628 | Message element Processor Transaction Date-Time setting error |
629 | Message element Card Acceptor Terminal Identification setting error |
630 | Message element Encryption Method Code setting error |
631 | Message element Key Encryption Key Index in Use setting error |
632 | Message element Processor Authentication Key Index setting error |
633 | Message element Message Encryption Key setting error |
634 | Message element Message Authentication Code setting error |
635 | Message element Acquirer Institution Identification Code setting error |
636 | Message element Primary Account Number setting error |
637 | Message element Expiration Date setting error |
638 | Message element Track-2 Data setting error |
639 | Message element PIN Data setting error |
640 | Message element Merchant Type setting error |
641 | Message element Transaction Amount setting error |
642 | Message element Tax and Postage setting error |
643 | Message element Point of Service Data Code setting error |
645 | Message element Cancel Division setting error |
646 | Message element Original Terminal Processing Serial Number setting error |
647 | Message element Original Payment Division setting error |
658 | Message element Original Processor Transaction Date-Time setting error |
659 | Message element Original Transaction Identifier setting error |
660 | Message element Free Field setting error |
661 | Message element Terminal Processing Serial Number setting error |
662 | Message element Security Code setting error |
663 | Message element Electronic Commerce Indicator setting error |
664 | Message element XID setting error |
665 | Message element Accountholder Authentication Value setting error |
666 | Message element Transaction Status setting error |
667 | Message element Message Version Number setting error |
668 | Message element CAVV Algorithm setting error |
669 | Message element Recurring Flag setting error |
670 | Element Block (e.g. General Transaction Info setting error) |
671 | Combination of message elements Service Code and Message Code setting is incorrect |
672 | Message element Processor Authentication Key Index setting error |
673 | There is more than one original transaction to reverse. Unable to reverse the transaction |
674 | Combination of message elements Processor Code and Merchant Code setting is incorrect |
675 | Global GEAR System Error. Try Again. |
676 | Global GEAR System Error. Transaction result is unclear. |
677 | Global GEAR System Error. Transaction result is unclear. |
678 | Global GEAR System Error. Try Again. |
679 | Global GEAR System Error. Transaction result is unclear. |
680 | Global GEAR System Error. Transaction result is unclear. |
681 | Global GEAR System Error. Try Again. |
682 | Global GEAR System Error. Transaction result is unclear. |
683 | Global GEAR System Error. Transaction result is unclear. |
694 | Global GEAR System Error. Transaction result is unclear. |
695 | Global GEAR System Error. Transaction result is unclear. |
696 | Global GEAR System Error. Transaction result is unclear. |
697 | Global GEAR System Error. Transaction result is unclear. |
698 | Global GEAR System Error. Transaction result is unclear. |
699 | Global GEAR System Error. Transaction result is unclear. |
700 | Global GEAR System Error. Transaction result is unclear. |
701 | Global GEAR System Error. Transaction result is unclear. |
702 | Global GEAR System Error. Transaction result is unclear. |
703 | Global GEAR System Error. Try Again. |
704 | Global GEAR System Error. Transaction result is unclear. |
705 | Global GEAR System Error. Try Again. |
828 | Unable to authorize |
831 | Cash service not available |
832 | Cash back request exceeds issuer limit |
833 | Resubmitted transaction over max days limit |
835 | Decline CVV2 failure |
836 | Transaction amount greater than preauthorized |
902 | Invalid biller information |
905 | Unable to authorize |
906 | Unable to authorize |
937 | Card Authentication failed |
972 | Stop Payment Order |
973 | Revocation of Authorization Order |
975 | Revocation of All Authorizations Order |
1044 | Approval keep first check |
1045 | Check OK no conversion |
1046 | Invalid RTTN |
1047 | Amount greater than limit |
1048 | Unpaid items failed NEG |
1049 | Duplicate check number |
1050 | MICR error |
1051 | Too many checks |
1198 | Forward to issuer |
1201 | Forward to issuer |
1263 | Unable to authorize |
1295 | Unknown |
Gateway Error Codes
Error codes returned by the gateway
Error Code | Applied Level | Risk Rule | Error Message |
---|---|---|---|
ERR3001 | Entity Level | Blacklist | “Card Country is found on Entity’s blacklist.” |
ERR3002 | Entity Level | IP Address | “Customer IP is found on Entity’s blacklist.” |
ERR3003 | Entity Level | BIN Blocking | “Card BIN is found on Entity’s blacklist.” |
ERR3004 | Entity Level | PAN Blocking | “PAN is found on Entity’s blacklist.” |
ERR3005 | Entity Level | Blacklist | “Card Country is found on Issuing Country blacklist.” |
ERR3006 | Product Level | Threshold Amount | “Transaction amount ‘undefined 0’ has exceeded the max threshold limit.” |
ERR3007 | Product Level | IP Address | “Customer IP Address is found on MID blacklist.” |
ERR3008 | Product Level | PAN Limit | “Velocity check - Same card number has been used more than 0 times in the last 0 minutes.” |
ERR3009 | Product Level | PAN Limit | “Velocity check - Same card number has been used more than 0 times in the last 0 hours.” |
ERR3010 | Product Level | PAN Limit | “Velocity check - Same card number has been used more than 0 times in the last 0 days.” |
ERR3011 | Product Level | PAN Limit | “Velocity check - Same card number has been used more than 0 times in the last 0 months.” |
ERR3012 | Product Level | IP Limit | “Velocity check- Attempts from same IP Address exceeds 0 times over the last 0 minutes.” |
ERR3013 | Product Level | IP Limit | “Velocity check- Attempts from same IP Address exceeds 0 times over the last 0 hours.” |
ERR3014 | Product Level | IP Limit | “Velocity check- Attempts from same IP Address exceeds 0 times over the last 0 days.” |
ERR3015 | Product Level | IP Limit | “Velocity check- Attempts from same IP Address exceeds 0 times over the last 0 months.” |
ERR3016 | Product Level | Threshold Amount | “Transaction amount ‘undefined 0’ is less than the min threshold limit.” |
ERR3017 | Product Level | IP Address | “Customer IP Address not whitelisted.” |
ERR3018 | Product Level | BIN | “BIN not whitelisted.” |
ERR3019 | Product Level | Refund Limit | “Velocity check - Refund limit exceeded.” |
ERR3020 | Product Level | Refund Volume | “Velocity check - Refund Volume limit exceeded.” |
VAL0035 | Product Level | Invalid Card Holder Name | “Invalid card holder name.” |
ERR0204 | Product Level | Balance | “You don’t have balance amount for refund.” |