Skip to main content

Payment operation types

This page is the per-action reference for S2S CARD. It covers the payment operations Payin and Payout, and the recurring schedule operations. For a conceptual overview of the protocol see the S2S Card overview; for the redirect flow see Redirect / 3DS handling.

Not-found codes vary per entity

Since 6.7.0 the not-found error code depends on the entity the action targets. Transaction-entity and order-entity operations (GET_TRANS_STATUS, GET_TRANS_STATUS_BY_ORDER, CAPTURE) return 101000; payment-entity operations (VOID, CREDITVOID) and schedule-entity operations return 100000 with their own specific messages. See the troubleshooting page for the per-action map.

Payment operations

SALE/AUTH 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.

For AUTH transaction it is possible to set the order_amount to 0 (usefull for the card tokenization).

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).

If the response returns result = REDIRECT, you must redirect the payer to the provided URL. See Redirect / 3DS handling for the full redirect flow.

⚠️ Pay attention

In the case of cascading, the logic for sending callbacks differs.
If cascading is triggered for the order, in general case you will receive only callback for the last payment attempt, where the final status of the order (settled or declined) is determined. In the particular cases, you will receive callback for the first payment attempt with the data for customer’s redirection if it is required by payment provider. Callbacks for intermediate attempts (between the first decline and the last payment attempt) are not sent.

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

Pay attention: If you send auth=Y, it is possible to set the amount to 0
+
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+ **
digital_walletDetermines the use of digital wallets

Possible values:
• googlepay
• applepay
Make sure that both digital_wallet and payment_token parameters are specified
String-
payment_tokenDigital wallet token value

Provide payment token received from Apple Pay or Google Pay.
Make sure that both digital_wallet and payment_token parameters are specified.
If the card_token is specified, payment_token will be ignored.
If the optional payment_token and card data are specified, payment_token will be ignored.
String-
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_phone_country_codeCountry calling code of the payer’s phone numberString; length depends on the country-
payer_countryCustomer's country2-letter code- ***
payer_stateCustomer's state. Collected and validated only when payer_country is CA, US, JP, AU, or IN; ignored for other countries.String 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)-
payer_presentIndicates that the payer initiated the payment: a Customer-Initiated Transaction (CIT) when Y, versus a Merchant-Initiated Transaction (MIT) when N.Y or N (default Y)-
parametersObject that contains extra parameters required by the acquirerFormat:
parameters[param1]: value1
parameters[param2]: value2
parameters[paramN]: valueN
See Appendix C for more details.
-
custom_dataArray with the custom data
This block duplicates the arbitrary parameters that were passed in the payment request
Format:
custom_data [param1]: value1
custom_data [param2]: value2
custom_data [paramN]: valueN
-
hashSpecial signature to validate your request to Payment PlatformSee Appendix A, Formula 1
In case of digital wallets - Formula 8
+

*This field becomes optional if card_token or payment_token is specified

** This field becomes optional if payment_token is specified

*** Optional by default. These fields are required only when the Protocol Mapping for S2S CARD is set to Required (Configurations → Protocol Mappings → S2S CARD).

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 Payment Platform
trans_dateTransaction date in 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
digital_walletWallet provider: googlepay, applepay
pan_typeIt refers to digital payments, such as Apple Pay and Google Pay, and the card numbers returned as a result of payment token decryption: DPAN (Digital Primary Account Number) and FPAN (Funding Primary Account Number).
Unsuccessful sale response
ParameterDescription
actionSALE
resultDECLINED
statusDECLINED
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in Payment Platform
trans_dateTransaction date in 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
digital_walletWallet provider: googlepay, applepay
pan_typeIt refers to digital payments, such as Apple Pay and Google Pay, and the card numbers returned as a result of payment token decryption: DPAN (Digital Primary Account Number) and FPAN (Funding Primary Account Number).
3D-Secure transaction response
ParameterDescription
actionSALE
resultREDIRECT
status3DS / REDIRECT
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in Payment Platform
trans_dateTransaction date in 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)
digital_walletWallet provider: googlepay, applepay
pan_typeIt refers to digital payments, such as Apple Pay and Google Pay, and the card numbers returned as a result of payment token decryption: DPAN (Digital Primary Account Number) and FPAN (Funding Primary Account Number).
Undefined sale response
ParameterDescription
actionSALE
resultUNDEFINED
statusPENDING / PREPARE; PENDING only when auth = Y
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in Payment Platform
trans_dateTransaction date in Payment Platform
descriptorDescriptor from the bank, the same as cardholder will see in the bank statement
amountOrder amount
currencyCurrency
digital_walletWallet provider: googlepay, applepay
pan_typeIt refers to digital payments, such as Apple Pay and Google Pay, and the card numbers returned as a result of payment token decryption: DPAN (Digital Primary Account Number) and FPAN (Funding Primary Account Number).

