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, DEBIT, 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 john@example.com, 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)
acquirer_nameName of the acquirer set on the MID that processed the payment. Not sent if the MID has no acquirer
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
card_typeCard type from the BIN base: CREDIT, DEBIT or CHARGE CARD
card_levelCard category (level) from the BIN base, for example CLASSIC, GOLD, PLATINUM, BUSINESS
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.