Skip to main content

S2S CARD 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, RECURRING_SALE, CAPTURE, CREDITVOID, VOID, DEBIT, RECURRING_DEBIT, CREDIT2CARD, CARD2CARD, CHARGEBACK. See Values of action
resultResult of the operation: SUCCESS, DECLINED, REDIRECT, UNDEFINED. CREDITVOID can also return WAITING.
statusActual status of the transaction in Payment Platform: SETTLED, PENDING, PREPARE, 3DS, REDIRECT, DECLINED, REFUND, REVERSAL, VOID, CHARGEBACK. See Transaction results and statuses
order_idTransaction ID in the Merchant's system
trans_idTransaction ID in Payment Platform
hashSignature used to validate the callback: Formula 2, or Formula 6 for CREDIT2CARD. See also Hash signature

Values of action​

actionSent for
SALEA SALE payment, including a payment with auth = Y and its redirect or 3DS step
RECURRING_SALEA Recurring Sale, a payment created by a schedule, and a RETRY of a recurring payment
CAPTUREA CAPTURE of a held payment
CREDITVOIDA refund or reversal made with CREDITVOID
VOIDA VOID
DEBITA DEBIT
RECURRING_DEBITA Recurring Debit
CREDIT2CARDA CREDIT2CARD payout
CARD2CARDA CARD2CARD transfer
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, RECURRING_SALE, CAPTURE, DEBIT, RECURRING_DEBIT, CARD2CARD, when availableDescriptor from the bank, the same as the cardholder will see in the bank statement
redirect_urlSALE, RECURRING_SALE, DEBIT, RECURRING_DEBIT, CARD2CARD, CREDIT2CARD, 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
cardSALE, RECURRING_SALE, CAPTURE, DEBIT, RECURRING_DEBITCard mask. If a digital wallet was used, the value obtained when decrypting the wallet token
card_expiration_dateSame as cardCard expiration date
card_tokenSALE, RECURRING_SALE, CAPTURE, DEBIT, RECURRING_DEBIT, if req_token was enabled or the payment was made with card_token. Not sent for a declined paymentCard token
recurring_tokenSALE and DEBIT sent with recurring_init = Y, if recurring payments are enabled for your account, once the payment is SETTLED (a SALE also when PENDING). Not sent in the CAPTURE callbackRecurring token to use in the following RECURRING_SALE and RECURRING_DEBIT requests
schedule_idSALE, RECURRING_SALE, CAPTURE, if a schedule is usedSchedule ID
first_recurring_dateSame as schedule_idDate of the first automatic charge by the schedule. Format: YYYY-MM-DD HH:MM:SS
schedule_start_dateSALE, RECURRING_SALE, CAPTURE, if schedule_start_date was sent in the initiating requestDate of the first scheduled payment. Format: YYYY-MM-DD HH:MM:SS
payment_schedule_amountSALE, RECURRING_SALE, CAPTURE, if payment_schedule_amount was sent in the initiating requestAmount of the payments created later by the schedule
digital_walletSALE, RECURRING_SALE, CAPTURE, for a digital wallet paymentWallet provider: googlepay (Google Pay) or applepay (Apple Pay)
pan_typeSame as digital_walletType of the card number obtained when the Apple Pay or Google Pay token is decrypted: DPAN (Digital Primary Account Number) or FPAN (Funding Primary Account Number)
moto_typeSALE, RECURRING_SALE, CAPTURE, for a MOTO (mail order / telephone order) paymentThe moto_type value from the request
custom_dataSALE, RECURRING_SALE, CAPTURE, if custom_data was sent in the requestObject that duplicates the arbitrary parameters passed in the payment request
commissionDEBIT, RECURRING_DEBITCommission charged on top of the amount
total_amountDEBIT, RECURRING_DEBITAmount plus 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 Payment operation types.

Examples​

The examples show the decoded body, one parameter per line. On the wire the body is URL-encoded, for example card=411111%2A%2A%2A%2A%2A%2A1111 and redirect_params%5BMD%5D=.... The hashes are calculated with the values from the Formula 2 worked example: payer email [email protected], password m3rch4ntP4ss and card 4111111111111111.

SALE, successful
action=SALE
result=SUCCESS
status=SETTLED
order_id=ORDER-1001
trans_id=1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
trans_date=2026-10-07 10:15:32
amount=10.00
currency=USD
card=411111******1111
card_expiration_date=01/2038
hash=08e0d6cf105fb585e5bfacb0852f6ab3
SALE, 3DS redirect
action=SALE
result=REDIRECT
status=3DS
order_id=ORDER-1002
trans_id=7c1e4f2a-9b3d-4e5f-8a6b-2d4c6e8f0a1b
trans_date=2026-10-07 10:20:05
amount=10.00
currency=USD
redirect_url=https://acs.examplebank.com/3ds
redirect_params[PaReq]=examplePaReqValue
redirect_params[MD]=exampleMDValue
redirect_method=POST
card=411111******1111
card_expiration_date=01/2038
hash=c4ce8a604b765dabe827c4c732a7ba51