Callback parameters

Successful sale response
ParameterDescription
actionSALE
resultSUCCESS
statusPENDING/PREPARE/SETTLED
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in 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
connector_name *Connector's name (Payment Gateway)
rrn *Retrieval Reference Number value from the acquirer system
approval_code *Approval code value from the acquirer system
gateway_id *Gateway ID – transaction identifier provided by payment gateway
extra_gateway_id *Extra Gateway ID – additional transaction identifier provided by payment gateway
merchant_name *Merchant Name
mid_name *MID Name
issuer_country *Issuer Country
issuer_bank *Issuer Bank
merchant_key *Merchant key (CLIENT_KEY) value
extended_data *Transaction extended data
brand *Payment method brand used in the transaction
arn *Acquirer Reference Number value from the acquirer system
cardCard mask.
If a digital wallet was used, the value obtained when decrypting the wallet token will be provided in this parameter
card_expiration_dateCard expiration date
trans_dateTransaction date in 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.
custom_dataObject with the custom data.
This block duplicates the arbitrary parameters that were passed in the payment request
digital_walletWallet provider: googlepay, applepay
pan_typeIt refers to digital payments, such as Apple Pay and Google Pay, and the card numbers returned as a result of payment token decryption: DPAN (Digital Primary Account Number) and FPAN (Funding Primary Account Number).

* The parameters are included if the appropriate setup is configured in the admin panel (see “Add Extended Data to Callback” block in the Configurations -> Protocol Mappings section).

Unsuccessful sale response
ParameterDescription
actionSALE
resultDECLINED
statusDECLINED
order_idTransaction ID in the Merchant`s system
trans_idTransaction ID in Payment Platform
trans_dateTransaction date in Payment Platform
decline_reasonDescription of the cancellation of the transaction
custom_dataObject with the custom data.
This block duplicates the arbitrary parameters that were passed in the payment request
digital_walletWallet provider: googlepay, applepay
pan_typeIt refers to digital payments, such as Apple Pay and Google Pay, and the card numbers returned as a result of payment token decryption: DPAN (Digital Primary Account Number) and FPAN (Funding Primary Account Number).
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 Payment Platform
trans_dateTransaction date in 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)
custom_dataObject with the custom data.
This block duplicates the arbitrary parameters that were passed in the payment request
digital_walletWallet provider: googlepay, applepay
pan_typeIt refers to digital payments, such as Apple Pay and Google Pay, and the card numbers returned as a result of payment token decryption: DPAN (Digital Primary Account Number) and FPAN (Funding Primary Account Number).
hashSpecial signature, used to validate callback, see Appendix A, Formula 2
Undefined sale response
ParameterDescription
actionSALE
resultUNDEFINED
status3DS / REDIRECT / PENDING / PREPARE
order_idTransaction ID in the Merchant`s system
trans_idTransaction ID in Payment Platform
trans_dateTransaction date in Payment Platform
descriptorDescriptor from the bank, the same as cardholder will see in the bank statement
amountOrder amount
currencyOrder currency
custom_dataObject with the custom data.
This block duplicates the arbitrary parameters that were passed in the payment request
digital_walletWallet provider: googlepay, applepay
pan_typeIt refers to digital payments, such as Apple Pay and Google Pay, and the card numbers returned as a result of payment token decryption: DPAN (Digital Primary Account Number) and FPAN (Funding Primary Account Number).
hashSpecial signature, used to validate callback, see Appendix A, Formula 2

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 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 Payment Platform
trans_dateTransaction date in 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 Payment Platform
trans_dateTransaction date in 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
Undefined capture response
ParameterDescription
actionCAPTURE
resultUNDEFINED
statusPENDING
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in Payment Platform
trans_dateTransaction date in Payment Platform
descriptorDescriptor from the bank, the same as cardholder will see in the bank statement
amountAmount of capture
currencyCurrency

