Refund Object
A refund object is created when you initiate a refund request.
{
"id": "01990e74-5bc9-79a5-a651-400af0ad13ef",
"clientReferenceId": "1755665477",
"paymentSessionId": "44a14481-fa75-49a5-b17f-d03d8c5d52a6",
"chargeId": "110eb890-d238-4212-aedc-533a8c77a53e",
"capturedAmount": {
"currency": "IDR",
"value": "10000.00"
},
"isFullAmount": true,
"amount": {
"currency": "IDR",
"value": "10000.00"
},
"status": "SUCCESS",
"reason": "REQUESTED_BY_CUSTOMER",
"description": "Customer didn't receive the Product",
"destinationType": "CHANNEL",
"method": "AUTO",
"transferDestination": {
"channelCode": "BCA",
"channelInformation": {
"accountNumber": "17677665415",
"accountName": "Reforza Jordan Geotama"
},
"description": "Refund Pivot"
},
"metadata": {
"notes": "Customer called support"
},
"createdAt": "2025-09-03T07:22:11Z",
"updatedAt": "2025-09-03T07:22:13Z"
}
Detail Refund Object
id
String
-
Auto Generated
Unique ID generated from Pivot as refund identifier
clientReferenceId
Alphanumeric
1-100
M
Unique ID from merchant to identify the refund
paymentSessionId
String
-
C
Payment Session ID merchant intend to perform refund on
chargeId
String
-
C
Singular Charge ID merchant intend to perform refund on
capturedAmount
Object
-
M
Total captured amount from Payment Session ID – amount available to be refunded
currency
String
1-3
M
Currency ISO 4217
value
String
1-18
M
Amount value
isFullAmount
Boolean
-
C
Indicate if the refund amount is the same with capturedAmount, possible values
false (default)
true
amount
Object
-
C
Required if isFullAmount
= false
currency
String
1-3
M
Currency ISO 4217
value
String
1-18
M
Amount value
status
String
-
M
Status of Refund, possible values:
PENDING
WAITING_BANK_TRANSFER
SUCCESS
FAILED
CANCELLED
reason
String
-
M
Reason for user performing refund, possible values:
SUSPECT_FRAUDULENT
DUPLICATE
REQUESTED_BY_CUSTOMER
CANCELLATION
OTHERS
description
String
0-50
O
Information describing the refund for merchant internal notes
destinationType
String
-
C
Value is available after refund reached to final status, indicating the refund destination OR if status
= WAITING_BANK_TRANSFER
then value will always be ACCOUNT
Possible values
CHANNEL → fund is credited back to the payment channel used on the transaction
ACCOUNT → fund is transferred to the submitted destination
method
String
-
O
Refund method preferred by Merchant / customer, possible values:
AUTO (default) → Pivot will perform refund through Channel, if failed then fallback to Bank Transfer if available
TRANSFER_ONLY → Refund will be performed through Bank Transfer only, Merchant is required to send the destination account
transferDestination
Object
-
C
Required if preferredMethod
= TRANSFER_ONLY
channelCode
String
-
M
Channel code for payout destination such as Bank, E wallet or other channels
List of Channel code can be accessed Channel Codes
channelInformation
Object
-
M
accountNumber
String
-
M
Account Number of payout destination
accountName
String
-
M
Account Name of payout destination
description
String
-
O
Information that will be seen by beneficiary account in statement
Note:
Maximum length each channel code is 20 characters
Support alphanumeric characters only
metadata
Object
-
O
Free object for merchant to store any extra information about the payment session
createdAt
String
-
M
Refund created time with format YYYY-MM-DDTHH:MM:SSZ
updatedAt
String
-
M
Refund latest updated time with format YYYY-MM-DDTHH:MM:SSZ
Last updated