Skip to main content

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​

ParameterDescription
actionThe action the callback refers to: SALE, CAPTURE, CREDITVOID, VOID, DEBIT2VIRTUAL, DEBIT2VIRTUAL_CALC, CREDIT2VIRTUAL, CREDIT2CRYPTO, CHARGEBACK. See Values of action
resultResult of the operation: SUCCESS, DECLINED, REDIRECT, UNDEFINED. CREDITVOID can also return WAITING, CREDIT2CRYPTO can also return INIT.
statusActual status of the transaction in Payment Platform: SETTLED, PENDING, PREPARE, 3DS, REDIRECT, DECLINED, REFUND, REVERSAL, VOID, CHARGEBACK. See Possible transaction results and statuses
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in Payment Platform
hashSignature 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​

actionSent for
SALEA SALE payment, including its redirect step
CAPTUREA CAPTURE of a held payment
CREDITVOIDA refund or reversal made with CREDITVOID
VOIDA VOID
DEBIT2VIRTUALA DEBIT2VIRTUAL
DEBIT2VIRTUAL_CALCA Calculate debit commission request: the commission is calculated and the payment waits for confirmation. After the confirmation, callbacks come with DEBIT2VIRTUAL.
CREDIT2VIRTUALA CREDIT2VIRTUAL payout
CREDIT2CRYPTOA CREDIT2CRYPTO payout
CHARGEBACKA chargeback registered for the payment. Sent only when the chargeback is successful, with result = SUCCESS.

Sent depending on the action and result​

ParameterSent inDescription
trans_dateAll actions except CREDITVOID and CHARGEBACKTransaction date in Payment Platform
amountAll actions except VOIDAmount 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
currencyAll actions except CREDITVOID, VOID and CHARGEBACKCurrency
decline_reasonAll actions except CHARGEBACK, when result = DECLINEDDescription of the cancellation of the transaction
descriptorSALE, CAPTURE, DEBIT2VIRTUAL, DEBIT2VIRTUAL_CALC, CREDIT2CRYPTO, when availableDescriptor from the provider, the same as the payer will see in the statement. In most cases, this is the merchant's support website
redirect_urlSALE, DEBIT2VIRTUAL, CREDIT2VIRTUAL, CREDIT2CRYPTO, when result = REDIRECTURL to which the Merchant should redirect the Customer
redirect_paramsSame as redirect_urlObject 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_methodSame as redirect_urlThe method of transferring parameters: POST, or GET when there are no redirect_params
crypto_networkSALE paid in cryptocurrencyBlockchain network where the transaction is taking place
crypto_addressSALE paid in cryptocurrencyPublic address of a cryptocurrency wallet
custom_dataSALE, CAPTURE, if custom_data was sent in the requestObject that duplicates the arbitrary parameters passed in the payment request
commissionDEBIT2VIRTUAL, DEBIT2VIRTUAL_CALCCommission for transaction
total_amountDEBIT2VIRTUAL, DEBIT2VIRTUAL_CALCTotal amount for transaction: amount + commission
creditvoid_idCREDITVOIDRefund/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_dateCREDITVOIDDate of the refund/reversal
chargeback_dateCHARGEBACKSystem date of the chargeback
bank_dateCHARGEBACK, when availableBank date of the chargeback
reason_codeCHARGEBACK, when availableReason 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​

ParameterDescription
connector_nameConnector's name (payment gateway)
rrnRetrieval Reference Number value from the acquirer system
arnAcquirer Reference Number value from the acquirer system
approval_codeApproval code value from the acquirer system
gateway_idTransaction identifier provided by the payment gateway
extra_gateway_idAdditional transaction identifier provided by the payment gateway
merchant_nameMerchant name
merchant_keyMerchant key (CLIENT_KEY) value
mid_nameMID name
issuer_countryIssuer country
issuer_bankIssuer bank
brandPayment method brand used in the transaction
payment_methodPayment method of the transaction: virtual, or crypto for cryptocurrency payments
extended_dataTransaction extended data
initial_amountAmount from the original payment request, before any later change of the amount
exchange_amountAmount after the currency exchange. SALE and CAPTURE only, if a currency exchange was applied
exchange_currencyCurrency after the exchange. Same condition as exchange_amount
exchange_rateRate used to make the exchange. Same condition as exchange_amount
exchange_rate_baseRate used in the double conversion to convert the original currency to the base currency. Same condition as exchange_amount

Payer data​

ParameterDescription
payer_first_namePayer's first name
payer_last_namePayer's last name
payer_birth_datePayer's birth date
payer_emailPayer's email
payer_phone_country_codeCountry code of the payer's phone
payer_phonePayer's phone
payer_ipPayer's IP address
payer_countryPayer's country
payer_statePayer's state
payer_cityPayer's city
payer_districtPayer's district
payer_addressPayer's address
payer_house_numberPayer's house number
payer_zipPayer'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.

ParameterExampleDescription
browser_color_depth24Screen color depth in bits.
browser_screen_height1080Screen height in pixels.
browser_screen_width1920Screen width in pixels.
browser_java_enabled0Java support flag, 1 or 0.
browser_javascript_enabled1JavaScript availability flag, 1 or 0.
browser_languageuk-UALanguage set in the browser.
browser_timezone_offset-180Minutes between UTC and local time.
browser_user_agentMozilla/5.0 ...User-Agent string.
browser_accept_headerstext/html, ...HTTP Accept header.
browser_platformWin32Payer's operating system.