This section will explain how merchants can initiate inquiry the transfer status using SNAP specification. Transfer Status Inquiry API only available for 2 (two) months old transaction.
Do not call this API directly after create a transfer request, please put 10 minutes buffer so we can ensure we give the final status.
| ServiceCode | Method | URL | Description |
|---|---|---|---|
| 36 | POST | /{version}/transfer/status | API Transfer Status Inquiry |
Request
Header
The following table is a header of request parameter:
| Field Name | Attrib. | Datatype | Description |
|---|---|---|---|
| Content-Type | M | String | Represent media type of request e.g “application/json” |
| Authorization | M | Bearer token obtained from Access Token API in the format Bearer <AccessToken> | |
| X-TIMESTAMP | M | String(25) | Client's current local time in “yyyy-MM-ddTHH:mm:ssTZD” format |
| X-SIGNATURE | M | See General API Symmetric Signature | |
| X-PARTNER-ID | M | See Credential Exchange | |
| X-EXTERNAL-ID | M | String(max 36), Numeric | Unique request reference number from partner. Must be unique. |
| CHANNEL-ID | M | See Credential Exchange |
Body
The following table is a body of request parameter:
| Field Name | Attrib. | Datatype | Description |
|---|---|---|---|
| originalPartnerReferenceNo | M | String(64) | Transaction identifier on service consumer system |
| serviceCode | M | String(2) | Transaction type indicator (service code of the original transaction request) |
Response
Header
The following table is a header of response parameter:
| Field Name | Attrib. | Datatype | Description |
|---|---|---|---|
| X-TIMESTAMP | M | String(25) | “yyyy-MM-ddTHH:mm:ssTZD” format |
Body
The following table is a body of response parameter:
Field Name | Attrib. | Datatype | Description |
|---|---|---|---|
responseCode | M | String(7) | Response code |
responseMessage | M | String(150) | Response description |
originalReferenceNo | C | String(64) | Transaction identifier on service provider system. Must be filled upon successful transaction |
originalPartnerReferenceNo | M | String(64) | Transaction identifier on service consumer system |
serviceCode | M | String(2) | Transaction type indicator (service code of the original transaction request) |
amount.value | O | String(16,2) | Net amount of the transaction. |
amount.currency | O | String(3) | Currency (should always be IDR) |
transactionDate | M | String(25) | Transaction date : ISO 8601 (without millis). e.g “yyyy-MM-ddTHH:mm:ssZ” |
latestTransactionStatus | M | String(10) |
|
transactionStatusDesc | M | String(50) |
|
referenceNumber | M | String(30) | Reference Number from the system |
beneficiaryAccountNo | M | String(34) | Account number of the Beneficiary |
sourceAccountNo | M | String(19) |
|
additionalInfo.failureReason | C | String(255) | Reason for failure. Must be filled upon a failed transaction. |
Sample
Request
The following section is a sample of request parameter:
curl --location --request POST 'https://merchants.midtrans.com/v1.0/transfer/status' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIxMmUzODE4Mi00YjIxLTQ0YWMtOTVkNi1mMjFhMjEwZmIxZTAiLCJjbGllbnRJZCI6IjY2ODA1MmUzNGYxOTRhYThiZTc5ZTE1YTIxZTRmYzJmIiwibmJmIjoxNjYzODQwNTU5LCJleHAiOjE2NjM4NDE0NTksImlhdCI6MTY2Mzg0MDU1OX0.fEr0vIbB2kY8alZ-SROl3ftAFbfRd0uU-lGq9XuFi8M' \
--header 'Content-Type: application/json' \
--header 'X-TIMESTAMP: 2022-03-04T08:02:09+07:00' \
--header 'X-SIGNATURE: yqmBXZ3yV6NPG1LtwXMm3quXzJMRX5Ms+r9ebc5xWIZGSKbZL3Oy871GHb7WQUucLa5nxN/HcnZYoNHc+KkWTQ==' \
--header 'X-PARTNER-ID: 668052e34f194aa8be79e15a21e4fc2f' \
--header 'X-EXTERNAL-ID: 91919644194391346361915387229113' \
--header 'CHANNEL-ID: 95221' \
--data-raw '{
"originalPartnerReferenceNo": "61945219227478976148442931867349",
"serviceCode": "17"
}'Response
The following section is a sample of response parameter:
Content-Type : application/json
x-timestamp : 2022-03-04T08:02:09+07:00
-------------------------------------------------------------------------------
{
"responseCode": "2003600",
"responseMessage": "Successful",
"originalReferenceNo": "61945219227478976148442931867349",
"originalPartnerReferenceNo": "61945219227478976148442931867349",
"serviceCode": "17",
"amount": {
"value": "12345678.00",
"currency": "IDR"
},
"transactionDate": "2009-07-03T12:08:56+07:00",
"latestTransactionStatus": "00",
"transactionStatusDesc": "Completed",
"referenceNumber": "61945219227478976148442931867349",
"beneficiaryAccountNo": "33287352",
"sourceAccountNo": "1234567890",
"additionalInfo": {
"failureReason": ""
}
}
-------------------------------------------------------------------------------
{
"responseCode": "2003600",
"responseMessage": "Successful",
"originalReferenceNo": "61945219227478976148442931867349",
"originalPartnerReferenceNo": "61945219227478976148442931867349",
"serviceCode": "17",
"amount": {
"value": "12345678.00",
"currency": "IDR"
},
"transactionDate": "2009-07-03T12:08:56+07:00",
"latestTransactionStatus": "06",
"transactionStatusDesc": "Failed",
"referenceNumber": "61945219227478976148442931867349",
"beneficiaryAccountNo": "33287352",
"sourceAccountNo": "1234567890",
"additionalInfo": {
"failureReason": "payload validation failed"
}
}
-------------------------------------------------------------------------------
{
"responseCode": "2003600",
"responseMessage": "Successful",
"originalReferenceNo": "",
"originalPartnerReferenceNo": "61945219227478976148442931867349",
"serviceCode": "17",
"amount": {
"value": "0.00",
"currency": "IDR"
},
"transactionDate": "",
"latestTransactionStatus": "07",
"transactionStatusDesc": "Not Found",
"referenceNumber": "",
"beneficiaryAccountNo": "",
"sourceAccountNo": "",
"additionalInfo": {
"failureReason": ""
}
}
Content-Type : application/json
x-timestamp : 2022-03-04T08:02:09+07:00
-------------------------------------------------------------------------------
{"responseCode": "4013600", "responseMessage": "Unauthorized. Client"}Migration
Request
The following table is a comparison of request parameter:
| Payouts non-SNAP-based (current) | Payouts SNAP-based | Description |
|---|---|---|
| GET /api/v1/payouts/#{reference_no} | POST /{version}/transfer/status | |
| {reference_no} | originalPartnerReferenceNo | Transaction identifier on service consumer system |
| serviceCode | Transaction type indicator (service code of the original transaction request) |
Response
The following table is a comparison of response parameter:
Payouts non-SNAP-based (current) | Payouts SNAP-based | Description |
|---|---|---|
responseCode | Response code | |
responseMessage | Response description | |
reference_no | originalReferenceNo | Transaction identifier on service provider system. Must be filled upon successful transaction |
originalPartnerReferenceNo | Transaction identifier on service consumer system | |
serviceCode | Transaction type indicator (service code of the original transaction request) | |
amount | amount.value | Net amount of the transaction. |
amount.currency | Currency (should always be IDR) | |
created_at | transactionDate | Payout creation date in ISO8601 format |
status | latestTransactionStatus |
|
transactionStatusDesc | Description of transaction status | |
reference_no | referenceNumber | Reference number from the system |
beneficiary_account | beneficiaryAccountNo | Account number of the beneficiary |
sourceAccountNo | For Facilitator: Bank account ID used on the transfer request | |
additionalInfo.failureReason | Reason for failure. Must be filled upon a failed transaction. |
Response Codes
| Payouts non-SNAP-based (current) | Payout SNAP-based | Description |
|---|---|---|
| 2003600 | Successful | |
| 4003601 | Invalid Field Format [fieldName] | |
| 4003602 | Missing Mandatory Field [fieldName] | |
| 4013600 | Unauthorized | |
| 4013601 | Invalid Token (B2B) | |
| 5003601 | Internal Server Error |