Callback parameters

Successful capture response
ParameterDescription
actionCAPTURE
resultSUCCESS
statusSETTLED
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in Payment Platform
amountAmount of capture
trans_dateTransaction date in Payment Platform
descriptorDescriptor from the bank, the same as cardholder will see in the bank statement
currencyCurrency
connector_name *Connector's name (Payment Gateway)
rrn *Retrieval Reference Number value from the acquirer system
approval_code *Approval code value from the acquirer system
gateway_id *Gateway ID – transaction identifier provided by payment gateway
extra_gateway_id *Extra Gateway ID – additional transaction identifier provided by payment gateway
merchant_name *Merchant Name
mid_name *MID Name
issuer_country *Issuer Country
issuer_bank *Issuer Bank
merchant_key *Merchant key (CLIENT_KEY) value
arn *Acquirer Reference Number value from the acquirer system
hashSpecial signature, used to validate callback, see Appendix A, Formula 2

* The parameters are included if the appropriate setup is configured in the admin panel (see “Add Extended Data to Callback” block in the Configurations -> Protocol Mappings section).

Unsuccessful capture response
ParameterDescription
actionCAPTURE
resultDECLINED
statusPENDING
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in Payment Platform
decline_reasonThe reason why the capture was declined
hashSpecial signature, used to validate callback, see Appendix A, Formula 2
Undefined capture response
ParameterDescription
actionCAPTURE
resultUNDEFINED
statusPENDING
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in Payment Platform
trans_dateTransaction date in Payment Platform
descriptorDescriptor from the bank, the same as cardholder will see in the bank statement
amountAmount of capture
currencyCurrency
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 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 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 Payment Platform
creditvoid_dateDate of the refund/reversal
amountAmount of refund
connector_name *Connector's name (Payment Gateway)
rrn *Retrieval Reference Number value from the acquirer system
approval_code *Approval code value from the acquirer system
gateway_id *Gateway ID – transaction identifier provided by payment gateway
extra_gateway_id *Extra Gateway ID – additional transaction identifier provided by payment gateway
merchant_name *Merchant Name
mid_name *MID Name
issuer_country *Issuer Country
issuer_bank *Issuer Bank
merchant_key *Merchant key (CLIENT_KEY) value
hashSpecial signature, used to validate callback, see Appendix A, Formula 2

* The parameters are included if the appropriate setup is configured in the admin panel (see “Add Extended Data to Callback” block in the Configurations -> Protocol Mappings section).

Unsuccessful refund/reversal response
ParameterDescription
actionCREDITVOID
resultDECLINED
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in Payment Platform
decline_reasonDescription of the cancellation of the transaction
hashSpecial signature, used to validate callback, see Appendix A, Formula 2
Undefined refund/reversal response
ParameterDescription
actionCREDITVOID
resultUNDEFINED
statusSETTLED
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in Payment Platform
creditvoid_dateTransaction date in Payment Platform
amountOrder amount
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 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 Payment Platform
trans_dateTransaction date in Payment Platform
Unsuccessful void response
ParameterDescription
actionVOID
resultDECLINED
statusSETTLED
order_idTransaction ID in the Client's system
trans_idTransaction ID in Payment Platform
trans_dateTransaction date in Payment Platform
decline_reasonThe reason why the transaction was declined
Undefined void response
ParameterDescription
actionVOID
resultUNDEFINED
statusPENDING / SETTLED
order_idTransaction ID in the Client's system
trans_idTransaction ID in Payment Platform
trans_dateTransaction date in Payment Platform

Callback parameters

