Skip to main content

Refund Flow

Once a refund is initiated, a set of processes happen behind the scenes, varying according to the state of the payout at the moment the refund is initiated.

Refunds initiated by the platform

This kind of refunds are initiated by the platform using the Initiate Refund request.

note

In some rare cases a bank can decide to block a transaction due to compliance reason. In that case, a refund will be automatically executed and would follow the same flow as the one described below.

Non-started payouts

The money hasn't been transferred to the creditors yet, so the refund will not have associated transfers, since the payout hasn't been rolled out.

  • Refund Initiated: the refund has been requested by the platform.
  • Refund Completed: the reimbursement has been completed and we have confirmed that it has arrived to the debtor. It indicates the end of the refund process.
graph LR; a[Refund Initiated] --> c[Refund Completed]

Started payouts

The payout transfers to the multiple creditors have been initiated, so each of the transfers is reverted and the related amount is deducted from each creditor's account. One TRANSFER_RECEIVED_FROM_CREDITOR webhook is emitted per involved Platform and Merchant.

  • Refund Initiated: the refund has been requested by the platform.
  • Transfer Received from Creditor: confirmation that we have received the funds from a creditor.
  • Refund Completed: the reimbursement has been completed and we have confirmed that it has arrived to the debtor. It indicates the end of the refund process.
graph LR; a[Refund Initiated] --> b1[Transfer Received from Creditor] a --> b2[Transfer Received from Creditor] a --> b3[Transfer Received from Creditor] b1 --> d{{Transfers}} b2 --> d b3 --> d d -. Once all transfers are received .-> e[Refund Completed]

Refunds initiated by the buyer

This kind of refunds are initiated by the buyer by contacting his/her bank. Once we receive the order from the bank, we will proceed with the refund.

note

If a SDD payment with a cancelled mandate associated has been performed, the buyer's bank would automatically reject the payment. In that case, a refund will be automatically executed and would follow the same flow as the one described below.

Non-started payouts

The money hasn't been transferred to the creditors yet, so the refund will not have associated transfers, since the payout hasn't been rolled out.

  • Refund Initiated from Buyer: the refund has been requested by the buyer's bank.
  • Refund Completed: the reimbursement has been completed and we have confirmed that it has arrived to the debtor. It indicates the end of the refund process.
graph LR; a[Refund Initiated from Buyer] --> c[Refund Completed]

Started payouts

The payout transfers to the multiple creditors have been initiated, so each of the transfers is reverted and the related amount is deducted from each creditor's account. One TRANSFER_RECEIVED_FROM_CREDITOR webhook is emitted per involved Platform and Merchant.

  • Refund Initiated from Buyer: the refund has been requested by the buyer's bank.
  • Transfer Received from Creditor: confirmation that we have received the funds from a creditor.
  • Refund Completed: the reimbursement has been completed and we have confirmed that it has arrived to the debtor. It indicates the end of the refund process.
graph LR; a[Refund Initiated from Buyer] --> b1[Transfer Received from Creditor] a --> b2[Transfer Received from Creditor] a --> b3[Transfer Received from Creditor] b1 --> d{{Transfers}} b2 --> d b3 --> d d -. Once all transfers are received .-> e[Refund Completed]