Refund
Refund a transfer payment
A refund is made by providing to the API call information about the payment to refund through paymentId
and the transfer linked to that payment through transferId
.
In the request you can indicate the list of contributions, that will state which original creditor will contribute which amount to the refund. In case there are no contributions, the request will be considered as a full refund.
For the payments that are funding multiple transfers, you have to request a refund for each transfer adding each specific transferId
in the call.
In the headers of the response, you will find the UUID of the refund payment that will be made to the debtor. This way you will be able to follow the status of that payment.
Full refunds
A full refund is made when the list of contributions
is empty.
Digiteal retrieves the full amount of all the payments made to all the creditors through SDD with a standard communication.
Once all the funds are retrieved, a refund is made to the debtor through SCT with a standard communication. The communication can be overridden using the communication
attribute.
Full refund example
{ "communication": "Refund from payment cart-1234 of 15/05/2023 from MyMarketplace" }
Partial refunds
To request a partial refund, you can use the contributions
attribute. Each contribution will define the amount to be refunded from one of the creditors linked to the transfer. Only the contributions defined in the request are refunded.
The amount of each contribution must be positive and must not exceed the amount that was paid to the creditor.
Partial refund example
{ "communication": "Refund from payment cart-1234 of 15/05/2023 from MyMarketplace", "refundContributions": [ { "contributorIban": "ES0720951914701193632422", "amountInCents": "9250", "currency": "EUR", "communication": "Refund from payment cart-1234 of 15/05/2023 from MyMarketplace", "reference": "REFERENCE_ID1" }, { "contributorIban": "ES1401827984057893687272", "amountInCents": "750", "currency": "EUR", "communication": "Refund from payment cart-1234 of 15/05/2023 from MyMarketplace", "reference": "REFERENCE_ID2" } ] }
Webhooks
You can subscribe to webhooks to be notified during the refund process.
Refund received
Webhook type
TRANSFER_REIMBURSEMENT_RECEIVED
A notification is send with the confirmation that Digiteal received the funds from a creditor. This webhook will be sent for each creditor.
The payload for this webhook is defined in the callback section of the refund payment endpoint.
This payload contains:
payment
: information of the payment that is refunded.transfer
, transfer that it is refunded, which contains thereference
used in the payout operation.
Refund started
Webhook type
TRANSFER_REIMBURSEMENT_STARTED
Once Digiteal receives all the funds from all the creditors, a notification is send to inform that Digiteal is about to send the full amount as a unique payment to the debtor.
The payload for this webhook is defined in the callback section of the refund payment endpoint.
This payload contains:
transferID
: id of the transfer that that it is refunded.parentBankTransactionID
: id of the original payment that is refunded (provided in thecommunication
parameter of the request refund call).bankTransactionID
: id of the refund payment (also provided in the headers of the response of the request refund call).
Refund completed
Webhook type
TRANSFER_REIMBURSEMENT_COMPLETED
A notification is send with the confirmation that the debtor received the refund payment from Digiteal. It indicates the end of the refund process.
The payload for this webhook is defined in the callback section of the refund payment endpoint.
This payload contains:
transferID
: id of the transfer that that it is refunded.parentBankTransactionID
: id of the original payment that is refunded (provided in thecommunication
attribute of the request refund call).bankTransactionID
: id of the refund payment (also provided in the headers of the response of the request refund call).
Updated about 1 year ago