Fetching transaction status for GoPay and GoPay Tokenization (non Pre-Auth) transaction
This section will describe how a merchant can fetch transaction status for GoPay and GoPay Tokenization (non-Pre Auth) transactions.
Path | /{version}/debit/status |
---|---|
HTTP Method | POST |
Version | v1.0 |
SNAP Service Code | 55 |
Request Header
Field Name | Field Type | Mandatory | Field Description | |
Content-type | String | M | Media type of the resource, i.e. application/json | |
X-TIMESTAMP | String | M | Client’s current local time in ISO-8601 format | |
X-SIGNATURE | String | M | Created using symmetric signature HMAC_SHA512 algorithm | |
Authorization | String | M | Represents access_token of a request; string starts with keyword “Bearer ” followed by access_token. Can get this token from Access Token B2B API response. | |
X-PARTNER-ID | String | M | Unique identifier for caller | |
X-EXTERNAL-ID | String | M | Alphanumeric string. We suggest merchant to use UUID format. The value should be unique.
|
|
CHANNEL-ID | String | M | Mandatory field from Bank Indonesia that can take any value with correct format 5 digits numeric string |
Content-type:application/json
X-TIMESTAMP:2024-03-19T14:30:00+07:00
X-SIGNATURE: da1fa417c72d6b91c257e01e54fac824
Authorization: Bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CupvIJbU1Mmu4a11MNDZ7Sg5u9a
X-PARTNER-ID: BMRI
X-EXTERNAL-ID:12345678901234567890
CHANNEL-ID:12345
Request Body
Field Name | Field Type | Mandatory | Field Description | |
originalReferenceNo | String(64) | C | Transaction identifier on service provider system. For e.g: GopayOrderId Note: either originalExternalId or OriginalReferenceNo need to be passed. If both fields have value, we will use originalReferenceNo as the main identifier. |
|
originalExternalId | String (36) | C | If merchant got a timeout when calling charge API (POST /v1.0/debit/payment-host-to-host), merchant can pass the value of X-EXTERNAL-ID in the charge API request header as originalExternalId.
Note: Either originalExternalId or OriginalReferenceNo need to be passed in refund request. |
|
serviceCode | String (2) | M | Transaction type indicator (service code of the original transaction request). For e.g: 54 |
{
"originalExternalId": "merchant-order-id",
"originalReferenceNo": "Gopay OrderId",
"serviceCode": "54"
}
Response Header
Field Name | Field Type | Mandatory | Field Description | |
Content-type | String | M | Media type of the resource, i.e. application/json | |
X-TIMESTAMP | String | M | Client’s current local time in ISO-8601 format |
Content-type: application/json
X-TIMESTAMP: 2024-03-19T14:30:00+07:00
Response Body
Field Name | Field Type | Mandatory | Field Description | |
responseCode | String (7) | M | Error code to specify the error returned. | |
responseMessage | String (150) | M | Debug message to provide more information. | |
originalPartnerReferenceNo | String (64) | O | Original transaction identifier on service consumer system. (Merchant’s orderId) | |
originalReferenceNo | String (64) | M | Transaction identifier on service provider system. For e.g: GopayOrderId | |
serviceCode | String (2) | M | Transaction type indicator (service code of the original transaction request). \ \ For e.g: 54 , 58 which are serviceCode of Charge and Refund API | |
latestTransactionStatus | String (2) | M | Possible Values:
|
|
transAmount | Object | O | Transaction Amount | |
transAmount.value | String | M | Transaction amount value | |
transAmount.currency | String | M | Currency, e.g: IDR | |
paidTime | String | C | Update time of the individual transaction. The value will be returned for successful payment. Using ISO-8601 timestamp format | |
refundHistory | Array of refund Object | C | ||
refundHistory.refundNo | String | M | Transaction Identifier on Service Provider System | |
refundHistory.partnerReferenceNo | String | M | ReferenceNumber from merchant for the refund. | |
refundHistory.refundAmount | Object | M | ||
refundHistory.refundAmount.value | String | M | Net amount of the refund. | |
refundHistory.refundAmount.currency | String | M | Currency | |
refundHistory.refundStatus | String | M | Refund status
Possible values:
|
|
refundHistory.refundDate | String | M | Refund trial date (ISO 8601) | |
additionalInfo | Object | O | Additional Information if a merchant needs to use. | |
additionalInfo.fraudStatus | String | O | Fraud status. Possible values: - accept --> Transaction is safe to proceed. It is not considered as a fraud. - deny --> Transaction is considered as fraud. It is rejected by Midtrans. |
|
additionalInfo.validUpTo | String(25) | O | The time when the payment will be automatically expired. Using ISO 8601 format | |
additionalInfo.payOptionDetails | Array of Object | M | Payment option used by user. This parameter will be deprecated soon. We encourage merchant to not consume this parameter and instead consume the parameter `additionalInfo.userPaymentDetails` instead. |
|
additionalInfo.payOptionDetails.payMethod | String | M | Payment method used by user. E.g: gopay | |
additionalInfo.payOptionDetails.payOption | String | M | Payment option used by user. Possible value: - GOPAY_WALLET = GoPay
|
|
additionalInfo.metadata | Object | O | Transaction metadata | |
additionalInfo.userPaymentDetails | Array of object | M | Payment option used by user. | |
additionalInfo.userPaymentDetails.payMethod | String | M | Payment method used by user. E.g: gopay | |
additionalInfo.userPaymentDetails.payOption | String | M | Payment option used by user.
|
{
"responseCode":"2005500",
"responseMessage":"Request has been processed successfully",
"originalPartnerReferenceNo": "merchant-order-id",
"originalReferenceNo":"2020102977770000000009",
"serviceCode":"54",
"latestTransactionStatus":"00",
"transAmount":{
"value":"112345678.00",
"currency":"IDR"
},
"paidTime":"2023-05-15T14:56:11+07:00",
"refundHistory":[
{
"refundNo":"96194816941239812",
"partnerReferenceNo":"239850918204981205970",
"refundAmount":{
"value":"12345678.00",
"currency":"IDR"
},
"refundStatus":"00",
"refundDate":"2020-12-23T07:44:16+07:00",
"reason":"Customer Complain"
}
],
"additionalInfo":{
"fraudStatus":"accept" ,
"validUpTo":"2023-07-03T10:36:17+07:00",
“payOptionDetails” : [{
"payMethod":"gopay",
"payOption": "GOPAY_WALLET"
}],
“userPaymentDetails” : [{
"payMethod":"gopay",
"payOption": "GOPAY_WALLET"
}],
“metadata” : {}
}
}
List of Response code
Response Code | HTTP Status Code | Response Message |
2005500 | 200 | Success |
4005502 | 400 | Invalid Mandatory Field |
4015500 | 401 | Unauthorized. |
4015501 | 401 | Invalid Token (B2B) |
5005501 | 500 | Internal Server Error |
5045500 | 504 | Timeout |
Fetching transaction status for GoPay QRIS transaction
This section will describe how a merchant can fetch transaction status for GoPay QRIS transactions.
Path | /{version}/qr/qr-mpm-query |
---|---|
HTTP Method | POST |
Version | v1.0 |
SNAP Service Code | 51 |
Request Header
Field Name | Field Type | Mandatory | Field Description | |
Content-type | String | M | Media type of the resource, i.e. application/json | |
X-TIMESTAMP | String | M | Client’s current local time in ISO-8601 format | |
X-SIGNATURE | String | M | Created using symmetric signature HMAC_SHA512 algorithm | |
Authorization | String | M | Represents access_token of a request; string starts with keyword “Bearer ” followed by access_token. Can get this token from Access Token B2B response. | |
X-PARTNER-ID | String | M | Unique identifier for caller | |
X-EXTERNAL-ID | String | M | Alphanumeric string. We suggest merchant to use UUID format. The value should be unique.
|
|
CHANNEL-ID | String | M | Mandatory field from Bank Indonesia that can take any value with correct format 5 digits numeric string |
Content-type:application/json
X-TIMESTAMP:2024-03-19T14:30:00+07:00
X-SIGNATURE:da1fa417c72d6b91c257e01e54fac824
Authorization:Bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CupvIJbU1Mmu4a11MNDZ7Sg5u9a
X-PARTNER-ID:BMRI
X-EXTERNAL-ID:12345678901234567890
CHANNEL-ID:12345
Request Body
Field Name | Field Type | Mandatory | Field Description | |
originalReferenceNo | String(64) | C | Transaction identifier on service provider system. For e.g: GopayOrderId Note: either originalExternalId or originalPartnerReferenceNo or OriginalReferenceNo need to be filled. If all fields have value, originalReferenceNo will be taken as the main identifier, followed by originalPartnerReferenceNo and then originalExternalId |
|
originalPartnerReferenceNo | String(36) | C | partnerReferenceNo of the original transaction. | |
originalExternalId | String(36) | C | This should be filled with the X-EXTERNAL-ID from header of the original create QR payment API - /{version}/qr/qr-mpm-generate | |
merchantId | String(64) | O | Merchant id, we suggest to send this | |
serviceCode | String (2) | M | Transaction type indicator (service code of the original transaction request). For e.g: 47 |
{
"originalReferenceNo":"2020102977770000000009",
"originalPartnerReferenceNo":"12345678901234567890",
"originalExternalId":"12345678901234567890",
"merchantId":"00007100010926",
"serviceCode":"47"
}
Response Header
Field Name | Field Type | Mandatory | Field Description | |
Content-type | String | M | Media type of the resource, i.e. application/json | |
X-TIMESTAMP | String | M | Client’s current local time in ISO-8601 format |
Content-type:application/json
X-TIMESTAMP:2024-03-19T14:30:00+07:00
Response Body
Field Name | Field Type | Mandatory | Field Description | |
responseCode | String(7) | M | Response code | |
responseMessage | String(150) | M | Response description | |
originalExternalId | String(36) | C | X-EXTERNAL-ID from header of the original create QR payment API - /{version}/qr/qr-mpm-generate | |
originalPartnerReferenceNo | String(36) | C | partnerReferenceNo of the original transaction. | |
originalReferenceNo | String(64) | C | Transaction identifier in GoPay system. \ \ The value will be returned for successful payment. | |
serviceCode | String(2) | M | Transaction type indicator (service code of the original transaction request). \ \ For e.g: 47 , 77, 78 which are serviceCode of Payment, Cancel and Refund APIs | |
latestTransactionStatus | String (2) | M | Status of the transaction.
Possible Values:
|
|
transactionStatusDesc | String(50) | O | Transaction status description | |
paidTime | DateTime String | O | Transaction time | |
amount | Object | O | Amount object | |
amount.value | String(16,2) | M | Transaction amount | |
amount.currency | String(3) | M | Transaction currency | |
terminalId | String(16) | O | Merchant terminal id | |
additionalInfo | Object | O | Additional information | |
additionalInfo.refundHistory | Array of Object | C | Refund history associated with the transaction | |
additionalInfo.refundHistory.reason | String | M | Reason for the refund. | |
additionalInfo.refundHistory.refundNo | String | M | Refund transaction identifier on service provider system | |
additionalInfo.refundHistory.partnerReferenceNo | String | M | Unique identifier of refund transaction generated by the client. | |
additionalInfo.refundHistory.refundStatus | String | M | Refund transaction status | |
additionalInfo.refundHistory.refundDate | String | M | Refund time. ISO 8601 | |
additionalInfo.refundHistory.refundAmount | Object | M | Refund amount object | |
additionalInfo.refundHistory.refundAmount.value | String | M | Net amount of the refund. | |
additionalInfo.refundHistory.refundAmount.currency | String | M | Currency of the refund |
Expected Response
As you can pass any value from : originalReferenceNo, or originalPartnerReferenceNo, or originalExternalID
Here's the expected response for each scenario of acceptable values :
- originalReferenceNo, Midtrans will return originalReferenceNo
- originalPartnerReferenceNo, Midtrans will return originalPartnerReferenceNo + originalReferenceNo
- originalExternalID, Midtrans will return originalExternalID + originalReferenceNo
In short, Midtrans will always return originalReferenceNo, for any successful trx.
{
"responseCode": "2005100",
"responseMessage": "Request has been processed successfully",
"originalReferenceNo": "2020102977770000000009",
"originalPartnerReferenceNo":"12345678901234567890",
"originalExternalId": "12345678901234567890",
"serviceCode": "47",
"latestTransactionStatus": "00",
"transactionStatusDesc": "success",
"paidTime": "2020-10-20T17:56:57",
"amount": {
"value": "12345678.00",
"currency": "IDR"
},
"terminalId": "213141251124",
"additionalInfo": {
"refundHistory": [
{
"reason": "some-reason",
"refundNo": "A120240815023459htV0bgKH7TID",
"partnerReferenceNo": "1723689297",
"refundStatus": "00",
"refundDate": "2024-08-15T09:34:59+07:00",
"refundAmount": {
"currency": "IDR",
"value": "10.00"
}
}
]
}
}
List of response code
Response Code | HTTP Status Code | Response Message |
2005100 | 200 | Success |
4005102 | 400 | Invalid Mandatory Field |
4015100 | 401 | Unauthorized. |
5005101 | 500 | Internal Server Error |
5045100 | 504 | Timeout |
Fetching transaction status for GoPay Tokenization (Pre Auth) transaction
This section will describe how a merchant can fetch transaction status for GoPay Tokenization (Pre Auth) transactions.
Path | /{version}/auth/query |
---|---|
HTTP Method | POST |
Version | v1.0 |
SNAP Service Code | 64 |
Request Header
Field Name | Field Type | Mandatory | Field Description | |
Content-type | String | M | Media type of the resource, i.e. application/json | |
X-TIMESTAMP | String | M | Client’s current local time in ISO-8601 format | |
X-SIGNATURE | String | M | Created using symmetric signature HMAC_SHA512 algorithm | |
Authorization | String | M | Represents access_token of a request; string starts with keyword “Bearer ” followed by access_token. Can get this token from Access Token B2B API response. | |
X-PARTNER-ID | String | M | Unique identifier for caller (client_id) | |
X-EXTERNAL-ID | String | M | Alphanumeric string. We suggest merchant to use UUID format. The value should be unique.
|
|
CHANNEL-ID | String | M | Mandatory field from Bank Indonesia that can take any value with correct format 5 digits numeric string |
Content-type:application/json
X-TIMESTAMP:2024-03-19T14:30:00+07:00
X-SIGNATURE: da1fa417c72d6b91c257e01e54fac824
Authorization: Bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CupvIJbU1Mmu4a11MNDZ7Sg5u9a
X-PARTNER-ID: BMRI
X-EXTERNAL-ID:12345678901234567890
CHANNEL-ID:12345
Request Body
Field Name | Field Type | Mandatory | Field Description | |
originalReferenceNo | String(64) | C | Transaction identifier on service provider system. For e.g: GopayOrderId Note: either originalExternalId or OriginalReferenceNo need to be filled If both fields have value, will use originalReferenceNo as the main identifier. |
|
originalPartnerReferenceNo | String (64) | M | Merchant order-id | |
additionalInfo | ||||
additionalInfo.originalExternalId | String (36) | C | If merchant got a timeout from the auth endpoint, merchant can use this field using the X-EXTERNAL-ID value in the direct debit request header.
Note: either originalExternalId or OriginalReferenceNo need to be filled |
{
"originalReferenceNo": "Gopay OrderId",
"originalPartnerReferenceNo": "Merchant OrderId",
"additionalInfo": {
"originalExternalId": "external-id"
}
}
Response Header
Field Name | Field Type | Mandatory | Field Description | |
Content-type | String | M | Media type of the resource, i.e. application/json | |
X-TIMESTAMP | String | M | Client’s current local time in ISO-8601 format |
Content-type: application/json
X-TIMESTAMP: 2024-03-19T14:30:00+07:00
Response Body
Possible Values:
Field Name | Field Type | Mandatory | Field Description | |
responseCode | String (7) | M | Error code to specify the error returned. | |
responseMessage | String (150) | M | Debug message to provide more information. | |
originalReferenceNo | String (256) | O | Transaction identifier on service provider system. For e.g: GopayOrderId | |
originalPartnerReferenceNo | String (32) | O | Transaction identifier on service consumer system | |
paidTime | String(25) | C | Transaction paid time. (Will appear only if transaction in success state) | |
latestTransactionStatus | String (2) | C |
00 (Success)
01 (Initiated) 04 (Refunded) 05 (Canceled) 06 (Failed) 07 (Not found) 08 (Expiry) 09 (Rejected)
|
|
amount | O | |||
amount.value | String (16,2) | O | Transaction amount that will be paid using this payment method If it's IDR then value includes 2 decimal digits.
e.g. IDR 10.000,- will be placed with 10000.00 |
|
amount.currency | String | O | Currency. For e.g: IDR | |
additionalData | ||||
additionalInfo.fraudStatus | String | O | Fraud status. Possible values: - accept --> Transaction is safe to proceed. It is not considered as a fraud. - deny --> Transaction is considered as fraud. It is rejected by Midtrans. |
|
additionalInfo.validUpTo | String(25) | O | The time when the payment will be automatically expired. Using ISO 8601 format | |
additionalInfo | Object | M | Additional information | |
additionalInfo.payOptionDetails.payOption | String (64) | M | Payment option which shows the provider of this payment
e.g. E-Money, Gopay Coins , CICIL_MAB , PayLater |
|
additionalInfo.payOptionDetails.payMethod | String (64) | M | Payment Method. e.g. CREDIT_CARD , GOPAY | |
additionalData.refundHistory.partnerRefundNo | String | M | ReferenceNumber from PJP AIS for the refund. | |
additionalData.refundHistory.refundAmount | Object | M | Refund amount | |
additionalData.refundHistory.refundAmount.value | String | M | Net amount of the refund. | |
additionalData.refundHistory.refundAmount.currency | String | M | Currency | |
additionalData.refundHistory.refundStatus | String | M | Refund status
Possible values:
|
|
additionalData.refundHistory.refundDate | String | M | Refund trial date (ISO 8601) | |
additionalInfo.metadata | Object | O | Transaction metadata |
{
"responseCode":"2006400",
"responseMessage":"Request has been processed successfully",
"originalPartnerReferenceNo": "merchant-order-id",
"originalReferenceNo":"2020102977770000000009",
"latestTransactionStatus":"00",
"paidTime":"2023-05-15T14:56:11+07:00",
"additionalInfo":{
"fraudStatus":"accept" ,
"validUpTo":"2023-07-03T10:36:17+07:00",
"refundHistory":[
{
"refundNo":"96194816941239812",
"partnerReferenceNo":"239850918204981205970",
"refundAmount":{
"value":"12345678.00",
"currency":"IDR"
},
"refundStatus":"00",
"refundDate":"2020-12-23T07:44:16+07:00",
"reason":"Customer Complain"
}
],
“payOptionDetails” : [{
"payMethod":"Gopay",
"payOption": "Coins"
}],
},
“metadata” : {}
}
{
"responseCode":"4006401",
"responseMessage":"There is some issue with the transaction request"
}
List of response code
Response Code | HTTP Status Code | Response Message |
2006400 | 200 | Success |
4006402 | 400 | Invalid Mandatory Field {Field Name} |
4016400 | 401 | Unauthorized. Auth token required |
4016401 | 401 | Invalid Token (B2B) |
5006401 | 500 | Internal Server Error |
5046400 | 504 | Timeout |
Fetching transaction status for bank transfer (virtual account) transaction
This section describe how a merchant can fetch transaction status of bank trasnfer
Path | /{version}/transfer-va/status |
---|---|
HTTP Method | POST |
Version | v1.0 |
SNAP service code | 26 |
Request Header
Field Name | Field Type | Mandatory | Field Description |
Content-Type | String | M | Represent media type of request e.g “application/json” |
X-TIMESTAMP | String | M | Client's current local time in “yyyy-MM-
ddTHH:mm:ssZ” format |
Authorization | String | M | Bearer token obtained from Access Token API in the format Bearer <AccessToken> |
X-SIGNATURE | String | M | StringToSign: <ClientKey>|<X-TIMESTAMP:yyyy-mm-dd HH:mm:ssZ>
Signature Generation: SHA256withRSA(PrivateKey, StringToSign) Encoded Signature: BASE64(Signature) |
X-PARTNER-ID | String | M | Unique ID for a partner. |
CHANNEL-ID | String | M | Mandatory field from Bank Indonesia that can take any value with correct format 5 digits numeric string
|
X-EXTERNAL-ID | String | M | Transaction ID in Partner system. Numeric String. Same value with trxId. |
X-TIMESTAMP 2022-03-04T08:02:09+07:00
X-SIGNATURE yqmBXZ3yV6NPG1LtwXMm3quXzJMRX5Ms+r9ebc5xWIZGSKbZL3Oy871GHb7WQUucLa5nxN/HcnZYoNHc+KkWTQ==
X-PARTNER-ID 668052e34f194aa8be79e15a21e4fc2f
X-EXTERNAL-ID 91919644194391346361915387229113
CHANNEL-ID 12345
Authorization Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIxMmUzODE4Mi00YjIxLTQ0YWMtOTVkNi1mMjFhMjEwZmIxZTAiLCJjbGllbnRJZCI6IjY2ODA1MmUzNGYxOTRhYThiZTc5ZTE1YTIxZTRmYzJmIiwibmJmIjoxNjYzODQwNTU5LCJleHAiOjE2NjM4NDE0NTksImlhdCI6MTY2Mzg0MDU1OX0.fEr0vIbB2kY8alZ-SROl3ftAFbfRd0uU-lGq9XuFi8M
Content-Type application/json
Request Body
Field Name | Field Type | Mandatory | Field Description |
partnerServiceId | String(8) | M | Derivative of X- PARTNER- ID, similar to company code, 8 digit left padding space. The first 8 digits from virtualAccountNo. |
customerNo | String(20) | M | Unique number (up to 20 digits). The sixth digit until end from virtualAccountNo. |
virtualAccountNo | String(28) | M | partnerServiceId + customerNo (up to 20 digits). From response charge. |
inquiryRequestId | String(128) | M | Unique identifier from Inquiry |
paymentRequestId | String(128) | O | Unique identifier from Payment |
additionalInfo | Object | O | |
additionalInfo.merchantId | String | M | Merchant ID |
{
"partnerServiceId":" 12345",
"customerNo":123456789012345678,
"virtualAccountNo":" 12345123456789012345678",
"inquiryRequestId":"202202111031031234500001136962",
"paymentRequestId":"202202111031031234500001136962",
"additionalInfo":{
"merchant_id": "G12345463"
}
}
Response Header
Field Name | Field Type | Mandatory | Field Description |
---|---|---|---|
Content-Type | String | M | Media type of the resource, i.e application/json |
X-TIMESTAMP | String | M | Client's current local time in ISO-8601 |
Content-type:application/json
X-TIMESTAMP:2024-03-19T14:30:00+07:00
Response Body
Field Name | Field Type | Mandatory | Field Description |
responseCode | String(7) | M | Response code |
responseMessage | String(150) | M | Response description |
virtualAccountData | Object | M | |
virtualAccountData.paymentFlagReason | Object | O | |
virtualAccountData.paymentFlagReason.english | String(200) | O | Reason for Payment Status in English |
virtualAccountData.paymentFlagReason.indonesia | String(200) | O | Reason for Payment Status in English |
virtualAccountData.partnerServiceId | String(8) | M | Derivative of X- PARTNER- ID, similar to company code, 8 digit left padding space. |
virtualAccountData.customerNo | String(20) | M | Unique number (up to 20 digits). |
virtualAccountData.virtualAccountNo | String(28) | M | partnerServiceId (8 digit left padding 0) + customerNo (up to 20 digits). |
virtualAccountData.inquiryRequestId | String(128) | M | Unique identifier from Inquiry |
virtualAccountData.paymentRequestId | String(128) | C | Unique identifier for this Payment from PJP. Mandatory if Payment happened. |
virtualAccountData.paidAmount | Object | O | |
virtualAccountData.paidAmount.Value | String(ISO 4217)(16,2) | M | Paid Amount with 2 decimal |
virtualAccountData.paidAmount.Currency | String(3) | M | Currency
Currency of amount based on ISO 4217 |
virtualAccountData.paidBills | String(6) | O | Hexadecimal format of binary of flag of paid bills. If have 24 bills, and paid bills number 1, 4, 6, and 8, will be written in binary 1001010100 0000000000 0000 and converted in Hexa 95000 |
virtualAccountData.totalAmount | Object | O | |
virtualAccountData.totalAmount.value | String(ISO 4217)(16,2) | M | Total Amount with 2 decimal |
virtualAccountData.paidAmount.currency | String(3) | M | Currency
Currency of amount based on ISO 4217 |
virtualAccountData.trxDateTime | Date(25) | O | |
virtualAccountData.transactionDate | Date(25) | O | Payment datetime when the payment happened |
virtualAccountData.referenceNo | String(15) | O | Payment auth code generated by PJP |
virtualAccountData.paymentType | String(1) | O | Type of payment |
virtualAccountData.flagAdvise | String(1) | O | Status is this a retry notification |
virtualAccountData.paymentFlagStatus | String(2) | O | Status for Payment Flag: 00 (Success) 01 (Initiated) 02 (Paying) 03 (Pending) 04 (Refunded) 05 (Canceled) 06 (Failed) 07 (Not found) 08 (Expiry) 09 (Rejected)
|
virtualAccountData.billDetails | Array of Objects | O | |
virtualAccountData.billDetails.billCode | String(2) | O | Bill code for Customer choose |
virtualAccountData.billDetails.billNo | String(18) | O | Bill number from Partner |
virtualAccountData.billDetails.billname | String(20) | O | Bill Name |
virtualAccountData.billDetails.billShortName | String(10) | O | Bill Name to shown to |
virtualAccountData.billDetails.billDescription.english | String(18) | O | Bill Description in English |
virtualAccountData.billDetails.billDescription.indonesia | String(18) | O | Bill Description in Bahasa |
virtualAccountData.billDetails.billSubCompany | String(5) | O | Partner’s product code |
virtualAccountData.billDetails.billAmount.Value | String(ISO 4217)(16,2) | M | Transaction Amount.
Nominal inputted by Customer with 2 decimal |
virtualAccountData.billDetails.billAmount | Objects | O | |
virtualAccountData.billDetails.billAmount.Currency | String(3) | M | |
virtualAccountData.billDetails.billReferenceNo | Number(15) | O | Bill auth code generated by PJP |
virtualAccountData.billDetails.status | String(2) | O | Payment status for specific Bill |
virtualAccountData.reason.english | String(64) | O | Reason for Payment Status for specific Bill in English |
virtualAccountData.reason.indonesia | String(64) | O | Reason for Payment Status for specific Bill in Bahasa |
virtualAccountData.freeTexts | Array of Objects | O | |
virtualAccountData.freeTexts.english | String(32) | O | Will be shown in Channel |
virtualAccountData.freeTexts.indonesia | String(32) | O | |
virtualAccountData.additionalInfo | Object | O |
{
"responseCode": "2002600",
"responseMessage": "Success",
"virtualAccountData": {
"paymentFlagStatus": "00",
"paymentFlagReason": {
"indonesia": "BERHASIL",
"english": "SUCCESS"
},
"partnerServiceId": " 12345",
"customerNo": "123456789012345678",
"virtualAccountNo": " 12345123456789012345678",
"inquiryRequestId": "202202111031031234500001136962",
"paymentRequestId": "202202111031031234500001136962",
"paidAmount": {
"value": "100000.00",
"currency": "IDR"
},
"paidBills": "",
"totalAmount": {
"value": "100000.00",
"currency": "IDR"
},
"trxDateTime": "2022-02-12T17:29:57+07:00",
"transactionDate": "2022-02-11T10:16:04+07:00",
"referenceNo": "00113696201",
"paymentType": "",
"flagAdvise": "",
"billDetails": [
{
"billCode": "",
"billNo": "123456789012345678",
"billName": "",
"billShortName": "",
"billDescription": {
"english": "Maintenance",
"indonesia": "Pemeliharaan"
},
"billSubCompany": "00000",
"billAmount": {
"value": "100000.00",
"currency": "IDR"
},
"additionalInfo": {
"value": ""
},
"billReferenceNo": "00113696201",
"status": "00",
"reason": {
"english": "Success",
"indonesia": "Sukses"
}
}
],
"freeTexts": [
{
"english": "Free text",
"indonesia": "Tulisan bebas"
}
]
},
"additionalInfo": {
}
}