Successful void response
ParameterDescription
actionVOID
resultSUCCESS
statusVOID
order_idTransaction ID in the Client's system
trans_idTransaction ID in Payment Platform
trans_dateTransaction date in Payment Platform
connector_name *Connector's name (Payment Gateway)
rrn *Retrieval Reference Number value from the acquirer system
approval_code *Approval code value from the acquirer system
gateway_id *Gateway ID – transaction identifier provided by payment gateway
extra_gateway_id*Extra Gateway ID – additional transaction identifier provided by payment gateway
merchant_name *Merchant Name
mid_name *MID Name
issuer_country *Issuer Country
issuer_bank *Issuer Bank
merchant_key *Merchant key (CLIENT_KEY) value
hashSpecial signature, used to validate callback. See Appendix A, Void signature.

* The parameters are included if the appropriate setup is configured in the admin panel (see “Add Extended Data to Callback” block in the Configurations -> Protocol Mappings section).

Unsuccessful void response
ParameterDescription
actionVOID
resultDECLINED
statusSETTLED
order_idTransaction ID in the Client's system
trans_idTransaction ID in Payment Platform
trans_dateTransaction date in Payment Platform
decline_reasonThe reason why the transaction was declined
hashSpecial signature, used to validate callback. See Appendix A, Void signature.
Undefined void response
ParameterDescription
actionVOID
resultUNDEFINED
statusPENDING / SETTLED
order_idTransaction ID in the Client's system
trans_idTransaction ID in Payment Platform
trans_dateTransaction date in Payment Platform
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.

If the response returns result = REDIRECT, you must redirect the payer to the provided URL. See Redirect / 3DS handling for the full redirect 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+
req_tokenSpecial attribute pointing for further tokenizationY or N (default N)-
card_tokenCredit card token valueString 64 characters-
recurring_initInitialization of the transaction with possible following recurring. Once the transaction settles, a recurring_token is returned in the response and the callback.Y or N (default N)-
payer_presentIndicates that the payer initiated the payment: a Customer-Initiated Transaction (CIT) when Y, versus a Merchant-Initiated Transaction (MIT) when N.Y or N (default Y)-
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.-
custom_dataArbitrary merchant object stored with the transaction and returned in the callback notification.Object-
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 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 Payment Platform
trans_dateTransaction date in 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 Payment Platform
trans_dateTransaction date in 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 Payment Platform
trans_dateTransaction date in 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)
Undefined response
ParameterDescription
actionDEBIT
resultUNDEFINED
status3DS / REDIRECT / PREPARE
order_idTransaction ID in the Merchant’s system
trans_idTransaction ID in Payment Platform
trans_dateTransaction date in Payment Platform
descriptorDescriptor from the bank, the same as payer will see in the bank statement
amountOrder amount
currencyCurrency

Callback parameters

Successful response

ParameterDescription
actionDEBIT
resultSUCCESS
statusREDIRECT / 3DS / SETTLED
order_idTransaction ID in the Merchant’s system
trans_idTransaction ID in Payment Platform
trans_dateTransaction date in Payment Platform
descriptorDescriptor from the bank, the same as payer will see in the bank statement
amountOrder amount
currencyCurrency
connector_name *Connector's name (Payment Gateway)
rrn *Retrieval Reference Number value from the acquirer system
approval_code *Approval code value from the acquirer system
gateway_id *Gateway ID – transaction identifier provided by payment gateway
extra_gateway_id *Extra Gateway ID – additional transaction identifier provided by payment gateway
merchant_name *Merchant Name
mid_name *MID Name
issuer_country *Issuer Country
issuer_bank *Issuer Bank
merchant_key *Merchant key (CLIENT_KEY) value
hashSpecial signature, used to validate callback, see Appendix A, Formula 2

* The parameters are included if the appropriate setup is configured in the admin panel (see “Add Extended Data to Callback” block in the Configurations -> Protocol Mappings section).

Unsuccessful response

ParameterDescription
actionDEBIT
resultDECLINED
statusDECLINED
order_idTransaction ID in the Merchant’s system
trans_idTransaction ID in Payment Platform
trans_dateTransaction date in 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 Payment Platform
hashSpecial signature, used to validate callback, see Appendix A, Formula 2
trans_dateTransaction date in 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)

