Create Refund

Refund of a Payin. When the Payin status is completed, you can issue a full or partial refund of the collected amount. Whether a Payin Method is eligible for a refund or not depends on the is_refundable field returned by Get Required Fields by Payin Method.

If a refund is made on a Payin that has already been settled, you must ensure sufficient balance in your Payin wallet. There are two options:

  1. Wait for Incoming Funds: Wait for more funds from customers to accumulate in your Payin wallet before initiating a refund.

  2. Fund Your Payin Wallet:

  • Create a Checkout: Fund your Payin wallet by creating a checkout.

  • Load Funds Using a Virtual Account: Load funds into your Organization's Payin wallet using a Virtual Account (if supported by the specific Payin Method). Note that top-up via virtual account will not incur a fee, but using a checkout page will incur a nominal fee, as the system cannot differentiate if it is a top-up transaction or a transaction initiated by the end customer.

The refund process will check the available balance in your Payin wallet and, upon success, will debit the wallet. Finmo will debit the fee plus taxes from your next settlement if the settlement option is NET, otherwise, it will be added to your monthly invoice.

The refund process will hold the needed funds in your Payin wallet and debit them once the refund is successful.

Checking Support for Partial-Refund or Over-Refund

Some Payin Methods support options for 'partial-refund' or 'over-refund' (refunding more than the original transaction amount). These capabilities are indicated by binary flags:

  • is_partially_refundable: Indicates if partial refunds are supported.

  • is_over_refundable: Indicates if over-refunds are supported.

These flags are returned in the response of the Get Required Fields by Payin Method API.

Currently, Finmo platform does not support the over-refund option.

Body Params
string
required

Payin reference (payin_*)

string
enum
required

FULL or PARTIAL Default type is 'FULL'. In case of 'PARTIAL' refund, please provide the amount & currency

Allowed:
number
required

Conditionally required: Refund amount if type is 'partial'. The number of decimal place will be different for each currency according to ISO 4217

string
required

Conditionally required: Reason for refund can be provided in the description

string

A reference you can later use to identify this payment, such as an order number. Can only be alphanumeric and must be unique for Benefit. By default, Payin's organization_reference_id will apply.

string

Custom webhook url for this refund. If not provided we will notify you on whats configured on the Dashboard

metadata
object

Custom Data

Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Basic
base64
:
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
application/json; charset=utf-8