The final result of this payment arrives in a later callback with the same trans_id.

SALE, declined
action=SALE
result=DECLINED
status=DECLINED
order_id=ORDER-1003
trans_id=5e8f1a3c-2b4d-4f6e-9a7c-3e5f7a9c1b2d
trans_date=2026-10-07 10:31:47
amount=10.00
currency=USD
decline_reason=Declined by processing.
card=411111******1111
card_expiration_date=01/2038
hash=6646616f389ef7f433b59d159159c540
CREDITVOID, partial refund
action=CREDITVOID
result=SUCCESS
status=SETTLED
order_id=ORDER-1001
trans_id=1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
creditvoid_id=3f6a9c2e-1d4b-4a7e-b5c8-6e9f2a4c7d1b
creditvoid_date=2026-10-08 09:00:12
amount=4.00
hash=08e0d6cf105fb585e5bfacb0852f6ab3

trans_id and hash are those of the original payment, and amount is the refunded amount. status stays SETTLED until the whole amount is refunded.

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, and only when Payment Platform has a value for them. Ask your account manager to enable the ones you need.

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, for example card or recurring
extended_dataTransaction extended data
initial_amountAmount from the original payment request, before any later change of the amount
payment_positionPosition of the payment in the chain of recurring payments
exchange_amountAmount after the currency exchange. SALE, RECURRING_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_address2Payer's additional address line
payer_house_numberPayer's house number
payer_zipPayer's ZIP code

Card-on-File attributes​

initiator, sequence and source. See Payment attributes for their values and meaning.

Schedule data​

ParameterDescription
next_payment_date_by_scheduleDate and time of the next charge by the schedule. Format: YYYY-MM-DD HH:MM:SS. Available when a schedule is applied.
current_payment_sequence_by_scheduleSequence number of this payment within the schedule, for example 7. Available when a schedule is applied.

3DS authentication attributes​

The 3DS attributes below can be configured (Protocol Mapping → Add Data to: Callback) and are returned only if Payment Platform receives them from the acquirer, from an MPI service configured for your account, or from your own MPI in mpi_data. Confirm the available fields with your account manager.

ParameterDescription
three_ds_server_trans_id3DS Server transaction ID. Identifies the authentication session end-to-end. In EMV 3-D Secure: threeDSServerTransID.
ds_trans_idDirectory server transaction ID (Visa, Mastercard, or other scheme). In EMV 3-D Secure: dsTransID.
acs_trans_idACS (issuing bank) transaction ID. In EMV 3-D Secure: acsTransID.
xidMain 3DS v1.0 transaction ID. Empty for 3DS v2 flows.
trans_statusThe authentication result. See trans_status values. In EMV 3-D Secure: transStatus.
trans_status_reasonReason code accompanying trans_status. Useful when the status is non-success. In EMV 3-D Secure: transStatusReason.
eciElectronic Commerce Indicator. Maps to liability shift conditions per scheme. See ECI values.
protocol_version1.0.2, 2.1.0, 2.2.0, etc. Earlier versions of this documentation named it protocolVersion.
authentication_flow01 for frictionless, 02 for challenge. Earlier versions of this documentation named it authenticationFlow.

trans_status values​

ValueMeaningRecommended action
YAuthenticated successfully. Liability shift to the issuer typically applies; confirm with your scheme rules and the eci value in the callback.Proceed with the payment.
NNot authenticated. Cardholder failed verification.Treat as declined; do not charge.
UUnable to authenticate. ACS could not complete (technical issue).Decide per risk policy: decline, or fall back to non-3DS with full merchant liability.
AAttempted. Issuer not enrolled; merchant attempted authentication.Liability shift varies by scheme; usually safe to proceed.
CChallenge required. The cardholder must complete the ACS challenge.A follow-up callback arrives once the challenge finishes.
RRejected by issuer.Treat as declined.
IInformational only (3RI / 3DS-Requestor Initiated).Not used in standard payment flows.

ECI values​

eci works alongside trans_status to determine liability:

  • 05 (Visa) / 02 (Mastercard): fully authenticated, liability shifts.
  • 06 (Visa) / 01 (Mastercard): attempted authentication, liability shifts in most cases.
  • 07 (Visa) / 00 (Mastercard): no authentication, full merchant liability.

Browser metadata attributes​

Also configurable under Protocol Mapping → Add Data to: Callback. These fields carry the payer's browser data collected during the redirect / 3DS flow. If no data was collected, for example in a frictionless authentication without a redirect, 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.