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.

Refund lifecycle

Refunds can be created 24/7 and take 1 to 2 business days to execute.

  1. A new refund starts with the pending status.
  2. 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's in_progress. This process will exclusively take place at 18:00 on business days.
  3. 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.
    1. Refunds created before 14:00 on a business day will finish processing the next business day before 14:00.
    2. Refunds created after 14:00 on a business day will finish processing in the next 2 business days before 14:00.
  4. 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 as failed 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:

EventDescriptionAction
refund.in_progressSent 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.succeededSent when Fintoc successfully processed the refund.Notify your customer that the money is already in his bank account.
refund.failedSent 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.