Skip to main content

S2S CARD

Version: 5.2.0
Released: 2024/02/29

Introduction


This document describes integration procedures and POST protocol usage for e-commerce merchants.

S2S CARD protocol implements acquiring payments (purchases) with specific API interaction using.

⚠️ Pay attention

To work with S2S CARD protocol, merchants are required to comply with the Payment Card Industry Data Security Standards (PCI DSS).

Integration process


Merchant registration

Before you get an account to access Payment Platform, you must provide the following data to the Payment Platform administrator.

DataDescription
IP listList of your IP addresses, from which requests to Payment Platform will be sent
Callback URLURL which will be receiving the notifications of the processing results of your request to Payment Platform.
It is mandatory if your account supports 3D-Secure. The length of Notification URL should not be more
than 255 symbols.
Contact emailEmail address of Responsible Person who will monitor transactions, conduct refunds, etc.

With all Payment Platform POST requests at Notification URL the Merchant must return the string OK if he/she successfully received data or return ERROR.

⚠️ Pay attention

Note that the notification URL may be temporarily blocked due to the exhaustion of attempts to send a callback. In general, the system makes five attempts for a callback. In the case of unsuccessful callback sending (status code for the callback response not in the 2xx range), the system makes additional attempts to send a callback at 15-minute intervals (e.g., 15m, 30m, 45m). Five consecutive responses with a status code other than 2xx or no response will result in a 15-minute URL blocking. Upon the blocking of the notification URL, all merchants associated with this URL will cease to receive notifications. This blocking mechanism operates independently of specific transactions, merchants, or organizations; it is specifically linked to the URL. The URL is automatically unlocked after 15 minutes. Users also have the option to manually unlock the URL by adjusting the merchant callback URL in the admin panel (Configuration -> Merchants section). When manually unlocked, the sending of _notifications resumes immediately.

You should get the following information from administrator to begin working with the Payment Platform.

DataDescription
CLIENT_KEYUnique key to identify the account in Payment Platform (used as request parameter). In the administration platform this parametercorresponds to the Merchant key field
PASSWORDPassword for Client authentication in Payment Platform (used for calculating hash parameter). In the administration platform this parameter corresponds to the Password field
PAYMENT_URLURL to request the Payment Platform

Protocol Mapping

It is necessary to check the existence of the protocol mapping before using the S2S integration. Merchants can’t make payments if the S2S CARD protocol is not mapped.

Interaction with Payment Platform

