Refunds
Available via: Dashboard and API
How Refunds Work
Inflow supports refunding payments that have reached a refundable status. Refunds can be full or partial, and are returned to the customer's original payment method (card or bank account). Multiple partial refunds are supported as long as their sum does not exceed the original captured amount.
Refundable statuses: A payment can be refunded when its status is
CHECKOUT_SUCCESS,PAYMENT_RECEIVED, orPAYMENT_SUCCESS.
Issuing a Refund
From the Dashboard
- Go to Payments in your Inflow Dashboard.
- Find the payment you want to refund and click on it.
- Click Refund.
- Confirm the refund.
Via the API
Full refund (omit amountInCents):
curl -X POST https://api.inflowpay.xyz/api/payment/{paymentId}/refund \
-H "X-Inflow-Api-Key: inflow_prod_your_key" \
-H "Content-Type: application/json" \
-d '{
"reason": "Customer requested cancellation"
}'Partial refund (specify amountInCents):
curl -X POST https://api.inflowpay.xyz/api/payment/{paymentId}/refund \
-H "X-Inflow-Api-Key: inflow_prod_your_key" \
-H "Content-Type: application/json" \
-d '{
"amountInCents": 1500,
"reason": "Partial refund for missing item"
}'| Field | Type | Required | Description |
|---|---|---|---|
reason | string | No | Optional reason for the refund (for your internal records) |
amountInCents | number | No | Amount to refund in cents, tax-exclusive (same basis as payment.amount) — the customer receives this amount plus the applicable tax. When omitted, the full remaining refundable amount is refunded. You can issue several partial refunds as long as their sum doesn't exceed the original amount |
The response returns the updated payment object with the new status.
Refund Statuses
After issuing a refund, the payment status changes:
| Status | Description |
|---|---|
REFUND_PENDING | The refund is being processed by the payment provider |
FULLY_REFUNDED | The entire payment amount has been refunded |
PARTIAL_REFUNDED | Part of the payment has been refunded |
Timing
- Card refunds: Typically appear on the customer's statement within 5–10 business days, depending on their bank.
- Open Banking refunds: Processing time varies by bank and country.
Important Notes
- You can only refund payments with a
CHECKOUT_SUCCESS,PAYMENT_RECEIVED, orPAYMENT_SUCCESSstatus. - Both full and partial refunds are supported via the API (
amountInCents). Partially refunded payments show thePARTIAL_REFUNDEDstatus. - Refunds are deducted from your Inflow balance.
- Refund events are included in webhook notifications if you have webhooks configured.
- Refund details appear in the payment's timeline in both the Dashboard and API response.
Updated 16 days ago
Did this page help you?