Reversal notifications
Sometimes a pay-in credit to your Volt account could be reversed automatically (returned back to sender). The reversal could happen weeks or even months after receiving a pay-in credit. When this happens a notification can be triggered and sent to the notifications web hook URL provided during onboarding.
The credit_reversed
notification described below is not sent by default. If you wish to receive them, you need to opt-in. Please contact your account or implementation manager for further details, or email us at support@volt.io.
Retry strategy
Once received you should return an HTTP 200
response code.
If a response is not received, or the code you return is not 200
, we will retry 10 times, with an incremental delay. After the first failure, our support team will be notified and will be in contact with you. After the 10th failure, Volt will stop retrying.
Security
A checksum is provided in the notification headers. It is calculated using your notification secret, and the notification body. This way you can be sure that the notification has been sent by Volt, and has not been modified.
Headers
- Content-Type
- checksum
Body
{
"eventId": "02399d85-80b4-4945-8001-a75f0877432d",
"notificationType": "credit_reversed",
"timestamp": "2024-04-08T08:00:00+00:00",
"transactionDetails": {
"id": "f267bfe2-a17c-41b0-895d-e2f28ff12664",
"status": "SUCCESS",
"errors": [],
"debtorDetails": {
"debtorAccount": {
"accountNumber": "XXXXXXXXXXXXXXX",
"financialInstitution": "REVOLT21XXX",
"country": "LT"
},
"debtorName": "Adam Smith",
"debtorAddress": null,
"viban": null
},
"debitAmount": {
"amount": "1000",
"currency": "EUR"
},
"date": "2024-04-08T08:00:00+00:00",
"remittanceInfo": {
"line1": null,
"line2": null,
"line3": null,
"line4": null
},
"externalId": "72de0d43-7b15-4b57-b1cb-88b8c72d70fe",
"creditorDetails": {
"creditorAccount": {
"accountNumber": null,
"financialInstitution": null,
"country": null
},
"creditorName": "John Doe",
"creditorAddress": null,
"viban": null,
"account": {
"iban": null
}
},
"creditAmount": {
"amount": "1000",
"currency": "EUR"
},
"payerTransactionReference": null,
"accountId": "c8dc60d3-6955-4fc4-a9f0-3aa2fb050e6e",
"customerId": "208a3df4-b37b-469f-9cdb-5c9accdeb6bd",
"bankDetails": null,
"externalTransactionReference": "TESTTRX123",
"identificationSetId": null,
"quoteId": null,
"exchangeRate": 1.0,
"originalCreditId": "f72fe6a7-6a6c-4110-81d2-eb9ae15b5b58",
"reversalDetails": []
}
}
Body fields
eventType | uuid | notification identifier |
---|---|---|
notificationType |
string | credit_reversed |
timestamp | timestamp | timestamp when notification was created and sent |
transactionDetails.id | uuid | Volt reversal identifier |
transactionDetails.status | string | always SUCCESS |
transactionDetails.errors | array | empty for reversals |
transactionDetails.debtorDetails.debtorAccount.accountNumber | string | IBAN or Account Number |
transactionDetails.debtorDetails.debtorAccount.financialInstitution | string | SWIFT/BIC or Sort code |
transactionDetails.debtorDetails.debtorAccount.country | string | country code |
transactionDetails.debtorDetails.debtorName | string | original credit beneficiary name |
transactionDetails.debtorDetails.debtorAddress | JSON | { “line1”: “LIPOLOL 25”, “line2”: “AMSTERDAM”, “line3”: null } |
transactionDetails.debtorDetails.viban | string | virtual IBAN number (if available) |
transactionDetails.debitAmount.amount | string | amount in minor units |
transactionDetails.debitAmount.currency | string | currency code |
transactionDetails.date | timestamp | |
transactionDetails.remittanceInfo | JSON | { “line1”: “Description that Shopper provides 35 max”, “line2″: ” in each line Ref$444231 can be more”, “line3”: null, “line4”: null } |
transactionDetails.externalId | uuid | transaction identifier at banking provider (if available) |
transactionDetails.creditorDetails.creditorAccount.accountNumber | string | IBAN or Account Number |
transactionDetails.creditorDetails.creditorAccount.financialInstitution | string | SWIFT/BIC or Sort code |
transactionDetails.creditorDetails.creditorAccount.country | string | country code |
transactionDetails.creditorDetails.creditorName | string | original credit payer name |
transactionDetails.creditorDetails.creditorAddress | JSON | { “line1”: “LIPOLOL 25”, “line2”: “AMSTERDAM”, “line3”: null } |
transactionDetails.creditorDetails.viban | string | virtual IBAN number (if available) |
transactionDetails.creditAmount.amount | string | amount in minor units |
transactionDetails.creditAmount.currency | string |
currency code |
payerTransactionReference | string |
always null for reversal |
accountId | uuid |
Volt account unique ID |
customerId | uuid |
Volt merchant unique ID |
bankDetails | string |
always null for reversal |
externalTransactionReference | string |
transaction reference given by external banking provider |
identificationSetId | string |
always null for reversal |
quoteId | string |
always null for reversal |
exchangeRate | float |
always 1.0 for reversal |
originalCreditId | uuid |
Volt credit ID which is being reversed |
reversalDetails | JSON |
[ |
- On this page
- Reversal notifications