For the transaction, you must send the server to server HTTPS POST request with fields listed below to Payment Platform URL (PAYMENT_URL). In response Payment Platform will return the JSON (http://json.org/) encoded string.

3DS features

If your account supports 3D-Secure and credit card supports 3D-Secure, then Payment Platform will return the link to the 3D-Secure Access Control Server to perform 3D-Secure verification. In this case, you need to redirect the cardholder at this link. If there are also some parameters except the link in the result, you will need to redirect the cardholder at this link together with the parameters using the method of data transmitting indicated in the same result.

In the case of 3D-Secure after verification on the side of the 3D-Secure server, the owner of a credit card will come back to your site using the link you specify in the sale request, and Payment Platform will return the result of transaction processing to the Notification URL action.

⚠️ NOTE:

As per our API for any 3DS transaction after request, we send to merchant response with:

  • redirect_url - URL to which the Merchant should redirect the Customer
  • redirect_params - Object of specific 3DS parameters. It is an array if redirect_params have no data. The availability of the redirect_params depends on the data transmitted by the acquirer. Redirect_params may be missing. It usually happens when redirect_method = GET (or others).
  • redirect_method - The method of transferring parameters (POST or GET)

Redirect_params is a value that depends on any particular acquirer. Possible redirect_params: PaReq, TermUrl, and many other multiple values. Each acquirer can send values in different ways and our interface is unified to be able to process redirects to all versions of 3DS and redirection regardless of the acquirer.

Our API states that the merchant has to take mentioned parameters as is and redirect users with them, no need to parse them, split them, or divide them.

e.g. in this case, you would simply POST that string AS IS to the redirect_url:

Sample request

Redirect parameters

For 3DS-payments, the response for SALE request may contain an object with the redirect parameters. The redirect parameters are provided in the "key-value" format.

To get the parameters in that format, you need to use an endpoint https://{PAYMENT_URL}/post.

Response with key-value format
    "redirect_params": {
"Param1": "Value1",
"Param2": "Value2"
}

As well you can receive redirect parameters as an array with objects that contain the name and value parameters.

To get the parameters in that format, you need to use an endpoint https://{PAYMENT_URL}/v2/post.

Response with "name" and "value" parameters
    "redirect_params": [
{
"name": "Param1",
"value": "Value1"
},
{
"name": "Param2",
"value": "Value2"
}
]

List of possible actions in Payment Platform

When you make request to Payment Platform, you need to specify action that needs to be done. Possible actions are:

ActionDescription
SALECreates SALE or AUTH transaction
CAPTURECreates CAPTURE transaction
CREDITVOIDCreates REVERSAL or REFUND transaction
VOIDCreates VOID transaction
DEBITCreates DEBIT transaction as a part of transfer flow
CREDIT2CARDCreates CREDIT2CARD transaction
GET_TRANS_STATUSGets status of transaction in Payment Platform
GET_TRANS_DETAILSGets details of the order from Payment platform
GET_TRANS_STATUS_BY_ORDERGets the status of the most recent transaction in the order's transaction subsequence from Payment platform
RECURRING_SALECreates SALE or AUTH transaction using previously used cardholder data
CARD2CARDCreates TRANSFER transaction – one-step transfer without split to debit and credit

Recurring schedule operations

ActionDescription
CREATE_SCHEDULECreates a new schedule object
PAUSE_SCHEDULESuspends the scheduled payments associated with schedule. A schedule can only be paused if its parameter "paused" has a value "N". Paused schedule can't be used for the new recurring payments until it is released via RUN_SCHEDULE
RUN_SCHEDULEReleases the schedule which was paused via PAUSE_SCHEDULE. It re-schedules cycle of payments and set the value "N" for "paused" parameter for schedule
DELETE_SCHEDULEDeleting schedule means that it can’t be used in the recurring payments
SCHEDULE_INFORetrieves the details of an existing schedule. You only need to supply the unique schedule identifier that was returned upon schedule creation
DESCHEDULEStops the payments by the schedule

Following actions cannot be made by request, they are initiated by Payment Platform in certain circumstances (e.g. issuer initiated chargeback) and you receive callback as a result.

ActionDescription
CHARGEBACKCHARGEBACK transaction was created in Payment Platform

List of possible transaction results and statuses

Result - value that system returns on request. Possible results are:

ResultDescription
SUCCESSAction was successfully completed in Payment Platform
DECLINEDResult of unsuccessful action in Payment Platform
REDIRECTAdditional action required from requester (Redirect to 3ds)
ACCEPTEDAction was accepted by Payment Platform, but will be completed later
ERRORRequest has errors and was not validated by Payment Platform

Status - actual status of transaction in Payment Platform. Possible statuses are:

StatusDescription
3DSThe transaction awaits 3D-Secure validation
REDIRECTThe transaction is redirected
PENDINGThe transaction awaits CAPTURE
PREPAREStatus is undetermined, final status will be sent in callback
SETTLEDSuccessful transaction
REVERSALTransaction for which reversal was made
REFUNDTransaction for which refund was made
VOIDTransaction for which void was made
CHARGEBACKTransaction for which chargeback was made
DECLINEDNot successful transaction

PAYMENT OPERATIONS

SALE request


Payment Platform supports two main operation type: Single Message System (SMS) and Dual Message System (DMS).

SMS is represented by SALE transaction. It is used for authorization and capture at a time. This operation is commonly used for immediate payments.

DMS is represented by AUTH and CAPTURE transactions. AUTH is used for authorization only, without capture. This operation used to hold the funds on card account (for example to check card validity).

SALE request is used to make both SALE and AUTH transactions.

If you want to make AUTH transaction, you need to use parameter auth with value Y.

If you want to send a payment for the specific sub-account (channel), you need to use channel_id, that specified in your Payment Platform account settings.

This request is sent by POST in the background (e.g. through PHP CURL).

Request parameters

ParameterDescriptionValuesRequired field
actionSaleSALE+
client_keyUnique key (client_key)UUID format value+
channel_idPayment channel (Sub-account)String up to 16 characters-
order_idTransaction ID in the Merchants systemString up to 255 characters+
order_amountThe amount of the transactionFormat depends on currency.
Send Integer type value for currencies with zero-exponent. Example: 1000
Send Float type value for currencies with exponents 2, 3, 4.
Format for 2-exponent currencies: XX.XX Example: 100.99
Pay attention that currencies 'UGX', 'JPY', 'KRW', 'CLP' must be send in the format XX.XX, with the zeros after comma. Example: 100.00
Format for 3-exponent currencies: XXX.XXX Example: 100.999.
Format for 4-exponent currencies: XXX.XXXX Example: 100.9999
+
order_currencyCurrency3-letter code+
order_descriptionDescription of the transaction (product name)String up to 1024 characters+
req_tokenSpecial attribute pointing for further tokenizationY or N (default N)-
card_tokenCredit card token valueString 64 characters-
card_numberCredit Card Number+ *
card_exp_monthMonth of expiry of the credit cardMonth in the form XX+ *
card_exp_yearYear of expiry of the credit cardYear in the form XXXX+ *
card_cvv2CVV/CVC2 credit card verification code3-4 symbols+
payer_first_nameCustomer's nameString up to 32 characters+
payer_last_nameCustomer's surnameString up to 32 characters+
payer_middle_nameCustomer's middle nameString up to 32 characters-
payer_birth_dateCustomer's birthdayformat yyyy-MM-dd, e.g. 1970-02-17-
payer_addressCustomer's addressString up to 255 characters+
payer_address2The adjoining road or locality (if required) of the сustomer's addressString up to 255 characters-
payer_house_numberCustomer's house or building numberString up to 9 characters-
payer_countryCustomer's country2-letter code+
payer_stateCustomer's stateString up to 32 characters-
payer_cityCustomer's cityString up to 40 characters+
payer_districtCustomer's district of cityString up to 32 characters-
payer_zipZIP-code of the CustomerString up to 10 characters+
payer_emailCustomer's emailString up to 256 characters+
payer_phoneCustomer's phoneString up to 32 characters+
payer_ipIP-address of the Customer
Both versions, IPv4 and IPv6, can be used. If you are sending IPv6, make sure the payment provider that processes the payments supports it.
XXX.XXX.XXX.XXX+
term_url_3dsURL to which Customer should be returned after 3D-SecureString up to 1024 characters+
term_url_targetName of, or keyword for a browsing context where Customer should be returned according to HTML specification.String up to 1024 characters
Possible values: _blank, _self, _parent, _top or custom iframe name (default _top).
Find the result of applying the values in the HTML standard description (Browsing context names)
-
recurring_initInitialization of the transaction with possible following recurringY or N (default N)-
schedule_idSchedule ID for recurring paymentsString-
authIndicates that transaction must be only authenticated, but not capturedY or N (default N)-
parametersObject that contains extra-parameters required by the acquirerFormat:
"parameters": {"param1" : "value1", "param2" : "value2", "param3" : "value3"}

See Appendix C for more details
-
hashSpecial signature to validate your request to Payment PlatformSee Appendix A, Formula 1+

*This field becomes optional if card_token is specified

If the optional parameter card_token and card data are specified, card_token will be ignored.

If the optional parameters req_token and card_token are specified, req_token will be ignored.

Response parameters

You will get JSON encoded string (see an example on Appendix B) with transaction result. If your account supports 3D-Secure, transaction result will be sent to your Notification URL.

Synchronous mode

Successful sale response
ParameterDescription
actionSALE
resultSUCCESS
statusPENDING / PREPARE / SETTLED; only PENDING when auth = Y
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in the Payment Platform
trans_dateTransaction date in the Payment Platform
descriptorDescriptor from the bank, the same as cardholder will see in the bank statement
recurring_tokenRecurring token (get if account support recurring sales and was initialization transaction for following recurring)
schedule_idSchedule ID for recurring payments. It is available if schedule is used for recurring sale
card_tokenIf the parameter req_token was enabled Payment Platform returns the token value
amountOrder amount
currencyCurrency
Unsuccessful sale response
ParameterDescription
actionSALE
resultDECLINED
statusDECLINED
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in the Payment Platform
trans_dateTransaction date in the Payment Platform
descriptorDescriptor from the bank, the same as cardholder will see in the bank statement
amountOrder amount
currencyCurrency
decline_reasonThe reason why the transaction was declined
3D-Secure transaction response
ParameterDescription
actionSALE
resultREDIRECT
status3DS / REDIRECT
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in the Payment Platform
trans_dateTransaction date in the Payment Platform
descriptorDescriptor from the bank, the same as cardholder will see in the bank statement
amountOrder amount
currencyCurrency
redirect_urlURL to which the Merchant should redirect the Customer
redirect_paramsObject of specific 3DS parameters. It is array if redirect_params have no data. The availability of the redirect_params depends on the data transmitted by the acquirer. redirect_params may be missing. It usually happens when redirect_method = GET
redirect_methodThe method of transferring parameters (POST / GET)

Callback parameters

Successful sale response
ParameterDescription
actionSALE
resultSUCCESS
statusPENDING/PREPARE/SETTLED
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in the Payment Platform
hash Special signature, used to validate callback, see Appendix A, Formula 2
recurring_tokenRecurring token (get if account support recurring sales and was initialization transaction for following recurring)
schedule_idIt is available if schedule is used for recurring sale
card_tokenIf the parameter req_token was enabled Payment Platform returns the token value
cardCard mask
card_expiration_dateCard expiration date
trans_dateTransaction date in the Payment Platform
descriptorDescriptor from the bank, the same as cardholder will see in the bank statement
amountOrder amount
currencyCurrency
exchange_rateRate used to make exchange.
It returns if the currency exchange has been applied for the payment.
exchange_rate_baseThe rate used in the double conversion to convert the original currency to the base currency.
It returns if the currency exchange has been applied for the payment.
exchange_currencyOriginal currency.
It returns if the currency exchange has been applied for the payment.
exchange_amountOriginal amount.
It returns if the currency exchange has been applied for the payment.
Unsuccessful sale response
ParameterDescription
actionSALE
resultDECLINED
statusDECLINED
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in the Payment Platform
trans_dateTransaction date in the Payment Platform
decline_reasonDescription of the cancellation of the transaction
hashSpecial signature, used to validate callback, see Appendix A, Formula 2
3D-Secure transaction response
ParameterDescription
actionSALE
resultREDIRECT
status3DS/REDIRECT
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in the Payment Platform
hashSpecial signature, used to validate callback, see Appendix A, Formula 2
trans_dateTransaction date in the Payment Platform
descriptorDescriptor from the bank, the same as cardholder will see in the bank statement
amountOrder amount
currencyCurrency
redirect_urlURL to which the Merchant should redirect the Customer
redirect_paramsObject with the parameters. It is array if redirect_params have no data. The availability of the redirect_params depends on the data transmitted by the acquirer. redirect_params may be missing. It usually happens when redirect_method = GET
redirect_methodThe method of transferring parameters (POST or GET)

CAPTURE request


CAPTURE request is used to submit previously authorized transaction (created by SALE request with parameter auth = Y). Hold funds will be transferred to Merchants account.

This request is sent by POST in the background (e.g. through PHP CURL).

Request parameters

ParameterDescriptionValuesRequired field
actionCapture previously authenticated transactionCAPTURE+
client_keyUnique key (client_key)UUID format value+
trans_idTransaction ID in the Payment PlatformUUID format value+
amountThe amount for capture. Only one partial capture is allowedFormat depends on currency.
Send Integer type value for currencies with zero-exponent. Example: 1000
Send Float type value for currencies with exponents 2, 3, 4.
Format for 2-exponent currencies: XX.XX Example: 100.99
Pay attention that currencies 'UGX', 'JPY', 'KRW', 'CLP' must be send in the format XX.XX, with the zeros after comma. Example: 100.00
Format for 3-exponent currencies: XXX.XXX Example: 100.999.
Format for 4-exponent currencies: XXX.XXXX Example: 100.9999
-
hashSpecial signature to validate your request to payment platformsee Appendix A, Formula 2+

Response parameters

Synchronous mode

Successful capture response
ParameterDescription
actionCAPTURE
resultSUCCESS
statusSETTLED
amountAmount of capture
order_idTransaction ID in the Merchants system
trans_idTransaction ID in the Payment Platform
trans_dateTransaction date in the Payment Platform
descriptorDescriptor from the bank, the same as cardholder will see in the bank statement
currencyCurrency
Unsuccessful capture response
ParameterDescription
actionCAPTURE
resultDECLINED
statusPENDING
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in the Payment Platform
trans_dateTransaction date in the Payment Platform
descriptorDescriptor from the bank, the same as cardholder will see in the bank statement
amountAmount of capture
currencyCurrency
decline_reasonThe reason why the capture was declined

Callback parameters

Successful capture response
ParameterDescription
actionCAPTURE
resultSUCCESS
statusSETTLED
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in the Payment Platform
amountAmount of capture
trans_dateTransaction date in the Payment Platform
descriptorDescriptor from the bank, the same as cardholder will see in the bank statement
currencyCurrency
hashSpecial signature, used to validate callback, see Appendix A, Formula 2
Unsuccessful capture response
ParameterDescription
actionCAPTURE
resultDECLINED
statusPENDING
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in the Payment Platform
decline_reasonThe reason why the capture was declined
hashSpecial signature, used to validate callback, see Appendix A, Formula 2

CREDITVOID request


CREDITVOID request is used to complete both REFUND and REVERSAL transactions.

REVERSAL transaction is used to cancel hold from funds on card account, previously authorized by AUTH transaction.

REVERSAL transaction is used to reverse completed debit transaction.

REFUND transaction is used to return funds to card account, previously submitted by SALE or CAPTURE transactions.

This request is sent by POST in the background (e.g. through PHP CURL).

Request parameters

ParameterDescriptionValuesRequired field
actionCREDITVOIDCREDITVOID+
client_keyUnique key (client_key)UUID format value+
trans_idTransaction ID in the Payment PlatformUUID format value+
amountThe amount of full or partial refund. If amount is not specified, full refund will be issued.
In case of partial refund this parameter is required. Several partial refunds are allowed
Format depends on currency.
Send Integer type value for currencies with zero-exponent. Example: 1000
Send Float type value for currencies with exponents 2, 3, 4.
Format for 2-exponent currencies: XX.XX Example: 100.99
Pay attention that currencies 'UGX', 'JPY', 'KRW', 'CLP' must be send in the format XX.XX, with the zeros after comma. Example: 100.00
Format for 3-exponent currencies: XXX.XXX Example: 100.999.
Format for 4-exponent currencies: XXX.XXXX Example: 100.9999
-
hashSpecial signature to validate your request to Payment Platformsee Appendix A, Formula 2+

Response parameters

Synchronous mode
ParameterDescription
actionCREDITVOID
resultACCEPTED
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in the Payment Platform

Callback parameters

Successful refund/reversal response
ParameterDescription
actionCREDITVOID
resultSUCCESS
statusREFUND/REVERSAL - for full refund
SETTLED - for partial refund
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in the Payment Platform
creditvoid_dateDate of the refund/reversal
amountAmount of refund
hashSpecial signature, used to validate callback, see Appendix A, Formula 2
Unsuccessful refund/reversal response
ParameterDescription
actionCREDITVOID
resultDECLINED
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in the Payment Platform
decline_reasonDescription of the cancellation of the transaction
hashSpecial signature, used to validate callback, see Appendix A, Formula 2

VOID request


The VOID request is used to cancel the operation which was performed the same financial day.

The cancellation is possible for the operations:

  • SALE
  • CAPTURE
  • SALE_RECURRING

The VOID request is allowed for the payments in SETTLED status only.

This request is sent by POST in the background (e.g. through PHP CURL).

Request parameters

ParameterDescriptionLimitationsRequired
actionAction to perform= VOID+
client_keyUnique client keyCLIENT_KEY+
trans_idTransaction ID in the Payment PlatformString up to 255 characters+
hashSpecial signature to validate your request to Payment PlatformSee Appendix A, Formula 2.+

Response parameters

You will get JSON encoded string with transaction result.

Successful void response
ParameterDescription
actionVOID
resultSUCCESS
statusVOID
order_idTransaction ID in the Client's system
trans_idTransaction ID in the Payment Platform
trans_dateTransaction date in the Payment Platform
Unsuccessful void response
ParameterDescription
actionVOID
resultDECLINED
statusSETTLED
order_idTransaction ID in the Client's system
trans_idTransaction ID in the Payment Platform
trans_dateTransaction date in the Payment Platform
decline_reasonThe reason why the transaction was declined

Callback parameters

Successful void response
ParameterDescription
actionVOID
resultSUCCESS
statusVOID
order_idTransaction ID in the Client's system
trans_idTransaction ID in the Payment Platform
trans_dateTransaction date in the Payment Platform
hashSpecial signature, used to validate callback. See Appendix A, Void signature.
Unsuccessful void response
ParameterDescription
actionVOID
resultDECLINED
statusSETTLED
order_idTransaction ID in the Client's system
trans_idTransaction ID in the Payment Platform
trans_dateTransaction date in the Payment Platform
decline_reasonThe reason why the transaction was declined
hashSpecial signature, used to validate callback. See Appendix A, Void signature.

DEBIT request

Use DEBIT action to create debit transaction as a part of transfer flow.

Request Parameters

ParameterDescriptionValuesRequired
actionAction that you want to perform. Fixed value.DEBIT+
client_keyUnique key
(CLIENT_KEY)
UUID format value+
order_idTransaction ID in the Merchants systemString up to 255 characters+
order_amountThe amount of the transactionNumbers in the format
XXXX.XX
+
order_currencyCurrencyCurrency+
order_descriptionDescription of the transaction (product name)String up to 1024 characters+
term_url_3dsURL to which Customer should be returned after 3D-SecureString up to 1024 characters+
card_numberCredit Card NumberCredit Card Number format+
card_exp_monthMonth of expiry of the credit cardMonth in the form XX+
card_exp_yearYear of expiry of the credit cardYear in the form XXXX+
card_cvv2CVV/CVC2 credit card verification code3-4 symbols+
payer_first_nameCustomer’s nameString up to 32 characters-
payer_last_nameCustomer’s surnameString up to 32 characters-
payer_middle_nameCustomer’s middle nameString up to 32 characters-
payer_birth_dateCustomer’s birthdayformat yyyy-MM-dd,
e.g. 1970-02-17
-
payer_addressCustomer’s addressString up to 255 characters-
payer_address2The adjoining road or locality (if required) of the сustomer’s addressString up to 255 characters-
payer_countryCustomer’s country2-letter code-
payer_stateCustomer’s stateString up to 32 characters-
payer_cityCustomer’s cityString up to 32 characters-
payer_zipZIP-code of the CustomerString up to 10 characters-
payer_emailCustomer’s emailString up to 256 characters-
payer_phoneCustomer’s phoneString up to 32 characters-
payer_ipIP-address of the CustomerXXX.XXX.XXX.XXX+
parametersObject that contains extra-parameters required by the acquirerFormat:
"parameters": {"param1": "value1", "param2": "value2", "param3": "value3"}
See Appendix C for more details
-
hashSpecial signature to validate your request to Payment PlatformSee Appendix A, Formula 1+

Response Parameters

You will get JSON encoded string with transaction result. If your account supports 3D-Secure, transaction result will be sent to your Notification URL.

Synchronous mode

Successful response
ParameterDescription
actionDEBIT
resultSUCCESS
status3DS / REDIRECT / SETTLED
order_idTransaction ID in the Merchant’s system
trans_idTransaction ID in the Payment Platform
trans_dateTransaction date in the Payment Platform
descriptorDescriptor from the bank, the same as payer will see in the bank statement
amountOrder amount
currencyCurrency
Unsuccessful response
ParameterDescription
actionDEBIT
resultDECLINED
statusDECLINED
order_idTransaction ID in the Merchant’s system
trans_idTransaction ID in the Payment Platform
trans_dateTransaction date in the Payment Platform
descriptorDescriptor from the bank, the same as payer will see in the bank statement
amountOrder amount
currencyCurrency
decline_reasonThe reason why the transaction was declined
3D-Secure transaction response
ParameterDescription
actionDEBIT
resultREDIRECT
status3DS / REDIRECT
order_idTransaction ID in the Merchant’s system
trans_idTransaction ID in the Payment Platform
trans_dateTransaction date in the Payment Platform
descriptorDescriptor from the bank, the same as payer will see in the bank statement
amountOrder amount
currencyCurrency
redirect_urlURL to which the Merchant should redirect the Customer
redirect_paramsObject of specific 3DS parameters.
It is array if redirect_params have no data. The availability of the redirect_params depends on the data transmitted by the acquirer. redirect_params may be missing.
It usually happens when redirect_method = GET
redirect_methodThe method of transferring parameters (POST / GET)

Callback parameters

Successful response

ParameterDescription
actionDEBIT
resultSUCCESS
statusREDIRECT / 3DS / SETTLED
order_idTransaction ID in the Merchant’s system
trans_idTransaction ID in the Payment Platform
trans_dateTransaction date in the Payment Platform
descriptorDescriptor from the bank, the same as payer will see in the bank statement
amountOrder amount
currencyCurrency
hashSpecial signature, used to validate callback, see Appendix A, Formula 2

Unsuccessful response

ParameterDescription
actionDEBIT
resultDECLINED
statusDECLINED
order_idTransaction ID in the Merchant’s system
trans_idTransaction ID in the Payment Platform
trans_dateTransaction date in the Payment Platform
descriptorDescriptor from the bank, the same as payer will see in the bank statement
amountOrder amount
currencyCurrency
decline_reasonDescription of the cancellation of the transaction
hashSpecial signature, used to validate callback, see Appendix A, Formula 2

3D-Secure transaction response

ParameterDescription
actionDEBIT
resultREDIRECT
status3DS / REDIRECT
order_idTransaction ID in the Merchant’s system
trans_idTransaction ID in the Payment Platform
hashSpecial signature, used to validate callback, see Appendix A, Formula 2
trans_dateTransaction date in the Payment Platform
descriptorDescriptor from the bank, the same as payer will see in the bank statement
amountOrder amount
currencyCurrency
redirect_urlURL to which the Merchant should redirect the Customer
redirect_paramsObject with the parameters.
It is array if redirect_params have no data. The availability of the redirect_params depends on the data transmitted by the acquirer. redirect_params may be missing.
It usually happens when redirect_method = GET
redirect_methodThe method of transferring parameters (POST or GET)

CREDIT2CARD request


CREDIT2CARD protocol implements money transfers transactions between merchant's account and credit card (Card Credit or Account-to-Card payment) with using specific API.

If you want to send a payment for the specific sub-account (channel), you need to use channel_id that specified in your Payment Platform account settings.

This request is sent by POST in the background (e.g., through PHP CURL).

Request Parameters

ParameterDescriptionValuesRequired
actionAction typeCREDIT2CARD+
client_keyUnique client key (CLIENT_KEY)+
channel_idPayment channel (Sub-account)String up to 16 characters-
order_idTransaction ID in the Clients systemString up to 255 characters+
order_amountThe amount of the transactionFormat depends on currency.
Send Integer type value for currencies with zero-exponent. Example: 1000
Send Float type value for currencies with exponents 2, 3, 4.
Format for 2-exponent currencies: XX.XX Example: 100.99
Pay attention that currencies 'UGX', 'JPY', 'KRW', 'CLP' must be send in the format XX.XX, with the zeros after comma. Example: 100.00
Format for 3-exponent currencies: XXX.XXX Example: 100.999.
Format for 4-exponent currencies: XXX.XXXX Example: 100.9999
+
order_currencyCurrency3-letter code+
order_descriptionDescription of the transaction (product name)String up to 1024 characters+
payee_first_namePayee’s nameString up to 32 characters-
payee_last_namePayee’s surnameString up to 32 characters-
payee_middle_namePayee’s middle nameString up to 32 characters-
payee_birth_datePayee’s birthdayformat yyyy-MM-dd,
e.g. 1970-02-17
-
payee_addressPayee’s addressString up to 255 characters-
payee_address2The adjoining road or locality (if required) of the сustomer’s addressString up to 255 characters-
payee_countryPayee’s country2-letter code-
payee_statePayee’s stateString up to 32 characters-
payee_cityPayee’s cityString up to 32 characters-
payee_zipZIP-code of the PayeeString up to 10 characters-
payee_emailPayee’s emailString up to 256 characters-
payee_phonePayee’s phoneString up to 32 characters-
payer_first_namePayer’s nameString up to 32 characters-
payer_last_namePayer’s surnameString up to 32 characters-
payer_middle_namePayer’s middle nameString up to 32 characters-
payer_birth_datePayer’s birthdayformat yyyy-MM-dd,
e.g. 1970-02-17
-
payer_addressPayer’s addressString up to 255 characters-
payer_address2The adjoining road or locality (if required) of the Payer’s addressString up to 255 characters-
payer_countryPayer’s country2-letter code-
payer_statePayer’s stateString up to 32 characters-
payer_cityPayer’s cityString up to 32 characters-
payer_zipZIP-code of the CustomerString up to 10 characters-
payer_emailCustomer’s emailString up to 256 characters-
payer_phoneCustomer’s phoneString up to 32 characters-
payer_ipIP-address of the CustomerXXX.XXX.XXX.XXX-
parametersObject that contains extra-parameters required by the acquirerFormat:
"parameters": {"param1": "value1", "param2": "value2", "param3": "value3"}
See Appendix C for more details
-
hashSpecial signature to validate your request to Payment Platformsee Appendix A, Formula 5+
Example Request
curl -d "action=CREDIT2CARD&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&
channel_id=test&order_id=123456789&order_amount=1.03&order_currency=USD&
order_description=wine&card_number=4917111111111111&
hash=a1a6de416405ada72bb47a49176471dc"[https://test.apiurl.com](https://test.apiurl.com/) -k

Response Parameters

You will get JSON encoded string with transaction result.

Successful response

ParameterDescription
actionCREDIT2CARD
resultSUCCESS
statusSETTLED
order_idTransaction ID in the Client's system
trans_idTransaction ID in the Payment Platform
trans_dateTransaction date in the Payment Platform
descriptorThis is a string which the owner of the credit card will see in the statement from the bank. In most cases, this is the Customers support web-site.
Response Example (Successful result)
{
"action": "CREDIT2CARD",
"result": "SUCCESS",
"status": "SETTLED",
"order_id": "1613117050",
"trans_id": "e5098d62-6d08-11eb-9da3-0242ac120013",
"trans_date": "2021-02-12 08:04:15"
}

Unsuccessful response

ParameterDescription
actionCREDIT2CARD
resultDECLINED
statusDECLINED
order_idTransaction ID in the Client's system
trans_idTransaction ID in the Payment Platform
trans_dateTransaction date in the Payment Platform
decline_reasonThe reason why the transaction was declined
Response Example (Unsuccessful result)
{
"action": "CREDIT2CARD",
"result": "DECLINED",
"status": "DECLINED",
"order_id": "1613117050",
"trans_id": "e5098d62-6d08-11eb-9da3-0242ac120013",
"trans_date": "2021-02-12 08:04:15",
"decline_reason": "Declined by processing"
}

Callback parameters

Successful response

ParameterDescription
actionCREDIT2CARD
resultSUCCESS
statusSETTLED
order_idTransaction ID in the Client's system
trans_idTransaction ID in the Payment Platform
trans_dateDate of CREDIT2CARD action
hashSpecial signature to validate callback. See Appendix A, Formula 6
Callback Example (Successful result)
"action=CREDIT2CARD&result=SUCCESS&status=SETTLED&order_id=123456789&
trans_id=1d152122-6c86-11eb-8a49-0242ac120013&
hash=84dc0713fa38f18edb85da7aa94eca2e&trans_date=2021-02-11+16%3A28%3A04"

Unsuccessful response

ParameterDescription
actionSALE
resultDECLINED
statusDECLINED
order_idTransaction ID in the Client's system
trans_idTransaction ID in the Payment Platform
trans_dateDate of CREDIT2CARD action
decline_reasonReason of transaction decline.It shows for the transactions with the "DECLINED" status
hashSpecial signature to validate callback. See Appendix A, Formula 6
Callback Example (Unsuccessful result)
"action=CREDIT2CARD&result=SUCCESS&status=SETTLED&order_id=123456789&
trans_id=1d152122-6c86-11eb-8a49-0242ac120013&hash=84dc0713fa38f18edb85da7aa94eca2e
&trans_date=2021-02-11+16%3A28%3A04"

CARD2CARD request


Use CARD2CARD action to create transfer transaction.

Request parameters

ParameterDescriptionValuesRequired field
actionAction that you want to perform. Fixed value.CARD2CARD+
client_keyUnique key
(CLIENT_KEY)
UUID format value+
channel_idPayment channel
(Sub-account)
String up to 16 characters-
order_idTransaction ID in the Merchants systemString up to 255 characters+
order_amountThe amount of the transactionNumbers in the format:
XXXX.XX
+
order_currencyCurrency3-letter code+
order_descriptionDescription of the transaction (product name)String up to 1024 characters+
payer_card_numberPayer credit Card Number+
payer_card_exp_monthMonth of expiry of the Payer credit cardMonth in the form XX+
payer_card_exp_yearYear of expiry of the Payer credit cardYear in the form XXXX+
payer_card_cvv2CVV/CVC2 for Payer credit card verification code3-4 symbols+
payer_first_namePayer’s nameString up to 32 characters-
payer_last_namePayer’s surnameString up to 32 characters-
payer_middle_namePayer’s middle nameString up to 32 characters-
payer_birth_datePayer’s birthdayformat yyyy-MM-dd,
e.g. 1970-02-17
-
payer_addressPayer’s addressString up to 255 characters-
payer_address2The adjoining road or locality (if required) of the Payer’s addressString up to 255 characters-
payer_countryPayer’s country2-letter code-
payer_statePayer’s stateString up to 32 characters-
payer_cityPayer’s cityString up to 32 characters-
payer_zipZIP-code of the CustomerString up to 10 characters-
payer_emailCustomer’s emailString up to 256 characters-
payer_phoneCustomer’s phoneString up to 32 characters-
payer_ipIP-address of the CustomerXXX.XXX.XXX.XXX+
payee_card_numberPayee's credit card Number+
payee_first_namePayee’s nameString up to 32 characters-
payee_last_namePayee’s surnameString up to 32 characters-
payee_middle_namePayee’s middle nameString up to 32 characters-
payee_birth_datePayee’s birthdayformat yyyy-MM-dd,
e.g. 1970-02-17
-
payee_addressPayee’s addressString up to 255 characters-
payee_address2The adjoining road or locality (if required) of the сustomer’s addressString up to 255 characters-
payee_countryPayee’s country2-letter code-
payee_statePayee’s stateString up to 32 characters-
payee_cityPayee’s cityString up to 32 characters-
payee_zipZIP-code of the PayeeString up to 10 characters-
payee_emailPayee’s emailString up to 256 characters-
payee_phonePayee’s phoneString up to 32 characters-
term_url_3dsURL to which Customer should be returned after 3D-SecureString up to 1024 characters+
parametersObject that contains extra-parameters required by the acquirerFormat:
"parameters": {"param1": "value1", "param2": "value2", "param3": "value3"}
See Appendix C for more details
-
hashSpecial signature to validate your request to Payment PlatformSee Appendix A, Formula 1+

Response parameters

You will get JSON encoded string with transaction result. If your account supports 3D-Secure, transaction result will be sent to your Notification URL.

Synchronous mode

Successful response
ParameterDescription
actionCARD2CARD
resultSUCCESS
statusSETTLED
order_idTransaction ID in the Merchant’s system
trans_idTransaction ID in the Payment Platform
trans_dateTransaction date in the Payment Platform
descriptorDescriptor from the bank, the same as payer will see in the bank statement
amountOrder amount
currencyCurrency
Unsuccessful response
ParameterDescription
actionCARD2CARD
resultDECLINED
statusDECLINED
order_idTransaction ID in the Merchant’s system
trans_idTransaction ID in the Payment Platform
trans_dateTransaction date in the Payment Platform
descriptorDescriptor from the bank, the same as payer will see in the bank statement
amountOrder amount
currencyCurrency
decline_reasonThe reason why the transaction was declined
3D-Secure transaction response
ParameterDescription
actionSALE
amountOrder amount
currencyCurrency
descriptorDescriptor from the bank, the same as payer will see in the bank statement
order_idTransaction ID in the Merchant’s system
redirect_methodThe method of transferring parameters (POST or GET)
redirect_paramsObject of specific 3DS parameters.
It is array if redirect_params have no data. The availability of the redirect_params depends on the data transmitted by the acquirer.
redirect_params may be missing. It usually happens when redirect_method = GET
redirect_urlURL to which the Merchant should redirect the Customer
resultREDIRECT
status3DS / REDIRECT
trans_dateTransaction date in the Payment Platform
trans_idTransaction ID in the Payment Platform

Callback parameters

Successful response

ParameterDescription
actionCARD2CARD
resultSUCCESS
status3DS / SETTLED
order_idTransaction ID in the Merchant’s system
trans_idTransaction ID in the Payment Platform
hashSpecial signature, used to validate callback, see Appendix A, Formula 2
trans_dateTransaction date in the Payment Platform
descriptorDescriptor from the bank, the same as payer will see in the bank statement
amountOrder amount
currencyCurrency

Unsuccessful response

ParameterDescription
actionCARD2CARD
resultDECLINED
statusDECLINED
order_idTransaction ID in the Merchant’s system
trans_idTransaction ID in the Payment Platform
trans_dateTransaction date in the Payment Platform
decline_reasonDescription of the cancellation of the transaction
hashSpecial signature, used to validate callback, see Appendix A, Formula 2

3D-Secure transaction response

ParameterDescription
actionCARD2CARD
resultREDIRECT
status3DS / REDIRECT
order_idTransaction ID in the Merchant’s system
trans_idTransaction ID in the Payment Platform
hashSpecial signature, used to validate callback, see Appendix A, Formula 2
trans_dateTransaction date in the Payment Platform
descriptorDescriptor from the bank, the same as payer will see in the bank statement
amountOrder amount
currencyCurrency
redirect_urlURL to which the Merchant should redirect the Customer
redirect_paramsObject with the parameters.
It is array if redirect_params have no data. The availability of the redirect_params depends on the data transmitted by the acquirer. redirect_params may be missing.
It usually happens when redirect_method = GET
redirect_methodThe method of transferring parameters (POST or GET)

GET_TRANS_STATUS request


Gets order status from Payment Platform. This request is sent by POST in the background (e.g. through PHP CURL).

Request parameters

ParameterDescriptionValuesRequired field
actionGET_TRANS_STATUSGET_TRANS_STATUS+
client_keyUnique key (client_key)UUID format value+
trans_idTransaction ID in the Payment PlatformUUID format value+
hashSpecial signature to validate your
request to Payment Platform
CREDIT2CARD - see Appendix A, Formula 6
Others - see Appendix A, Formula 2
+

Response parameters

ParameterDescription
actionGET_TRANS_STATUS
resultSUCCESS
status3DS / REDIRECT / PENDING / PREPARE / DECLINED / SETTLED / REVERSAL / REFUND / VOID /CHARGEBACK
order_idTransaction ID in the Merchant`s system
trans_idTransaction ID in the Payment Platform
decline_reasonReason of transaction decline. It shows for the transactions with the DECLINED status
recurring_tokenToken for recurring. It shows when the next conditions are met for the SALE transaction:
- transaction is successful
- SALE request contained recurring_init parameter with the value 'Y'

GET_TRANS_DETAILS request


Gets all history of transactions by the order. This request is sent by POST in the background (e.g. through PHP CURL).

Request parameters

ParameterDescriptionValuesRequired field
actionGET_TRANS_DETAILSGET_TRANS_DETAILS+
client_keyUnique key (client_key)UUID format value+
trans_idTransaction ID in the Payment PlatformUUID format value+
hashSpecial signature to validate your
request to Payment Platform
CREDIT2CARD - see Appendix A, Formula 6
Others - see Appendix A, Formula 2
+

Response parameters

ParameterDescription
actionGET_TRANS_DETAILS
resultSUCCESS
status3DS / REDIRECT / PENDING / PREPARE / DECLINED / SETTLED / REVERSAL / REFUND / VOID / CHARGEBACK
order_idTransaction ID in the Merchant`s system
trans_idTransaction ID in the Payment Platform
namePayer name
mailPayer mail
ipPayer IP
amountOrder amount
currencyCurrency
cardCard in the format XXXXXX****XXXX
decline_reasonReason of transaction decline.It shows for the transactions with the DECLINED status
recurring_tokenToken for recurring. It shows when the next conditions are met for the SALE transaction:
- transaction is successful
- SALE request contained recurring_init parameter with the value 'Y'
- SALE request contained card data which was used for the first time
schedule_idSchedule ID for recurring payments
transactionsArray of transactions with the parameters:
- date
- type (sale, 3ds, auth, capture, credit, chargeback, reversal, refund)
- status (success, waiting, fail)
- amount
Response Example
{
"action": "GET_TRANS_DETAILS",
"result": "SUCCESS",
"status": "REFUND",
"order_id": "1646655381neural",
"trans_id": "66624eba-9e10-11ec-aa41-0242ac130002",
"name": "John Rikher",
"mail": "[email protected]",
"ip": "192.169.217.106",
"amount": "0.02",
"currency": "USD",
"card": "522864******0691",
"transactions": [
{
"type": "3DS",
"status": "success",
"date": "2022-03-07 12:16:23",
"amount": "0.02"
},
{
"type": "SALE",
"status": "success",
"date": "2022-03-07 12:16:31",
"amount": "0.02"
},
{
"type": "REFUND",
"status": "success",
"date": "2022-03-07 12:20:14",
"amount": "0.02"
}
]
}

GET_TRANS_STATUS_BY_ORDER request


Gets the status of the most recent transaction in the order's transaction subsequence from Payment Platform. This request is sent by POST in the background (e.g. through PHP CURL).

It is recommended to pass an unique order_id in the payment request. That way, it will be easier to uniquely identify the payment by order_id. This is especially important if cascading is configured. In this case, several intermediate transactions could be created within one payment.

Request parameters

ParameterDescriptionValuesRequired field
actionGET_TRANS_STATUS_BY_ORDERGET_TRANS_STATUS_BY_ORDER+
client_keyUnique key (client_key)UUID format value+
order_idTransaction ID in the Merchants systemUUID format value+
hashSpecial signature to validate your
request to Payment Platform
see Appendix A, Formula 7+

Response parameters

ParameterDescription
actionGET_TRANS_STATUS_BY_ORDER
resultSUCCESS
status3DS / REDIRECT / PENDING / PREPARE / DECLINED / SETTLED / REVERSAL / REFUND / VOID / CHARGEBACK
order_idTransaction ID in the Merchant`s system
trans_idTransaction ID in the Payment Platform
decline_reasonReason of transaction decline. It shows for the transactions with the DECLINED status
recurring_tokenToken for recurring. It shows when the next conditions are met for the SALE transaction:
- transaction is successful
- SALE request contained recurring_init parameter with the value 'Y'

RECURRING_SALE request


Recurring payments are commonly used to create new transactions based on already stored cardholder information from previous operations.

RECURRING_SALE request has same logic as SALE request, the only difference is that you need to provide primary transaction id, and this request will create a secondary transaction with previously used cardholder data from primary transaction.

This request is sent by POST in the background (e.g. through PHP CURL).

Request parameters

ParameterDescriptionValuesRequired field
actionRecurring saleRECURRING_SALE+
client_keyUnique key (CLIENT_KEY)UUID format value+
order_idTransaction ID in the Merchant's systemString up to 255 characters+
order_amountThe amount of the transactionFormat depends on currency.
Send Integer type value for currencies with zero-exponent. Example: 1000
Send Float type value for currencies with exponents 2, 3, 4.
Format for 2-exponent currencies: XX.XX Example: 100.99
Pay attention that currencies 'UGX', 'JPY', 'KRW', 'CLP' must be send in the format XX.XX, with the zeros after comma. Example: 100.00
Format for 3-exponent currencies: XXX.XXX Example: 100.999.
Format for 4-exponent currencies: XXX.XXXX Example: 100.9999
+
order_descriptionTransaction description (product name)String up to 1024 characters+
recurring_first_trans_idTransaction ID of the primary transaction in the Payment PlatformUUID format value+
recurring_tokenValue obtained during the primary transactionUUID format value+
schedule_idSchedule ID for recurring paymentsString-
authIndicates that transaction must be only authenticated, but not capturedY or N (default N)-
hashSpecial signature to validate your request to payment platformsee Appendix A, Formula 1+

Response parameters

Response from Payment Platform is the same as by SALE command, except for the value of the difference parameter
action = RECURRING_SALE. You will receive a JSON encoded string with the result of the transaction.


CHARGEBACK notification parameters

CHARGEBACK transactions are used to dispute already settled payment.

When processing these transactions Payment Platform sends notification to Merchant`s Notification URL.

ParameterDescription
actionCHARGEBACK
resultSUCCESS
statusCHARGEBACK
order_idTransaction ID in the Merchant`s system
trans_idTransaction ID in the Payment Platform
amountThe amount of the chargeback
chargeback_dateSystem date of the chargeback
bank_dateBank date of the chargeback
reason_codeReason code of the chargeback
hashSpecial signature to validate callback, see Appendix A, Formula 2

RECURRING SCHEDULE OPERATIONS


Protocol implements schedules for recurring payments with specific API interaction using. Schedules allow you to charge a customer on a recurring basis.

To work with the schedules you must send the server to server HTTPS request to Payment Platform URL (PAYMENT_URL) with the fields listed in "Recurring schedule actions" section. In the response Payment Platform will return the JSON (http://json.org/) encoded string.

CREATE_SCHEDULE request

To create a new schedule you need to send the request with the parameters listed below. This request is sent by POST in the background (e.g., through PHP CURL).

Request parameters

ParameterDescriptionValuesRequired field
actionAction to create a new schedule - fixed valueCREATE_SCHEDULE+
client_keyUnique key (CLIENT_KEY)UUID format value+
nameName of scheduleString up to 100 characters+
interval_lengthInterval length - how often the payments occurs. Cannot be set "0". For example, to set a schedule for payments every 15 days, you need to set: interval_length = 15, interval_unit = dayNumber+
interval_unitInterval unitPossible values are "day" and "month"+
day_of_monthDay of month when payment has to occur. Available only if interval_unit = month. Possible values: from 1 to 31. If day_of_month = 29, 30, or 31 and there are no days 29, 30, or 31 in the month, then the last day of the month is used. If day_of_month is not defined, then payment occurs on the day the initiating payment is createdNumber from 1 to 31-
payments_countPayments count in scheduleNumber+
delaysNumber of skipped intervals of the scheduled before payment cycle startsNumber-
hashSpecial signature to validate your request to Payment Platformsee Appendix A, Formula 3+

Response parameters

You will get JSON encoded string with the request result

ParameterDescription
actionCREATE_SCHEDULE
resultSUCCESS
schedule_idSchedule ID in the Payment Platform

PAUSE_SCHEDULE request

Suspends the schedule and assigns value "Y" for "paused" parameter. This request is sent by POST in the background (e.g., through PHP CURL).

Request parameters

ParameterDescriptionValuesRequired field
actionAction to pause a schedule - fixed value.PAUSE_SCHEDULE+
client_keyUnique key (CLIENT_KEY)UUID format value+
schedule_idSchedule ID in the Payment PlatformUUID format value+
hashSpecial signature to validate your request to Payment Platformsee Appendix A, Formula 4+

Response parameters

ParameterDescription
actionPAUSE_SCHEDULE
resultSUCCESS

RUN_SCHEDULE request

Releases the paused schedule and assigns value "N" for "paused" parameter. This request is sent by POST in the background (e.g., through PHP CURL).

Request parameters

ParameterDescriptionValuesRequired field
actionAction to run a schedule - fixed valueRUN_SCHEDULE+
client_keyUnique key (CLIENT_KEY)UUID format value+
schedule_idSchedule ID in the Payment PlatformUUID format value+
hashSpecial signature to validate your request to Payment Platformsee Appendix A, Formula 4+

Response parameters

ParameterDescription
actionRUN_SCHEDULE
resultSUCCESS

DELETE_SCHEDULE request

To delete an existing schedule you need to send the request with the parameters listed below. This request is sent by POST in the background (e.g., through PHP CURL).

Request parameters

ParameterDescriptionValuesRequired field
actionAction to delete a schedule - fixed valueDELETE_SCHEDULE+
client_keyUnique key (CLIENT_KEY)UUID format value+
schedule_idSchedule ID in the Payment PlatformUUID format value+
hashSpecial signature to validate your request to Payment Platformsee Appendix A, Formula 4+

Response parameters

ParameterDescription
actionDELETE_SCHEDULE
resultSUCCESS

SCHEDULE_INFO request

Gets information about an existing schedule. This request is sent by GET in the background (e.g., through PHP CURL).

Request parameters

ParameterDescriptionValuesRequired field
actionAction to get a schedule info - fixed valueSCHEDULE_INFO+
client_keyUnique key (CLIENT_KEY)UUID format value+
schedule_idSchedule ID in the Payment PlatformUUID format value+
hashSpecial signature to validate your request to Payment Platformsee Appendix A, Formula 4+

Response parameters

ParameterDescription
actionSCHEDULE_INFO
nameName of schedule
interval_lengthInterval length - how often the payments occurs
interval_unitInterval unit
day_of_monthDay of month when payment has to occur. Available only if interval_unit = month
payments_countPayments count in schedule
delaysNumber of skipped intervals of the scheduled before payment cycle starts
pausedShows if schedule is in pause (Y or N)

DESCHEDULE request

To deschedule recurring and stop the payments by the schedule.

ParameterDescriptionValuesRequired field
actionAction to performDESCHEDULE+
client_keyUnique key (CLIENT_KEY)UUID format value+
recurring_tokenValue obtained during the primary transactionUUID format value+
schedule_idSchedule ID in the Payment PlatformUUID format value+
hashSpecial signature to validate your request to Payment Platformsee Appendix A, Formula 4+

Errors


In case of an error you get synchronous response from Payment Platform:

ParameterDescription
resultERROR
error_messageError message
error_codeError code

The list of the error codes is shown below.

CodeDescription
204002Enabled merchant mappings or MIDs not found.
204003Payment type not supported.
204004Payment method not supported.
204005Payment action not supported.
204006Payment system/brand not supported.
204007Day MID limit is not set or exceeded.
204008Day Merchant mapping limit is not set or exceeded.
204009Payment type not found.
204010Payment method not found.
204011Payment system/brand not found.
204012Payment currency not found.
204013Payment action not found.
204014Month MID limit is exceeded.
204015Week Merchant mapping limit is exceeded.
208001Payment not found.
208002Not acceptable to request the 3ds for payment not in 3ds status.
208003Not acceptable to request the capture for payment not in pending status.
208004Not acceptable to request the capture for amount bigger than auth amount.
208005Not acceptable to request the refund for payment not in settled or pending status.
208006Not acceptable to request the refund for amount bigger than payment amount.
208008Not acceptable to request the reversal for amount bigger than payment amount.
208009Not acceptable to request the reversal for partial amount.
208010Not acceptable to request the chargeback for amount bigger than payment's amount.
205005Card token is invalid or not found.
205006Card token is expired.
205007Card token is not accessible.
400Duplicate request.
400Previous payment not completed.
Sample of error-response
{
"result": "ERROR",
    "error_code": 100000,
    "error_message": "Request data is invalid.",
    "errors": [
        {
            "error_code": 100000,
            "error_message": "card_number: This value should not be blank."
        },
        {
            "error_code": 100000,
            "error_message": "card_exp_month: This value should not be blank."
        },
        {
            "error_code": 100000,
            "error_message": "card_exp_year: This value should not be blank."
        },
        {
            "error_code": 100000,
            "error_message": "card_cvv2: This value should not be blank."
        },
        {
            "error_code": 100000,
            "error_message": "order_id: This value should not be blank."
        },
        {
            "error_code": 100000,
            "error_message": "order_amount: This value should not be blank."
        },
        {
            "error_code": 100000,
            "error_message": "order_amount: This value should be greater than 0."
        },
        {
            "error_code": 100000,
            "error_message": "order_currency: This value should not be blank."
        },
        {
            "error_code": 100000,
            "error_message": "order_description: This value should not be blank."
        },
        {
            "error_code": 100000,
            "error_message": "payer_first_name: This value should not be blank."
        },
        {
            "error_code": 100000,
            "error_message": "payer_last_name: This value should not be blank."
        },
        {
            "error_code": 100000,
            "error_message": "payer_address: This value should not be blank."
        },
        {
            "error_code": 100000,
            "error_message": "payer_country: This value should not be blank."
        },
        {
            "error_code": 100000,
            "error_message": "payer_city: This value should not be blank."
        },
        {
            "error_code": 100000,
            "error_message": "payer_zip: This value should not be blank."
        },
        {
            "error_code": 100000,
            "error_message": "payer_email: This value should not be blank."
        },
        {
            "error_code": 100000,
            "error_message": "payer_phone: This value should not be blank."
        },
        {
            "error_code": 100000,
            "error_message": "payer_ip: This value should not be blank."
        },
        {
            "error_code": 100000,
            "error_message": "term_url_3ds: This value should not be blank."
        }
    ]
}

Testing


You can make test requests using data below. Please note, that all transactions will be processed using Test engine.

Card numberCard expiration date (MM/YYYY)Testing / Result
411111111111111101/2025This card number and card expiration date must be used for testing successful sale.
⚠️ Use that card data to create recurring payments and get a recurring token for the initial recurring. Testing recurring payments does not work with other test cards.
Response on successful SALE request:
{action: SALE, result: SUCCESS, status: SETTLED}
Response on successful AUTH request:
{action: SALE, result: SUCCESS, status: PENDING}
411111111111111102/2025This card number and card expiration date must be used for testing unsuccessful sale
Response on unsuccessful SALE request:
{action: SALE, result: DECLINED, status: DECLINED}
Response on unsuccessful AUTH request:
{action: SALE, result: DECLINED, status: DECLINED}
411111111111111103/2025This card number and card expiration date must be used for testing unsuccessful CAPTURE after successful AUTH
Response on successful AUTH request:
{action: SALE, result: SUCCESS, status: PENDING}
Response on unsuccessful CAPTURE request:
{action: CAPTURE, result: DECLINED, status: PENDING}
411111111111111105/2025This card number and card expiration date must be used for testing successful sale after 3DS verification
Response on VERIFY request:
{action: SALE, result: REDIRECT, status: 3DS}
After return from ACS:
{action: SALE, result: SUCCESS, status: SETTLED}
411111111111111106/2025This card number and card expiration date must be used for testing unsuccessful sale after 3DS verification
Response on VERIFY request:
{action: SALE, result: REDIRECT, status: 3DS}
After return from ACS:
{action: SALE, result: DECLINED, status: DECLINED}
411111111111111112/2025This card number and card expiration date must be used for testing successful sale after redirect
Response on SALE/AUTH request:
{action: SALE, result: REDIRECT, status: REDIRECT}
Return to the system:
{action: SALE, result: SUCCESS, status: SETTLED}
411111111111111112/2026This card number and card expiration date must be used for testing unsuccessful sale after redirect
Response on SALE/AUTH request:
{action: SALE, result: REDIRECT, status: REDIRECT}
Return to the system:
{action: SALE, result: DECLINED, status: DECLINED}

Appendix A (Hash)


Hash - is signature rule used either to validate your requests to payment platform or to validate callback from payment platform to your system. It must be md5 encoded string calculated by rules below:

Formula 1:

hash for SALE, RECURRING_SALE is calculated by the formula:

md5(strtoupper(strrev(email).PASSWORD.strrev(substr(card_number,0,6).substr(card_number,-4))))

⚠️ Pay attention

If the formula contains optional parameters that you do not send in the request (for example, payer_email in the DEBIT request), please ignore that parameter for the hash.

if parameter card_token is specified hash is calculated by the formula:

md5(strtoupper(strrev(email).PASSWORD.strrev(card_token)))

Formula 2:

hash is calculated by the formula:

md5(strtoupper(strrev(email).PASSWORD.trans_id.strrev(substr(card_number,0,6).substr(card_number,-4))))

Formula 3:

hash for Create a schedule is calculated by the formula:

md5(strtoupper(strrev(PASSWORD)));

Formula 4:

hash for Other schedules is calculated by the formula:

md5(strtoupper(strrev(schedule_id + PASSWORD)));

Formula 5:

hash for CREDIT2CARD request is calculated by the formula:

md5(strtoupper(PASSWORD.strrev(substr(card_number,0,6).substr(card_number,-4))))

if card_token is specified hash is calculated by the formula:

md5(strtoupper(PASSWORD. strrev(card_token)))

Formula 6:

hash is calculated by the formula:

md5(strtoupper(PASSWORD.trans_id.strrev(substr(card_number,0,6).substr(card_number,-4))))

Formula 7:

hash is calculated by the formula:

md5(strtoupper(strrev(email).PASSWORD.order_id.strrev(substr(card_number,0,6).substr(card_number,-4))))

Appendix B (Examples)

Please review carefully the list of parameters before using the examples. Some parameters may be missing in the examples.

Requests examples are for reference only. If you will use them unchanged you will receive an error in the response.

You have to set your own values for parameters (client_key and hash in particular).

All requests are with Content-Type: multipart/form-data.

SALE request sample


Sample data of the sale request

ParameterValid value
actionSALE
client_keyc2b8fb04-110f-11ea-bcd3-0242c0a85004
order_idORDER-12345
order_amount1.99
order_currencyUSD
order_descriptionProduct
card_number4111111111111111
card_exp_month01
card_exp_year2025
card_cvv2000
payer_first_nameJohn
payer_last_nameDoe
payer_addressBig street
payer_countryUS
payer_stateCA
payer_cityCity
payer_zip123456
payer_email[email protected]
payer_phone199999999
payer_ip123.123.123.123
term_url_3ds 1http://client.site.com/return.php
hash2702ae0c4f99506dc29b5615ba9ee3c0

The hash above was calculated for PASSWORD equal to13a4822c5907ed235f3a068c76184fc3.

Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&order_id=ORDER12345&
order_amount=1.99&order_currency=USD&order_description=Product&
card_number=4111111111111111&card_exp_month=01&card_exp_year=2025&card_cvv2=000&
payer_first_name=John&payer_last_name=Doe&payer_address=BigStreet&
payer_country=US&payer_state=CA&payer_city=City&payer_zip=123456&
[email protected]&payer_phone=199999999&
payer_ip=123.123.123.123&term_url_3ds=http://client.site.com/return.php&
parameters[param1]=value1&parameters[param2]=value2&parameters[param3]=value3&
hash=2702ae0c4f99506dc29b5615ba9ee3c0"
https://test.apiurl.com -k

Sample response (synchronous mode)

The response if the sale is successful
{
"action":"SALE",
"result":"SUCCESS",
"status":"SETTLED",
"order_id":"ORDER-12345",
"trans_id":"aaaff66a-904f-11ea-833e-0242ac1f0007",
"trans_date":"2012-04-03 16:02:01",
"descriptor":"test",
"amount":"0.02",
"currency":"USD"
}
The response if the sale is unsuccessful
{
"action":"SALE",
"result":"DECLINED",
"status":"DECLINED",
"order_id":"ORDER-12345",
"trans_id":"aaaff66a-904f-11ea-833e-0242ac1f0007",
"trans_date":"2012-04-03 16:02:01",
"decline_reason":"Declined by processing"
}
The response if the transaction supports 3D-Secure
{
"action":"SALE",
"result":"REDIRECT",
"status":"3DS",
"order_id":"1588856266Intelligent",
"trans_id":"595ceeea-9062-11ea-aa1b-0242ac1f0007",
"trans_date":"2012-04-03 16:02:01",
"descriptor":"Descriptor",
"amount":"0.02",
"currency":"USD",
"redirect_url":"https://some.acs.endpoint.com",
"redirect_params":
{
"PaReq":"M0RTIE1hc3RlciBVU0QgU1VDQ0VTUw==",
"MD":"595ceeea-9062-11ea-aa1b-0242ac1f0007",
"TermUrl":"https://192.168.0.1:8101/verify/3ds/595ceeea-9062-11ea-aa1b-0242ac1f0007/7d6b9b240ff2779b7209aef786f808d1"
},
"redirect_method":"POST"
}
In case of redirect_params is empty
{
"action":"SALE",
"result":"REDIRECT",
"status":"3DS",
"order_id":"1588856266Intelligent",
"trans_id":"595ceeea-9062-11ea-aa1b-0242ac1f0007",
"trans_date":"2012-04-03 16:02:01",
"descriptor":"Descriptor",
"amount":"0.02",
"currency":"USD",
"redirect_url":"https://some.acs.endpoint.com",
"redirect_params":[],
"redirect_method":"POST"
}
In case of an error (sample is shown in the “Errors” section)
{
"result":"ERROR",
"error_message":"Error description"
}

Sample response (asynchronous mode)

The response if the sale is successful
curl -d  "action=SALE&result=SUCCESS&status=SETTLED&order_id=1001&
trans_id=aaaff66a-904f-11ea-833e-0242ac1f0007&hash=e36d1001a7ccbfd7870de5c1eab5f86e&
trans_date=2022-10-26+11%3A51%3A53&descriptor=Qwest&amount=10.00&currency=EUR&
card=4111111%2A%2A%2A%2A11111&card_expiration_date=01%2F2025&exchange_rate=1.058189&
exchange_currency=USD&exchange_amount=9.22"

RECURRING_SALE request sample

Sample recurring sale request

Request Example
curl -d "action=RECURRING_SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&order_id=ORDER-12345&order_amount=1.99&
order_description=Product&recurring_first_trans_id=aaaff66a-904f-11ea-833e-0242ac&
recurring_token=d6dcb9e0-96b6-11ea-bbd1-0242ac120012&
hash=a1a6de416405ada72bb47a49176471dc"
https://test.apiurl.com -k

Sample response

Response Example
{
"action":"RECURRING_SALE",
"result":"SUCCESS",
"status":"SETTLED",
"order_id":"ORDER-12345",
"trans_id":"aaaff66a-904f-11ea-833e-0242ac1f0007",
"trans_date":"2012-04-03 16:02:01",
"descriptor":"test",
"amount":"0.02",
"currency":"USD"
}

CREDITVOID request sample

Sample response

Request Example
curl -d "action=CREDITVOID&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&trans_id=aaaff66a-904f-11ea-833e-0242ac&amount=10.00&
hash=6b957fca41c353ac344fcad47f0cbf97"
https://test.apiurl.com -k

Sample response

Response Example
{
"action":"CREDITVOID",
"result":"ACCEPTED",
"trans_id":"aaaff66a-904f-11ea-833e-0242ac",
"order_id":"ORDER-12345"
}

Appendix C (Additional parameters)

When using some connector services, it is necessary to send additional parameters in the specific request. You can add specific parameters in the parameters object. For more information, contact your manager.

SALE request

Additional parameters - Set 1 (BNG)

ParameterDescriptionValuesRequired field
bnrg_installm_defIndicates the number of months that will elapse from the purchase until the total or partial charge is made to the cardholder's account (initial deferral).
Possible values:
01 - one month
00 - no delay initial
Numeric justified to 2 digits+
bnrg_installm_monthsIndicates the number of monthly payments in which the total amount of the transaction will be divided.
Example: 03 - 3 months
Numeric justified to 2 digits+
bnrg_installm_planIndicates if the promotion It will be ́ with interest or without interest.
Possible values:
03 - no interest
05 - with interest
07 - defer only initial .
Numeric justified to 2 digits+
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&order_id=ORDER12345&
order_amount=1000.99&order_currency=MXN&order_description=Product&
card_number=4111111111111111&card_exp_month=01&card_exp_year=2025&card_cvv2=000&
payer_first_name=John&payer_last_name=Doe&payer_address=BigStreet&
payer_country=US&payer_state=CA&payer_city=City&payer_zip=123456&
[email protected]&payer_phone=199999999&
payer_ip=123.123.123.123&term_url_3ds=http://client.site.com/return.php&
parameters[bnrg_installm_def]=00&parameters[bnrg_installm_months]=03&parameters[bnrg_installm_plan]=03&
hash=2702ae0c4f99506dc29b5615ba9ee3c0"
https://test.apiurl.com -k

Additional parameters - Set 2 (FCP)

ParameterDescriptionValuesRequired field
document_typeType of the document number specified above. Possibe values: cpfString+
document_numberClient’s document numberString+
social_nameClient's social nameString+
fiscal_countryAn alpha-2 country code of the customer’s tax countryString+
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&order_id=ORDER12345&
order_amount=1000.99&order_currency=BRL&order_description=Product&card_number=4111111111111111&
card_exp_month=01&card_exp_year=2025&card_cvv2=000&payer_first_name=John&payer_last_name=Doe&
payer_address=BigStreet&payer_country=US&payer_state=CA&payer_city=City&payer_zip=123456&
[email protected]&payer_phone=199999999&payer_ip=123.123.123.123
&term_url_3ds=http://client.site.com/return.php
&parameters[document_type]=cpf&parameters[document_number]=231.002.999-00
&parameters[social_name]=Harry Potter&parameters[fiscal_country]=BR
&parameters[toBankAccountId]=a1a1134a-32c6-442c-90c9-66b587d5be00&
hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com -k

Additional parameters - Set 3 (TWD)

ParameterDescriptionValuesRequired field
customer_phonePhone number of the customer.String-
customer_telnoccCountry phone code of the customer.String-
shipping_street1Building name, and/or street name of the customer's shipping address.String-
shipping_cityCity of the customer's shipping address.String-
shipping_stateState or region of the customer's shipping address.String-
shipping_postcodePostal code/ Zip code of the customer's shipping address.
Max – 9 digits.
String-
shipping_countryCountry of the shipping address.
3-digits code
String-
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&order_id=ORDER12345&
order_amount=1000.99&order_currency=USD&order_description=Product&
card_number=4111111111111111&card_exp_month=01&card_exp_year=2025&card_cvv2=000&
payer_first_name=John&payer_last_name=Doe&payer_address=BigStreet&
payer_country=US&payer_state=CA&payer_city=City&payer_zip=123456&
[email protected]&payer_phone=199999999&
payer_ip=123.123.123.123&term_url_3ds=http://client.site.com/return.php&
parameters[customer_phone]=1234567890&parameters[customer_telnocc]=123&
parameters[shipping_street1]= Moor Building 35274&parameters[shipping_city]=Los Angeles&
parameters[shipping_state]=CA&parameters[shipping_postcode]=098765432&
parameters[shipping_country]=US&hash=2702ae0c4f99506dc29b5615ba9ee3c0"
https://test.apiurl.com -k

DEBIT request

Additional parameters - Set 1 (ERS)

ParameterDescriptionValuesRequired field
payer_identity_typeThe type of Sender’s identification documentString-
payer_identity_idThe number of Sender’s identification documentString-
payer_identity_countryThe country of issuance of the Sender's identification documentString-
payer_identity_exp_dateThe expiration date of the Sender's identification documentString-
payer_nationalitySender’s nationalityString-
payer_country_of_birthSender’s country of birthString-
payee_first_nameReceiver’s first nameString-
payer_last_nameReceiver’s last nameString-
payee_middle_nameReceiver’s middle nameString-
payee_addressReceiver’s streetString-
payee_cityReceiver’s cityString-
payee_stateReceiver’s stateString-
payee_countryReceiver’s countryString-
payee_zipReceiver’s postal codeString-
payee_phoneReceiver’s phone numberString-
payee_birth_dateReceiver’s date of the birthString-
payee_identity_typeThe type of Receiver’s identification documentString-
payee_identity_idThe number of Receiver’s identification documenttString-
payee_identity_countryThe country of issuance of Receiver’s identification documentString-
payee_identity_exp_dateThe expiration date of Receiver’s identification documentString-
payee_nationalityReceiver’s nationalityString-
payee_country_of_birthReceiver’s country of birthString-
Sample curl request
сurl -d "action=DEBIT&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&order_id=ORDER12345&order_amount=1000.99&order_currency=USD
&order_description=Product&card_number=4111111111111111
&card_exp_month=01&card_exp_year=2025&card_cvv2=000&
payer_first_name=John&payer_last_name=Doe&payer_address=BigStreet&
payer_country=US&payer_state=CA&payer_city=City&payer_zip=123456&
[email protected]&payer_phone=199999999&
payer_ip=123.123.123.123&term_url_3ds=http://client.site.com/return.php&
parameters[payer_identity_type]=document type&
parameters[payer_identity_id]=03090807656&parameters[payer_identity_country]=KZ&
parameters[payer_identity_exp_date]=December 2030&
parameters[payer_nationality]=happy nation&parameters[payer_country_of_birth]=KZ&
parameters[payee_first_name]=Jane&parameters[payee_last_name]=Doe&
parameters[payee_middle_name]=middle&parameters[payee_address]=happy nation&
parameters[payee_city]=city name&parameters[payee_state]=state&
parameters[payee_country]=KZ&parameters[payee_zip]=123456&
parameters[payee_phone]=street name&parameters[payee_birth_date]=21.09.1990&
parameters[payee_identity_type]=document type&
parameters[payee_identity_id]=7573829201&parameters[payee_identity_country]=KZ&
parameters[payee_identity_exp_date]=April 2025&
parameters[payee_nationality]=happy nation&parameters[payee_country_of_birth]=KZ&
hash=2702ae0c4f99506dc29b5615ba9ee3c0"
https://test.apiurl.com/post -k

CREDIT2CARD request

Additional parameters - Set 1 (ERS)

ParameterDescriptionValuesRequired field
payer_account_numberSender's account number. If the source of funds is for card payment, then PAN should be indicated here. If it is an independent account, which, in the event of a request, can be quickly determined and information provided - you can show #NA.String+
payer_identity_typeThe type of Sender’s identification documentString-
payer_identity_idThe number of Sender’s identification documentString-
payer_identity_countryThe country of issuance of the Sender's identification documentString-
payer_identity_exp_dateThe expiration date of the Sender's identification documentString-
payer_nationalitySender’s nationalityString-
payer_country_of_birthSender’s country of birthString-
payee_identity_typeThe type of Receiver’s identification documentString-
payee_identity_idThe number of Receiver’s identification documenttString-
payee_identity_countryThe country of issuance of Receiver’s identification documentString-
payee_identity_exp_dateThe expiration date of Receiver’s identification documentString-
payee_nationalityReceiver’s nationalityString-
payee_country_of_birthReceiver’s country of birthString-
Sample curl request
curl -d "action=CREDIT2CARD&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&
channel_id=test&order_id=123456789&order_amount=1.03&order_currency=USD&
order_description=wine&card_number=4917111111111111&
payee_first_name=John&payee_last_name=Doe&payee_address=BigStreet&payee_country=US&payee_state=CA&payee_city=City&payee_zip=123456&[email protected]&
payee_phone=199999999&payer_first_name=John&payer_last_name=Doe&
payer_address=BigStreet&payer_country=US&payer_state=CA&payer_city=City&
payer_zip=123456&[email protected]&payer_phone=199999999&
payer_ip=123.123.123.123&parameters[payer_account_number]= 4111111111111111&
parameters[payer_identity_type]=document type&
parameters[payer_identity_id]=03090807656&parameters[payer_identity_country]=KZ&
parameters[payer_identity_exp_date]=December 2030&
parameters[payer_nationality]=happy nation&parameters[payer_country_of_birth]=KZ&
parameters[payee_identity_type]=document type&
parameters[payee_identity_id]=7573829201&parameters[payee_identity_country]=KZ&
parameters[payee_identity_exp_date]=April 2025&
parameters[payee_nationality]=happy nation&parameters[payee_country_of_birth]=KZ&
hash=2702ae0c4f99506dc29b5615ba9ee3c0"
https://test.apiurl.com/post -k

Additional parameters - Set 2 (PWD)

ParameterDescriptionValuesRequired field
card_exp_monthExpiration month for payee’s cardString
2 digits
+
card_exp_yearExpiration year for payee’s cardString
4 digits
+
Sample curl request
curl -d "action=CREDIT2CARD&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&
channel_id=test&order_id=123456789&order_amount=1.03&order_currency=USD&
order_description=wine&card_number=4917111111111111&
payee_first_name=John&payee_last_name=Doe&payee_address=BigStreet&payee_country=US&payee_state=CA&payee_city=City&payee_zip=123456&[email protected]&
payee_phone=199999999&payer_first_name=John&payer_last_name=Doe&
payer_address=BigStreet&payer_country=US&payer_state=CA&payer_city=City&
payer_zip=123456&[email protected]&payer_phone=199999999&
payer_ip=123.123.123.123&parameters[card_exp_month]=11&
parameters[card_exp_year]=2030&
hash=2702ae0c4f99506dc29b5615ba9ee3c0"
https://test.apiurl.com/post -k

CARD2CARD request

Additional parameters - Set 1 (PRC)

ParameterDescriptionValuesRequired field
payer_identity_typeIdentification document type:
1 – passport;
2 – driver’s license;
3 – social security number;
4 – Taxpayer Identification Number;
5 – national identifier;
6 – foreign passport;
7 – military ID;
8 – other type of document
String-
payer_identity_idIdentification document numberString-
payer_typePossible values:
0 – unknown;
1 – on-us;
2 – resident;
3 – foreign
String-
Sample curl request
curl -d "action=CARD2CARD&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&order_id=ORDER12345&order_amount=1000.99&order_currency=USD&
order_description=Product&card_number=4111111111111111&card_exp_month=01&
card_exp_year=2025&card_cvv2=000&payer_first_name=John&payer_last_name=Doe&
payer_address=BigStreet&payer_country=US&payer_state=CA&payer_city=City&
payer_zip=123456&[email protected]&payer_phone=199999999&
payer_ip=123.123.123.123& payee_card_number=4444111111112222&
payee_first_name=John&payee_last_name=Doe&
payee_address=BigStreet&payee_country=US&payee_state=CA&payee_city=City&
payee_zip=123456&[email protected]&payee_phone=199999999&
term_url_3ds=http://client.site.com/return.php&
parameters[payer_identity_type]=document&
parameters[payer_identity_id]=234556678603&parameters[payer_type]=0&
hash=2702ae0c4f99506dc29b5615ba9ee3c0"
https://test.apiurl.com -k