Appearance
Payment SNAP
Endpoint to initiate payment (with or without OTP) using a registered Direct Debit Card.
Name | API Direct Debit Payment |
---|---|
Service Code | 54 |
Path | /v1.0/debit/payment-host-to-host |
Version | 1.0 |
HTTP Method | POST |
Type Format | JSON |
Request Body
Field | Type | Mandatory | Length | Description |
---|---|---|---|---|
partnerReferenceNo | String | M | 64 | Transaction identifier on service consumer system |
bankCardToken | String | M | 560 | Token for Payment |
chargeToken | String | M | 50 | string code for verification OTP. Fill with "null" |
amount | Object | M | ||
amount.value | String (ISO4217) | M | 16,2 | Net amount of the transaction. If it's IDR then the value includes 2 decimal digits. e.g. IDR 10.000,- will be placed with 10000.00 |
amount.currency | String | M | 3 | Currency. Possible value: IDR |
urlParam | Array of Object | O | ||
urlParam.url | string | M | 512 | The URL |
urlParam.type | string | M | 32 | URL Type. Possible value: PAY_NOTIFY |
urlParam.isDeeplink | string | M | 1 | Whether the URL is a deep link URL or not. Possible value: N |
pointOfInitiation | String | O | 20 | used for getting more info regarding the source of request of the user. Possible value: - Mobile App - Web App - Others |
payOptionDetails | Array of Object | O | Payment option that will be used for this payment | |
payOptionDetails.payMethod | String | M | 64 | Payment Method. Possible value: DEBIT_CARD |
payOptionDetails.payOption | String | M | 64 | Payment option which shows the provider of this payment. Possible value: BRI |
additionalInfo | Object | O | Additional information | |
additionalInfo.isWithOtp | String | M | 5 | With OTP or Without OTP. Possible value: - Y: With OTP - N: Without OTP |
additionalInfo.remarks | String | O | 64 | Transaction description |
additionalInfo.billDetails | Array of Object | O | ||
billDetails.billName | String | O | 20 | Bill Name |
billDetails.billEmail | String | O | 50 | Bill Email |
billDetails.billPhoneNumer | String | O | 30 | Bill Phone Number |
Request sample with OTP:
sh
--header 'X-TIMESTAMP: 2020-12-18T10:55:00+07:00' \
--header 'X-SIGNATURE: ZF9tnd42ngwP6eStSRY4dBQdGrzrq/ucryeRwOROdJ4o1L99w3baE47niPa+q9X2AzMbKNiTvMNxBYJ48lp1x4rXLGUTJ7K3su7tKXjUndAn9KGSjZFmvFxrZFllQv9mEh0BGYvLo9B+Z9mbAcHztCRJuU0VgIYWrAAD3VaefSSaP/LLdN0yLuGDJiDPeOr8gqEiQh8SDOnEhGo8a4URmwqQLr2nyqXQR+HcYAmyonXhCh/JJ/NQamYpuzrTUrmXw6PpHiQBpsAMEPqwRDaENJ0c0LJeTiNW2SSLwNn9+zE3kPt0w9SAh7a2lxJg/T+cLywGEVnoNExwJLmDcxrDhw==' \
--header 'X-Partner-Id: IFP2024078302' \
--header 'CHANNEL-ID: DD003' \
--header 'X-EXTERNAL-ID: 38258699010458' \
--header 'Content-Type: application/json' \
--data '{
"partnerReferenceNo": "QA-20240731-005",
"bankCardToken": "card_.eyJpYXQiOjE3MjE4OTM3NDQsImlzcyI6IkJhbmsgQlJJIC0gRENFIiwianRpIjoiZTcxZTUxNTUtMWRkZS00OWM1LWJiYmQtNjJlMjJmOGJmNzE0IiwicGFydG5lcklkIjoi77-9Iiwic2VydmljZU5hbWUiOiJERF9FWFRFUk5BTF9TRVJWSUNFIn0.TS9Mw1ZvxplurJAsONIbvSqgb3-QnupvvLeNWr_iklRgD_qazjqqIF2qFYZHD9eb1B2II_bKgmtcorrcOSthj4xj1PokCC5RhdKdOMmPW2hNkcyagMLCrmqNPf7QRz12WCCxJk8Z1gA1ey_YS4UQBL4qKhZr9qaXJwlhO_gyiVuQVTYMeqrI4v9Z_ZWXzQI05ySfQD46IzvD1wblewsKJbv5GUwxgGvB5SjVq2-iYkuMeBU1YF51fM6s5PtWrohtcTh3EjLiK_SPKo_To6iHnjg1gSxufnqNrr8_Cgr8d2vXwr_Yk2TaoVKSrnIV9muphaescrMYYJ6V6EPMCQu5jw",
"chargeToken": "null",
"additionalInfo": {
"isWithOtp": "Y",
"remarks": "Testing Remarks",
"billDetails": {
"billName": "Irham Raziqony",
"billEmail": "iraziqony@gmail.com",
"billPhoneNumber": "62xxxxxxxxxxxxx"
}
},
"amount": {
"currency": "IDR",
"value": "15000.00"
},
"pointOfInitiation": "Web app",
"payOptionDetails": [
{
"payOption": "BRI",
"payMethod": "DEBIT_CARD"
}
],
"urlParam": [
{
"type": "PAY_NOTIFY",
"isDeepLink": "N",
"url": "https://google1.com"
}
]
}'
Request sample without OTP:
sh
--header 'X-TIMESTAMP: 2020-12-18T10:55:00+07:00' \
--header 'X-SIGNATURE: lIXMYYeKUokauLbrmoBpS4V+HSk9QIKUN0V2jUsuBt/kjPidC+vQ/Ah1kEoCz0+XEuJ3wVucH+cMqRbpvTkkiK5VQfifPXm8Gyaem0WOtEc+j1Yuv600KWThPvnspxykWHxPYJzV/TeH8BywXyqefmo+8R5ehCFZZvKMtF8g2MqqxgiaKHmBjhPp5CgU0sTLSpx7V22E5ZmU+mzW/Pqp8DJO6IN0hSbXLHUwsEWjyhUrTD+1eyQXo8qcxis/VP2YTZUDXQrCMUKa2w6vGY/k78HmHZoPxzPfcBgmxEYCJfOlFoNATOAiDroF4mdYcE5hE8+sz7+qbiZ27ePtvHXDqQ==' \
--header 'X-Partner-Id: IFP2024078302' \
--header 'CHANNEL-ID: DD003' \
--header 'X-EXTERNAL-ID: 16144400187635' \
--header 'Content-Type: application/json' \
--data '{
"partnerReferenceNo": "QA-20240731-006",
"bankCardToken": "card_.eyJpYXQiOjE3MjE4OTM3NDQsImlzcyI6IkJhbmsgQlJJIC0gRENFIiwianRpIjoiZTcxZTUxNTUtMWRkZS00OWM1LWJiYmQtNjJlMjJmOGJmNzE0IiwicGFydG5lcklkIjoi77-9Iiwic2VydmljZU5hbWUiOiJERF9FWFRFUk5BTF9TRVJWSUNFIn0.TS9Mw1ZvxplurJAsONIbvSqgb3-QnupvvLeNWr_iklRgD_qazjqqIF2qFYZHD9eb1B2II_bKgmtcorrcOSthj4xj1PokCC5RhdKdOMmPW2hNkcyagMLCrmqNPf7QRz12WCCxJk8Z1gA1ey_YS4UQBL4qKhZr9qaXJwlhO_gyiVuQVTYMeqrI4v9Z_ZWXzQI05ySfQD46IzvD1wblewsKJbv5GUwxgGvB5SjVq2-iYkuMeBU1YF51fM6s5PtWrohtcTh3EjLiK_SPKo_To6iHnjg1gSxufnqNrr8_Cgr8d2vXwr_Yk2TaoVKSrnIV9muphaescrMYYJ6V6EPMCQu5jw",
"chargeToken": "null",
"additionalInfo": {
"isWithOtp": "N",
"remarks": "Testing Remarks",
"billDetails": {
"billName": "Irham Raziqony",
"billEmail": "iraziqony@gmail.com",
"billPhoneNumber": "62812912301239"
}
},
"amount": {
"currency": "IDR",
"value": "15000.00"
},
"pointOfInitiation": "Web app",
"payOptionDetails": [
{
"payOption": "BRI",
"payMethod": "DEBIT_CARD"
}
],
"urlParam": [
{
"type": "PAY_NOTIFY",
"isDeepLink": "N",
"url": "https://google1.com"
}
]
}'
Response Body with OTP
Field | Type | Mandatory | Length | Description |
---|---|---|---|---|
responseCode | String | M | 7 | Response code |
responseMessage | String | M | 150 | Response description |
referenceNo | String | M | 64 | Transaction identifier on service provider system. Must be filled upon successful transaction |
partnerReferenceNo | String | O | 64 | Transaction identifier on service consumer system |
additionalInfo | Object | O | Additional information | |
additionalInfo.chargeToken | String (ISO4217) | M | 16,2 | string code for verification OTP |
additionalInfo.remarks | String | O | 64 | Transaction description |
Response sample with OTP:
sh
"additionalInfo": {
"chargeToken": "CHARGE_TIW6JE3N2MQAU7IG24G5XO5JBBC7ZKCH::0146",
"remarks": "Testing Remarks"
},
"partnerReferenceNo": "QA-20240731-005",
"referenceNo": "019106cd49f37da3908224ae6db2e800",
"responseCode": "2005400",
"responseMessage": "Successful"
}
Response Body without OTP
Field | Type | Mandatory | Length | Description |
---|---|---|---|---|
responseCode | String | M | 7 | Response code |
responseMessage | String | M | 150 | Response description |
referenceNo | String | M | 64 | Transaction identifier on service provider system. Must be filled upon successful transaction |
partnerReferenceNo | String | O | 64 | Transaction identifier on service consumer system |
additionalInfo | Object | O | Additional information | |
additionalInfo.amount | String (ISO4217) | M | 16,2 | Net amount of the transaction. If it's IDR then value includes 2 decimal digits. e.g. IDR 10.000,- will be placed with 10000.00 |
additionalInfo.currency | String | M | 3 | Currency |
additionalInfo.remarks | String | O | 64 | Transaction description |
Response sample without OTP:
sh
"additionalInfo": {
"amount": "15200.00",
"currency": "IDR",
"remarks": "Testing Remarks"
},
"partnerReferenceNo": "QA-20240731-006",
"referenceNo": "019106ed8dc274f389e4fe704a1e3df8",
"responseCode": "2005400",
"responseMessage": "Successful"
}