Payment Notification
The payment notification is a server‑to‑server callback used to inform the business partner about the result of a payment.
Providing a notification URL is mandatory when using the REST API, PaysafeCard sends the payment notification to this URL to ensure that the merchant is reliably informed about the payment outcome.
When Is the Payment Notification Triggered?
The payment notification is triggered as soon as the customer authorizes the payment in the PaysafeCard payment panel (for example, by paying with a PaysafeCard voucher or a PaysafeCard account).
Once authorization occurs, the notification is sent to the merchant’s notification URL regardless of what the customer does afterward.
The delivery of the payment notification is completely independent of the customer’s experience after authorizing the payment in the PaysafeCard payment panel.
This includes cases where the customer:
- closes the browser,
- loses network connectivity,
- does not return to the merchant’s website, or
- encounters an error during redirection.
Using payment notifications is strongly recommended to ensure reliable payment completion, even if the customer does not return to the merchant’s website after authorization. This helps prevent incomplete actions such as missing account top‑ups.
Delivery and Retry Behavior
If a payment notification cannot be delivered due to technical issues (for example, a socket timeout) or application errors (such as an HTTP 500 response), the notification will be retried automatically at regular intervals.
The payment notification must return an HTTP 200 response.
Any other response code will be treated as a failure and will trigger a retry.
Retries continue until one of the following conditions is met:
- The notification is successfully delivered (HTTP
200response). - The maximum number of retry attempts is reached (currently 5 retries).
Source IP Addresses
Payment notifications are sent exclusively from the IP addresses listed below.
These addresses must be allow‑listed in your firewall configuration.
| 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 |
Notification Payloads
The payment notification contains only the parameters required to process the event.
URL‑Encoded Example
mtid=pay_1090002661_cnHxyChsiKHcyLKKrhehF3rad1taYtQe_EUR&
eventType=ASSIGN_CARDS&
serialNumbers=1888540789315005%3BEUR%3B1.00%3BAT00002%3B
A JSON‑based payment notification containing additional payment parameters is available on request.
{
"timestamp": 1601916702012,
"eventType": "ASSIGN_CARDS",
"version": "1",
"data": {
"mid": "1090002661",
"customer": {
"id": "kfoLkCq3RBIJiJF6sJWBeYA4tnfsCms2"
},
"payment_id": "pay_1090002661_jXsSxwdQM5BoQCcXTtuEMCsdKPKRZPiq_EUR",
"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: paysafecard; paysafecash, giftcard, pagoefectivo or safetypay Contact PaysafeCard if you want this parameter |
payment_instrument_subtype | String | The type of giftcard used. Possible values: for giftcard->cvspharmacy, dollargeneral, openbuckscard. For safetypay and pagoefectivo->cash, online. For PaysafeCard->code or account Contact PaysafeCard if you want this paramater |
bank_id | String | The type bank used for SafetyPay Possible values: See here Contact PaysafeCard if you want this paramater |
card_details | Array | Contains the details of the card used for the transaction (up to 10 iterations - max. 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 characters code that identifies the card type. |
country | Array | The country code of the card in ISO 3166-1 2-digit format. |
To receive the JSON version of the payment notification, please contact the PaysafeCard Integration Team at integration@paysafecard.com.