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, or PAYMENT_SUCCESS.

Issuing a Refund

From the Dashboard

  1. Go to Payments in your Inflow Dashboard.
  2. Find the payment you want to refund and click on it.
  3. Click Refund.
  4. 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"
  }'
FieldTypeRequiredDescription
reasonstringNoOptional reason for the refund (for your internal records)
amountInCentsnumberNoAmount 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:

StatusDescription
REFUND_PENDINGThe refund is being processed by the payment provider
FULLY_REFUNDEDThe entire payment amount has been refunded
PARTIAL_REFUNDEDPart 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, or PAYMENT_SUCCESS status.
  • Both full and partial refunds are supported via the API (amountInCents). Partially refunded payments show the PARTIAL_REFUNDED status.
  • 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.

Did this page help you?