Undefined response

ParameterDescription
actionDEBIT
resultUNDEFINED
statusREDIRECT / 3DS / PREPARE
order_idTransaction ID in the Merchant’s system
trans_idTransaction ID in Payment Platform
trans_dateTransaction date in 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

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+
card_numberCredit 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-
parametersObject that contains extra parameters required by the acquirerFormat: parameters: {"param1": "value1", "param2": "value2", "param3": "value3"}.
See Appendix C for more details.
-
custom_dataArbitrary merchant object stored with the transaction and returned in the callback notification.Object-
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 Payment Platform
trans_dateTransaction date in 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 Payment Platform
trans_dateTransaction date in 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"
}

Undefined response

ParameterDescription
actionCREDIT2CARD
resultUNDEFINED
statusPREPARE
order_idTransaction ID in the Client's system
trans_idTransaction ID in Payment Platform
trans_dateTransaction date in 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 (Undefined result)
{
"action": "CREDIT2CARD",
"result": "UNDEFINED",
"status": "PREPARE",
"order_id": "1613117050",
"trans_id": "e5098d62-6d08-11eb-9da3-0242ac120013",
"trans_date": "2021-02-12 08:04:15",
"descriptor": "Some data"
}

Callback parameters

Successful response

ParameterDescription
actionCREDIT2CARD
resultSUCCESS
statusSETTLED
order_idTransaction ID in the Client's system
trans_idTransaction ID in Payment Platform
trans_dateDate of CREDIT2CARD action
connector_name *Connector's name (Payment Gateway)
rrn *Retrieval Reference Number value from the acquirer system
approval_code *Approval code value from the acquirer system
gateway_id *Gateway ID – transaction identifier provided by payment gateway
extra_gateway_id *Extra Gateway ID – additional transaction identifier provided by payment gateway
merchant_name *Merchant Name
mid_name *MID Name
issuer_country *Issuer Country
issuer_bank *Issuer Bank
merchant_key *Merchant key (CLIENT_KEY) value
hashSpecial signature to validate callback. See Appendix A, Formula 6

* The parameters are included if the appropriate setup is configured in the admin panel (see “Add Extended Data to Callback” block in the Configurations -> Protocol Mappings section).

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
actionCREDIT2CARD
resultDECLINED
statusDECLINED
order_idTransaction ID in the Client's system
trans_idTransaction ID in 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=DECLINED&status=DECLINED&order_id=123456789&trans_id=1d152122-6c86-11eb-8a49-0242ac120013&decline_reason=reason&hash=84dc0713fa38f18edb85da7aa94eca2e&trans_date=2021-02-11+16%3A28%3A04

Undefined response

ParameterDescription
actionCREDIT2CARD
resultUNDEFINED
statusPREPARE
order_idTransaction ID in the Client's system
trans_idTransaction ID in Payment Platform
trans_dateDate of CREDIT2CARD action
hashSpecial signature to validate callback. See Appendix A, Formula 6
Callback Example (Undefined result)
action=CREDIT2CARD&result=UNDEFINED&status=PREPARE&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.

If the response returns result = REDIRECT, you must redirect the payer to the provided URL. See Redirect / 3DS handling for the full redirect flow.

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 Payment Platform
trans_dateTransaction date in 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 Payment Platform
trans_dateTransaction date in 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
actionCARD2CARD
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 Payment Platform
trans_idTransaction ID in Payment Platform
Undefined response
ParameterDescription
actionCARD2CARD
resultUNDEFINED
status3DS / REDIRECT / PREPARE
order_idTransaction ID in the Merchant’s system
trans_idTransaction ID in Payment Platform
trans_dateTransaction date in Payment Platform
descriptorDescriptor from the bank, the same as payer will see in the bank statement
amountOrder amount
currencyCurrency

Callback parameters

Successful response

