Payment Notification
The payment notification is used to notify the business partner that the customer has paid the transaction.
It is a plain text POST request sent to your pnURL, which is specified in createDisposition.
-
Payment notification is only delivered if the customer entered a PIN on the payment panel and the transaction is ready to be executed.
-
In case of technical errors, for example socket timeout, or application errors, for example HTTP
500response, the payment notification is resubmitted at a regular interval until one of the following criteria is fulfilled:-
The payment notification is successfully delivered, meaning an HTTP
200response is received from the payment server. -
The maximum number of retry attempts has been reached. This is currently configured at 5 retries.
-
The payment has been closed successfully without answering the payment notification, independent of the transaction status.
-
The payment status changes to
X.
-
-
Included parameters are:
mtid,eventTypealwaysASSIGN_CARDS,serialNumbers,currency, disposition amount, andcardTypeID, which is the country code plus the ID of the card, for exampleAT_classic. -
The business partner must respond with HTTP
200upon receiving the payment notification. -
The payment notification will be sent from one of the following IP addresses.
IP addresses
18.197.120.90
18.158.237.76
3.64.155.76
3.76.4.148
3.127.123.143
176.34.172.250
54.228.173.185
52.48.213.182
18.200.202.144
Example
mtid=3516-6s4dfsad41&eventType=ASSIGN_CARDS&serialNumbers=1888540789315005%3BEUR%3B1.00%3BAT00002%3B
JSON payment notification
A JSON version with all possible parameters is also available.
Example
{
"body": {
"timestamp": 1601916702012,
"eventType": "ASSIGN_CARDS",
"version": "1",
"data": {
"mid": "1090002661",
"customer": {
"id": "kfoLkCq3RBIIJiF6sJWBeYA4tnfsCms2"
},
"payment_id": "3516-6s4dfsad41",
"payment_instrument": "paysafecard",
"payment_instrument_subtype": "code",
"card_details": [
{
"serial": "1888540789315005",
"currency": "EUR",
"amount": 1,
"type": "00002",
"country": "AT"
}
]
}
}
}
JSON payment notification response objects
| Parameter | Type | Description |
|---|---|---|
timestamp | Unix timestamp in ms | The time of the card assign event. |
eventType | String | The event type that triggered the payment notification. |
version | String | API version number. |
data | Array | Contains the data of the transaction. |
mid | String | The 10-digit Merchant ID. |
customer | Array | Contains the customer data. |
id | String | The unique customer identifier provided by the business partner. |
submerchant_id | String | The sub-merchant ID. Also known as reporting criteria. Only returned if provided during payment request. |
payment_id | String | The PaysafeCard transaction ID. Unique identifier for a payment. |
payment_instrument | String | The payment method used. Possible values are paysafecard, paysafecash, giftcard, pagoefectivo, or safetypay. Contact PaysafeCard if you want this parameter. |
payment_instrument_subtype | String | The subtype of the payment method used. Possible values are: for giftcard, cvspharmacy, dollargeneral, openbuckscard; for safetypay and pagoefectivo, cash or online; for PaysafeCard, code or account. Contact PaysafeCard if you want this parameter. |
card_details | Array | Contains the details of the card used for the transaction, up to 10 iterations, which is the maximum number of cards that can be used in a single transaction, with the card information. |
serial | String | The serial number that identifies the card. |
currency | String | The currency code of the card in ISO 4217 3-digit format. |
amount | float | The amount used from the card, with 2 decimal numbers. |
type | String | The 5-character code that identifies the card type. |
country | Array | The country code of the card in ISO 3166-1 2-digit format. |
The business partner must contact the PaysafeCard integration team at integration@paysafecard.com if this version is preferred.