S2S APM callback parameters
Payment Platform sends these parameters to your notification URL as an application/x-www-form-urlencoded POST. Parameters without a value are not sent. How to receive a callback, respond to it and verify it: Callbacks.
Always sent
| Parameter | Description |
|---|---|
action | The action the callback refers to: SALE, CAPTURE, CREDITVOID, VOID, DEBIT2VIRTUAL, DEBIT2VIRTUAL_CALC, CREDIT2VIRTUAL, CREDIT2CRYPTO, CHARGEBACK. See Values of action |
result | Result of the operation: SUCCESS, DECLINED, REDIRECT, UNDEFINED. CREDITVOID can also return WAITING, CREDIT2CRYPTO can also return INIT. |
status | Actual status of the transaction in Payment Platform: SETTLED, PENDING, PREPARE, 3DS, REDIRECT, DECLINED, REFUND, REVERSAL, VOID, CHARGEBACK. See Possible transaction results and statuses |
order_id | Transaction ID in the Merchant's system |
trans_id | Transaction ID in Payment Platform |
hash | Signature used to validate the callback, see Callback signature. CREDIT2VIRTUAL and CREDIT2CRYPTO use the Credit2Virtual callback signature. A SALE paid in cryptocurrency is signed with md5(strtoupper(strrev(email).PASSWORD.trans_id)), or sha256 if SHA256 is set for your account. See also Hash signature |
Values of action
action | Sent for |
|---|---|
SALE | A SALE payment, including its redirect step |
CAPTURE | A CAPTURE of a held payment |
CREDITVOID | A refund or reversal made with CREDITVOID |
VOID | A VOID |
DEBIT2VIRTUAL | A DEBIT2VIRTUAL |
DEBIT2VIRTUAL_CALC | A Calculate debit commission request: the commission is calculated and the payment waits for confirmation. After the confirmation, callbacks come with DEBIT2VIRTUAL. |
CREDIT2VIRTUAL | A CREDIT2VIRTUAL payout |
CREDIT2CRYPTO | A CREDIT2CRYPTO payout |
CHARGEBACK | A chargeback registered for the payment. Sent only when the chargeback is successful, with result = SUCCESS. |
Sent depending on the action and result
| Parameter | Sent in | Description |
|---|---|---|
trans_date | All actions except CREDITVOID and CHARGEBACK | Transaction date in Payment Platform |
amount | All actions except VOID | Amount of the operation: the payment amount, or the captured, refunded or charged-back amount for CAPTURE, CREDITVOID and CHARGEBACK. It has as many decimal places as the currency, for example 10.00 for USD |
currency | All actions except CREDITVOID, VOID and CHARGEBACK | Currency |
decline_reason | All actions except CHARGEBACK, when result = DECLINED | Description of the cancellation of the transaction |
descriptor | SALE, CAPTURE, DEBIT2VIRTUAL, DEBIT2VIRTUAL_CALC, CREDIT2CRYPTO, when available | Descriptor from the provider, the same as the payer will see in the statement. In most cases, this is the merchant's support website |
redirect_url | SALE, DEBIT2VIRTUAL, CREDIT2VIRTUAL, CREDIT2CRYPTO, when result = REDIRECT | URL to which the Merchant should redirect the Customer |
redirect_params | Same as redirect_url | Object with the 3DS or redirect parameters received from the acquirer, for example redirect_params[PaReq]. If the acquirer sends none, it is not sent and redirect_method = GET |
redirect_method | Same as redirect_url | The method of transferring parameters: POST, or GET when there are no redirect_params |
crypto_network | SALE paid in cryptocurrency | Blockchain network where the transaction is taking place |
crypto_address | SALE paid in cryptocurrency | Public address of a cryptocurrency wallet |
custom_data | SALE, CAPTURE, if custom_data was sent in the request | Object that duplicates the arbitrary parameters passed in the payment request |
commission | DEBIT2VIRTUAL, DEBIT2VIRTUAL_CALC | Commission for transaction |
total_amount | DEBIT2VIRTUAL, DEBIT2VIRTUAL_CALC | Total amount for transaction: amount + commission |
creditvoid_id | CREDITVOID | Refund/reversal transaction ID in Payment Platform. Every refund or reversal transaction, including a partial or declined one, has its own ID. trans_id is the ID of the original payment. |
creditvoid_date | CREDITVOID | Date of the refund/reversal |
chargeback_date | CHARGEBACK | System date of the chargeback |
bank_date | CHARGEBACK, when available | Bank date of the chargeback |
reason_code | CHARGEBACK, when available | Reason code of the chargeback |
The callback for each action, with successful and unsuccessful examples, is in the request guides, for example Sale Request.
Example
The example shows the decoded body, one parameter per line. On the wire the body is URL-encoded, for example custom_data%5Bcustomer_ref%5D=C-778.
SALE, successful
action=SALE
result=SUCCESS
status=SETTLED
order_id=ORDER-2001
trans_id=9f8e7d6c-5b4a-4c3d-8e2f-1a0b9c8d7e6f
trans_date=2026-10-07 11:02:47
amount=25.50
currency=EUR
custom_data[customer_ref]=C-778
hash=75818e2a2d0cbd7fb151612e431517a8
The hash is the Callback signature of these values with the password m3rch4ntP4ss. The string that gets hashed:
ELAS05.52RUE877-C1002-REDROSSECCUSDELTTES74:20:11 70-01-6202F6E7D8C9B0A1-F2E8-D3C4-A4B5-C6D7E8F9M3RCH4NTP4SS
Optional parameters
The parameters below are sent only if they are selected in the admin panel, under Configuration → Protocol Mapping, option Add Data to: Callback for the S2S APM protocol, and only when Payment Platform has a value for them. Ask your account manager to enable the ones you need.
For a SALE paid in cryptocurrency and for CREDIT2CRYPTO, these parameters are taken from the S2S CARD protocol mapping, and payment_method is crypto.
Transaction and merchant data
| Parameter | Description |
|---|---|
connector_name | Connector's name (payment gateway) |
rrn | Retrieval Reference Number value from the acquirer system |
arn | Acquirer Reference Number value from the acquirer system |
approval_code | Approval code value from the acquirer system |
gateway_id | Transaction identifier provided by the payment gateway |
extra_gateway_id | Additional transaction identifier provided by the payment gateway |
merchant_name | Merchant name |
merchant_key | Merchant key (CLIENT_KEY) value |
mid_name | MID name |
issuer_country | Issuer country |
issuer_bank | Issuer bank |
brand | Payment method brand used in the transaction |
payment_method | Payment method of the transaction: virtual, or crypto for cryptocurrency payments |
extended_data | Transaction extended data |
initial_amount | Amount from the original payment request, before any later change of the amount |
exchange_amount | Amount after the currency exchange. SALE and CAPTURE only, if a currency exchange was applied |
exchange_currency | Currency after the exchange. Same condition as exchange_amount |
exchange_rate | Rate used to make the exchange. Same condition as exchange_amount |
exchange_rate_base | Rate used in the double conversion to convert the original currency to the base currency. Same condition as exchange_amount |
Payer data
| Parameter | Description |
|---|---|
payer_first_name | Payer's first name |
payer_last_name | Payer's last name |
payer_birth_date | Payer's birth date |
payer_email | Payer's email |
payer_phone_country_code | Country code of the payer's phone |
payer_phone | Payer's phone |
payer_ip | Payer's IP address |
payer_country | Payer's country |
payer_state | Payer's state |
payer_city | Payer's city |
payer_district | Payer's district |
payer_address | Payer's address |
payer_house_number | Payer's house number |
payer_zip | Payer's ZIP code |
Browser metadata attributes
These fields carry the payer's browser data collected during the payment. If no data was collected, the fields are not sent.
| Parameter | Example | Description |
|---|---|---|
browser_color_depth | 24 | Screen color depth in bits. |
browser_screen_height | 1080 | Screen height in pixels. |
browser_screen_width | 1920 | Screen width in pixels. |
browser_java_enabled | 0 | Java support flag, 1 or 0. |
browser_javascript_enabled | 1 | JavaScript availability flag, 1 or 0. |
browser_language | uk-UA | Language set in the browser. |
browser_timezone_offset | -180 | Minutes between UTC and local time. |
browser_user_agent | Mozilla/5.0 ... | User-Agent string. |
browser_accept_headers | text/html, ... | HTTP Accept header. |
browser_platform | Win32 | Payer's operating system. |