ParameterDescription
actionCARD2CARD
resultSUCCESS
status3DS / SETTLED
order_idTransaction ID in the Merchant’s system
trans_idTransaction ID in Payment Platform
trans_dateTransaction date in Payment Platform
descriptorDescriptor from the bank, the same as payer will see in the bank statement
amountOrder amount
currencyCurrency
connector_name *Connector's name (Payment Gateway)
rrn *Retrieval Reference Number value from the acquirer system
approval_code *Approval code value from the acquirer system
gateway_id *Gateway ID – transaction identifier provided by payment gateway
extra_gateway_id *Extra Gateway ID – additional transaction identifier provided by payment gateway
merchant_name *Merchant Name
mid_name *MID Name
issuer_country *Issuer Country
issuer_bank *Issuer Bank
merchant_key *Merchant key (CLIENT_KEY) value
hashSpecial signature, used to validate callback, see Appendix A, Formula 2

* The parameters are included if the appropriate setup is configured in the admin panel (see “Add Extended Data to Callback” block in the Configurations -> Protocol Mappings section).

Unsuccessful response

ParameterDescription
actionCARD2CARD
resultDECLINED
statusDECLINED
order_idTransaction ID in the Merchant’s system
trans_idTransaction ID in Payment Platform
trans_dateTransaction date in 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 Payment Platform
hashSpecial signature, used to validate callback, see Appendix A, Formula 2
trans_dateTransaction date in 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)

Undefined response

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

GET_TRANS_STATUS request


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

⚠️ Pay attention

When using cascading (a functionality that allows attempting to process a payment through multiple MIDs until success is achieved), a unique order_id should be used for each payment, and the final status should primarily rely on the callback.

In the process of cascading within a single payment request with a specific order_id, multiple payments may be initiated. When attempting to check the status by order_id using the GET_TRANS_STATUS_BY_ORDER request, different statuses and trans_ids may be returned in the response, as cascading could still be in progress. Using GET_TRANS_STATUS with trans_id provides the status of only a specific payment within the cascading sequence.

Note: The response logic for a status request depends on the Cascading Context for Get Status setting in Configuration --> Protocol Mappings section. If enabled, the system returns the status of the most recently created payment within the cascade (i.e., the payment with the latest creation date), rather than the payment specified in the request.

To obtain the final status, it is recommended to:

  1. In the protocol mapping section, ensure the option ‘Cascading Context for Get Status’ is enabled. When enabled, a GET_TRANS_STATUS request with trans_id will return the status of the last cascaded payment.
  2. Rely on the callback, as we send callbacks with the final status for the last payment in the cascading process.

Please note, in 3DS and REDIRECT callbacks, you may receive one trans_id, while in the final status callback, you might see a different trans_id, as the trans_id reflects the status at a specific stage within the cascading process.

Request parameters

ParameterDescriptionValuesRequired field
actionGET_TRANS_STATUSGET_TRANS_STATUS+
client_keyUnique key (client_key)UUID format value+
trans_idTransaction ID in 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 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'
schedule_idSchedule ID for recurring payments
card_tokenCredit card token value
card *Card mask, e.g. 411111****1111. Returned in the get-status response exactly as in the callback.
card_expiration_date *Card expiration date, e.g. 01/2038.
digital_walletWallet provider: googlepay, applepay
arn *Acquirer Reference Number value from the acquirer system
merchant_key *Merchant key (CLIENT_KEY) value
initiator *Initiator of the payment: Customer or Merchant.
sequence *Payment type in the token lifecycle: One-off, Initial, or Subsequent.
source *Source of the card data: Card, Network Token, Card On File, Internal Token, or Recurring Token.
payer fields *The full payer set is configurable in Protocol Mapping and returned when selected: payer_first_name, payer_last_name, payer_birth_date, payer_address, payer_address2, payer_house_number, payer_phone_country_code, payer_country, payer_state, payer_city, payer_district, payer_zip, payer_email, payer_phone, payer_ip.

* The parameters are included if the appropriate setup is configured in the admin panel (see “Add Data to” block in the Configurations -> Protocol Mappings section). The set of parameters returned in the get-status response is configurable via Protocol Mapping. The initiator / sequence / source Card-On-File attributes are populated automatically for MIDs with card_on_file_support enabled. initiator mirrors the payer_present value (Customer for CIT, Merchant for MIT); sequence reflects the token lifecycle (Initial on the transaction that creates the token, Subsequent on payments that reuse it, One-off when no token is involved); source reports where the card data came from.

