Refund payments
Learn how to refund a payment.
You can partially or fully refund any successful payment. Refunds use your available Fintoc balance, which doesn’t include any pending balance. If your available balance doesn’t cover the amount of the refund, the refund is retried for 5 business days before it expires.
Additionally, Fintoc doesn’t return processing fees from the original payment if it’s refunded.
Refund destinations
Refunds can only be sent back to the original bank account used for the payment. You can’t send a refund to a different destination, such as another bank account.
If a customer has closed their bank account, the refund is marked as failed.
Make sure to include a customer email in your Payment Intents
If you plan on using refunds, you must include a
customer_email
in your Payment Intent request.
Refund lifecycle
Refunds can be created 24/7 and take 1 to 2 business days to execute.
- A new refund starts with the
pending
status. - At 18:00, Fintoc starts to process refunds created before 14:00. Those refunds transition to the
in_progress
status. You can't cancel a refund if it'sin_progress
. This process will exclusively take place at 18:00 on business days. - Whether it takes 1 or 2 business days to process depends on when the refund was created. Once the refund is finished processing, it will transition to
succeeded
. Successful refunds appear on your customer's bank statement in real-time.- Refunds created before 14:00 on a business day will finish processing the next business day before 14:00.
- Refunds created after 14:00 on a business day will finish processing in the next 2 business days before 14:00.
- If you have insufficient funds in your Fintoc balance, Fintoc will retry the refund for 5 business days. If the refund is not successful after 5 business days, the refund transitions to the
failed
status. In the event of any other failure when attempting to transfer funds, the refund will also be marked asfailed
and the funds will be included in your next payout.
Issue refunds
You can issue refunds by using the Refunds API. Successful refunds appear on the bank statement of your customers in 1 to 2 business days. You can issue more than one refund against a payment, but you can't refund a total greater than the original payment amount.
Issue refund using the API
To refund a payment using the API, create a refund providing the payment's ID and set the resource type to payment_intent
.
curl --request POST "https://api.fintoc.com/v1/refunds" \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"resource_id": "pi_ja12Nqa3Lb4s",
"resource_type": "payment_intent"
}'
To refund a part of a PaymentIntent, provide an amount
parameter as an integer in cents.
curl --request POST "https://api.fintoc.com/v1/refunds" \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"resource_id": "pi_ja12Nqa3Lb4s",
"resource_type": "payment_intent",
"amount": 1000,
}'
Cancel a refund
Every refund can be canceled while it's in a pending
status.
Cancel a refund using the API
To cancel a refund using the API, use the cancel refund providing the refund's ID.
curl --request POST "https://api.fintoc.com/v1/refunds/REFUND_ID/cancel" \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json'
Refund status updates
Fintoc can send webhooks events to your server to notify you when the status of a Refund changes, which you can use for purposes such as sending an email to your customer to notify them he should see the refund in his bank statement.
We recommend handling the following events when refunding a payment:
Event | Description | Action |
---|---|---|
refund.in_progress | Sent when Fintoc starts processing the refund. | Notify your customer that the refund is in progress and should see it reflected in his bank account in 1 or 2 business days. |
refund.succeeded | Sent when Fintoc successfully processed the refund. | Notify your customer that the money is already in his bank account. |
refund.failed | Sent when the refund failed. For example, your customer's bank couldn't process it or you have insufficient funds. | Notify your customer that there was a problem with the refund. |
Refund Vouchers
Fintoc offers Refund Vouchers as confirmation of a successful refund to your customer's bank account. To download them, use our Retrieve Refund Voucher endpoint. When doing so, keep in mind that there is an expiration time of 5 minutes to start your download.
Refund Notifications
When setting up a Payment Intent
, you can include a customer_email
for notifications. If a valid email is provided, it will be used to inform the user about the creation of a refund, the successful transfer of funds to their bank account, and in the event of a refund failure.
Refund Fees
Refund fees are calculated upon discounting them from your payout. If a Refund turns out to be failed, it will be reimbursed in your following payout.
Updated 6 months ago