The PayPaga platform provides Transaction Status Notifications that can be sent to a merchant defined API URL and/or to an email address list. Configuration of transaction status notifications is performed via the Developer's section of the Merchant Portal for each environment. The configuration uses a JSON format, the following is an example:{
"notificationActivation": {
"email": true,
"api": false
},
"apiEndpoint": "https://your-api-endpoint.com/your-webhook",
"failedWebhookEmailList": [
"user1@example.com",
"user2@example.com"
],
"notificationEmailList": [
"user3@example.com",
"user4@example.com"
]
}
The use of a port number in the apiEndpoint value is not allowed.
The payload of the API call and email is as follows:{
"transaction_id": "XXXXX-XXXX-XXXX-XXXXX",
"status": "Cmpleted",
"merchant_id": "XXXXX-XXXX-XXXX-XXXXX",
"transaction_type": "payin or payout",
"merchant_transaction_reference": "XXXXXXXX-XXXX-XXX"
}
Parameter | Description | |
---|
transaction_id | Unique PayPaga assigned transaction identifier |
status | New status for the transaction |
status | New status for the transaction | Enum values:Approved | Payment provider successfully processed the transaction. Final successful state | Declined | Payment provider declined the transaction during processing. Final failed state | Error | Unexpected error during processing. Final failed state | Canceled | Payment provider cancelled the transaction. Final failed sate |
|
transaction_type | Transaction type | Enum values:Payin | Pay In transaction | Payout | Pay Out transaction |
|
merchant_transaction_reference | Merchant supplied unique transaction identifier for correlation | - Max length: 45
- Pattern: ^[A-Za-z0-9-_]+
|
Status code: 200
Body: Empty
Any other status code will be considered failed webhook request.Paypaga will attempt the notification request 3 times. If all attempts fail an email will be sent to the configured failedWebhookEmailList email list.The first retry will occur after 30 seconds with backoff rate multiplier duplicating timeout for every attempt , for example:30 seconds later second attempt FAILED
60 seconds later third attempt FAILED, send email with Payload to failedWebhookEmailList
In order to retrieve more details about the notified transaction use the applicable ‘Transaction Query’ API relevant to the transaction type.