Response Example
{
"action": "GET_TRANS_STATUS",
"result": "SUCCESS",
"status": "SETTLED",
"order_id": "1646655381neural",
"trans_id": "66624eba-9e10-11ec-aa41-0242ac130002",
"digital_wallet": "googlepay"
}

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).

⚠️ Pay attention

For additional information on working with cascading, please refer to the GET_TRANS_STATUS request section

Request parameters

ParameterDescriptionValuesRequired field
actionGET_TRANS_DETAILSGET_TRANS_DETAILS+
client_keyUnique key (client_key)UUID format value+
trans_idTransaction ID in 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 Payment Platform
namePayer name
mailPayer mail
ipPayer IP
amountOrder amount
currencyCurrency
cardCard in the format XXXXXX****XXXX.
If a digital wallet was used, the value obtained when decrypting the wallet token will be provided in this parameter
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
card_tokenCredit card token value
card_expiration_date *Card expiration date, e.g. 01/2038.
transactionsArray of transactions with the parameters:
- date
- type (sale, 3ds, auth, capture, credit, chargeback, reversal, refund)
- status (success, waiting, fail)
- amount
digital_walletWallet provider: googlepay, applepay
pan_typeIt refers to digital payments, such as Apple Pay and Google Pay, and the card numbers returned as a result of payment token decryption: DPAN (Digital Primary Account Number) and FPAN (Funding Primary Account Number).
arn *Acquirer Reference Number value from the acquirer system
payer fields *The full payer set is configurable in Protocol Mapping and returned when selected: payer_first_name, payer_last_name, payer_birth_date, payer_address, payer_address2, payer_house_number, payer_phone_country_code, payer_country, payer_state, payer_city, payer_district, payer_zip, payer_email, payer_phone, payer_ip.
merchant_key *Merchant key (CLIENT_KEY) value
initiator *Initiator of the payment: Customer or Merchant.
sequence *Payment type in the token lifecycle: One-off, Initial, or Subsequent.
source *Source of the card data: Card, Network Token, Card On File, Internal Token, or Recurring Token.

* The parameters are included if the appropriate setup is configured in the admin panel (see “Add Data to” block in the Configurations -> Protocol Mappings section). The set of parameters returned in the get-status response is configurable via Protocol Mapping. The initiator / sequence / source Card-On-File attributes are populated automatically for MIDs with card_on_file_support enabled. initiator mirrors the payer_present value (Customer for CIT, Merchant for MIT); sequence reflects the token lifecycle (Initial on the transaction that creates the token, Subsequent on payments that reuse it, One-off when no token is involved); source reports where the card data came from.

Response Example
{
"action": "GET_TRANS_DETAILS",
"result": "SUCCESS",
"status": "SETTLED",
"order_id": "1646655381neural",
"trans_id": "66624eba-9e10-11ec-aa41-0242ac130002",
"name": "John Rikher",
"mail": "test@gmail.com",
"ip": "192.169.217.106",
"amount": "0.02",
"currency": "USD",
"digital_wallet": "googlepay",
"card": "522864******0691",
"pan_type": "dpan",
"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"
}
]
}

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.

⚠️ Pay attention

For additional information on working with cascading, please refer to the GET_TRANS_STATUS request section

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
CREDIT2CARD - see Appendix A, Formula 6
Others - 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 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'
schedule_idSchedule ID for recurring payments
card_tokenCredit card token value
digital_walletWallet provider: googlepay, applepay
card *Card mask, e.g. 411111****1111.
card_expiration_date *Card expiration date, e.g. 01/2038.
arn *Acquirer Reference Number value from the acquirer system.
initiator *Card-On-File initiator: Customer or Merchant.
sequence *Card-On-File sequence: One-off, Initial, or Subsequent.
source *Card-On-File source: Card, Network Token, Card On File, Internal Token, or Recurring Token.
payer fields *The full payer set is configurable in Protocol Mapping and returned when selected: payer_first_name, payer_last_name, payer_birth_date, payer_address, payer_address2, payer_house_number, payer_phone_country_code, payer_country, payer_state, payer_city, payer_district, payer_zip, payer_email, payer_phone, payer_ip.

