S2S CARDPAY

Table of Contents

S2S CARDPAY #

Version: 5.3.2
Released: 2025/03/01

Copyrighted by lddPay

Introduction #


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

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

⚠️ Pay attention

To work with S2S CARDPAY 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 consistently receiving timeouts in response to the callback. If five timeouts accumulate within five minutes for a merchant’s notification URL, it will be blocked for 15 minutes. During this block, all merchants associated with the URL will not receive notifications. The block automatically lifts after 15 minutes. Additionally, it is possible to manually unblock the URL through the admin panel by navigating to Configuration → Merchants → Edit Merchant. In this case, the block will be removed immediately. The timeout counter resets if a callback response is successfully processed. For instance, if there are four timeouts within five minutes but a successful response on the sixth minute, the counter resets.

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 CARDPAY 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:

#

3DS features 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.

#

Redirect parameters Key – Value #

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

#

Redirect parameters “name” & “value” #

  • 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
UNDEFINEDThe transaction has an undefined status. Status could be changed to success or fail

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

⚠️ 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
+
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
parameters [param2]: value2
parameters [paramN]: valueN
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+

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

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
hashSpecial 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.
custom_dataObject with the custom data.
This block duplicates the arbitrary parameters that were passed in the payment request
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
custom_dataObject with the custom data.
This block duplicates the arbitrary parameters that were passed in the payment request
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)
custom_dataObject with the custom data.
This block duplicates the arbitrary parameters that were passed in the payment request
Undefined sale response #
ParameterDescription
actionSALE
resultUNDEFINED
status3DS / REDIRECT / PENDING / PREPARE
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
currencyOrder currency
custom_dataObject with the custom data.
This block duplicates the arbitrary parameters that were passed in the payment request
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 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
Undefined capture response #
ParameterDescription
actionCAPTURE
resultUNDEFINED
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

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
Undefined capture response #
ParameterDescription
actionCAPTURE
resultUNDEFINED
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
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
Undefined refund/reversal response #
ParameterDescription
actionCREDITVOID
resultUNDEFINED
statusSETTLED
order_idTransaction ID in the Merchant’s system
trans_idTransaction ID in the Payment Platform
creditvoid_dateTransaction date in the 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 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
Undefined void response #
ParameterDescription
actionVOID
resultUNDEFINED
statusPENDING / SETTLED
order_idTransaction ID in the Client’s system
trans_idTransaction ID in the Payment Platform
trans_dateTransaction date in the Payment Platform

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.
Undefined void response #
ParameterDescription
actionVOID
resultUNDEFINED
statusPENDING / SETTLED
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.

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)
Undefined response #
ParameterDescription
actionDEBIT
resultUNDEFINED
status3DS / REDIRECT / PREPARE
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

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)

Undefined response

ParameterDescription
actionDEBIT
resultUNDEFINED
statusREDIRECT / 3DS / PREPARE
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

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
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+

#

CREDIT2CARD Request Parameter Example #

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

#

CREDIT2CARD Response Parameter Example #

  • 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

#

CREDIT2CARD Unsuccessful Response #

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

#

Undefined Result #

  • 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 the Payment Platform
trans_dateDate of CREDIT2CARD action
hashSpecial signature to validate callback. See Appendix A, Formula 6

#

Callback Successful Result #

  • 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 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 Unsuccessful Result #

  • 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 the Payment Platform
trans_dateDate of CREDIT2CARD action
hashSpecial signature to validate callback. See Appendix A, Formula 6

#

Callback Undefined Result #

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

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
Undefined response #
ParameterDescription
actionCARD2CARD
resultUNDEFINED
status3DS / REDIRECT / PREPARE
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

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)

Undefined response

ParameterDescription
actionCARD2CARD
resultUNDEFINED
status3DS / REDIRECT / PREPARE
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

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’
schedule_idSchedule ID for recurring payments

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
Array of transactions with the parameters:
– date
– type (sale, 3ds, auth, capture, credit, chargeback, reversal, refund)
– status (success, waiting, fail)
– amount

#

GET_TRANS_DETAILS request – Response Parameter #

  • Response Example

    {

        “action”: “GET_TRANS_DETAILS”,

        “result”: “SUCCESS”,

        “status”: “REFUND”,

        “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”,

        “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
CREDIT2CARD – see Appendix A, Formula 6
Others – see Appendix A, Formula 2
+

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’
schedule_idSchedule ID for recurring payments

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.

#

Error Response #

  • 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/2038This 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/2038This 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/2038This 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/2038This 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/2038This 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/2038This 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/2039This 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}

4601541833776519
not applicableThis card number must be used for testing successful credit.
Response on successful CREDIT2CARD request:
{action: CREDIT2CARD, result: SUCCESS, status: SETTLED}

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_emaildoe@example.com
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.

#

Curl request #

  • 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&

    payer_email=doe@example.com&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

#

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”

    }

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

#

RECURRING_SALE 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 #

#

CREDITVOID Sample Request #

  • 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

#

CREDITVOID 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+

#

SALE request – Sample Curl #

  • 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&

    payer_email=doe@example.com&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+

#

Additional parameters – Set 2 (FCP) – Curl Request #

  • 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&

    payer_email=doe@example.com&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

#

Additional parameters – Set 3 (TWD) – Curl Request #

  • 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&

    payer_email=doe@example.com&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

#

DEBIT request (ERS) – Curl Request #

  • 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&

    payer_email=doe@example.com&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

#

CREDIT2CARD (ERS) – Curl Request #

  • 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&payee_email=doe@example.com&

    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&payer_email=doe@example.com&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
+

#

Additional parameters – Set 2 (PWD) – Curl Request #

  • 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&payee_email=doe@example.com&

    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&payer_email=doe@example.com&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

#

CARD2CARD (PRC) – Curl Request #

  • 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&payer_email=doe@example.com&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&payee_email=doe@example.com&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

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to Top