Skip to main content
POST
Refund a Transaction
Note: Refunds are not supported for the following payment methods: PayPay, Pay-Easy, and Konbini.

Key Points

  • The Refund API allows the merchant to reverse a transaction, sending the funds back to the customer’s payment method.
  • This API is typically used in scenarios such as order cancellations, product returns, or when a customer disputes a charge.
  • Refunds can be partial or full, depending on the amount specified in the refund request. If a partial amount is refunded, the remaining balance of the original transaction is still valid.

Flow diagram

Api Parameters

Authorizations

Authorization
string
header
required

API Key for Authorization. Format: 'Basic YOUR_API_KEY_HERE'

x-api-key
string
header
required

API Key specific to x-api-key.

Body

application/json

The request payload to refund a transaction.

transactionId
string
required

The original transaction ID of the authorized transaction.

Maximum string length: 36
Example:

"9dfd39ec-eb4a-4f8b-a526-17abf140a717"

amount
integer
required

The amount to be refunded. This should not exceed the amount captured or purchased. Amount limit depends on the bank.

Example:

1000

merchant_id
string
required

The merchant ID (DASMID).

Maximum string length: 10
Example:

"< Merchant ID >"

notes
string

The reference of the refund transaction (optional).

Maximum string length: 128
Example:

"Refund amount captured/purchased"

Response

201 - application/json

Transaction refunded successfully

success
boolean

True on successful transaction, false on failure.

Example:

true

status_code
integer

The status code of the transaction.

Example:

201

is_live
boolean

True if live transaction, false if test transaction.

Example:

false

transaction_type
string

The transaction type (e.g., REFUND).

Example:

"REFUND"

gateway_response
object

A JSON object containing the response from the gateway.

merchant_details
object

A JSON object containing the details of the merchant.

payment_details
object

A JSON object containing the payment details of the transaction.

transaction_details
object

A JSON object containing details of the transaction.