* Included when configured in the admin panel (Add Data to block in Configurations → Protocol Mappings). The set of parameters returned in the get-status response is configurable via Protocol Mapping.

Response Example
{
"action": "GET_TRANS_STATUS_BY_ORDER",
"result": "SUCCESS",
"status": "SETTLED",
"order_id": "1646655381neural",
"trans_id": "66624eba-9e10-11ec-aa41-0242ac130002",
"digital_wallet": "googlepay"
}

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 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)-
custom_dataArray with the custom data
This block duplicates the arbitrary parameters (overrides custom_data from initial SALE request) that were passed in the payment request
Format:
custom_data [param1]: value1
custom_data [param2]: value2
custom_data [paramN]: valueN
-
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.

RECURRING_DEBIT request


RECURRING_DEBIT creates a secondary debit using the token from a primary DEBIT transaction that was initialized with recurring_init = Y. It mirrors RECURRING_SALE, but for the debit flow.

To initialize the chain, send a DEBIT request with recurring_init = Y. On a successful settlement, the response and callback return a recurring_token. Use that token, together with the primary transaction ID, in the RECURRING_DEBIT request.

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

Request parameters

ParameterDescriptionValuesRequired field
actionRecurring debitRECURRING_DEBIT+
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. See the SALE request for the per-currency format rules.+
order_descriptionDescription of the transaction (product name)String up to 1024 characters+
recurring_first_trans_idTransaction ID of the primary DEBIT transaction in Payment PlatformUUID format value+
recurring_tokenValue obtained from the primary DEBIT transactionUUID format value+
custom_dataArbitrary merchant object stored with the transaction and returned in the callback notification.Object-
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 parameter action = RECURRING_DEBIT. You will receive a JSON encoded string with the result of the transaction.

Schedules apply to debits

Schedules (CREATE_SCHEDULE, PAUSE_SCHEDULE, RUN_SCHEDULE, DELETE_SCHEDULE, SCHEDULE_INFO, DESCHEDULE) now apply to DEBIT as well as SALE. Schedules are not separated by operation type; a schedule_id can drive recurring debits the same way it drives recurring sales.

RETRY request


RETRY request is used to retry funds charging for secondary recurring payments in case of soft decline.

This action creates RETRY transaction and can causes payment final status changing.

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

Request parameters

ParameterDescriptionValuesRequired field
actionRETRY RETRY +
client_keyUnique key (client_key)UUID format value+
trans_idTransaction ID of the softly declined recurring transaction which will be retried.UUID format value+
hashSpecial signature to validate your request to Payment Platformsee Appendix A, Formula 1+

Response parameters

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

Callback parameters

Successful response
ParameterDescription
actionRETRY 
resultSUCCESS
statusSETTLED
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in Payment Platform
amountAmount
currencyCurrency
hashSpecial signature, used to validate callback, see Appendix A, Formula 2
Unsuccessful response
ParameterDescription
actionRETRY 
resultDECLINED
statusDECLINED
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in Payment Platform
amountAmount
currencyCurrency
decline_reasonDescription of the cancellation of the transaction
hashSpecial signature, used to validate callback, see Appendix A, Formula 2

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 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
connector_name *Connector's name (Payment Gateway)
rrn *Retrieval Reference Number value from the acquirer system
approval_code *Approval code value from the acquirer system
gateway_id *Gateway ID – transaction identifier provided by payment gateway
extra_gateway_id *Extra Gateway ID – additional transaction identifier provided by payment gateway
merchant_name *Merchant Name
mid_name *MID Name
issuer_country *Issuer Country
issuer_bank *Issuer Bank
merchant_key *Merchant key (CLIENT_KEY) value
hashSpecial signature to validate callback, see Appendix A, Formula 2

* The parameters are included if the appropriate setup is configured in the admin panel (see “Add Extended Data to Callback” block in the Configurations -> Protocol Mappings section).

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 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 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 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 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 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 Payment PlatformUUID format value+
hashSpecial signature to validate your request to Payment Platformsee Appendix A, Formula 4+

What's next