Appearance
Payment Notification
Information
Notification Callback is a feature for sending payment notifications to the merchant's callback URL.
Path | /v1.1/bnpl/payment-notify |
---|---|
HTTP Method | POST |
Service Code | 93 |
Type Format | JSON |
Request Body
Details
Parameter | Data Type | Mandatory | Length | Description |
---|---|---|---|---|
originalPartnerReferenceNo | String | M | 64 | ID transaction generated by the merchant |
originalReferenceNo | String | M | 64 | ID transaction generated by Ifortepay |
paymentDetails | Object | M | ||
paymentDetails.amount | Object | Amount of the transaction | ||
paymentDetails.amount.value | String | M | 16,2 | |
paymentDetails.amount.currency | String | M | 3 | |
paymentDetails.totalAmount | Object | |||
paymentDetails.totalAmount.value | String | M | 16,2 | Total amount of the transaction. If it's IDR then value includes 2 decimal digits. e.g. IDR 10.000,- will be placed as 10000.00 with 2 decimals |
paymentDetails.totalAmount.currency | String | M | 3 | Currency |
paymentChannel | String | M | 30 | Description name of the payment channel |
paymentSystem | String | M | 50 | |
itemDetails | Array of Objects | M | ||
itemDetails.itemId | String | M | 64 | Can be product SKU. For item fee such as: shipping fee, admin fee etc you have to use one of these: shippingfee, adminfee, taxfee, discount, additionalfee, insurancefee |
itemDetails.name | String | M | 128 | Product name |
itemDetails.amount | Object | M | Product price | |
itemDetails.amount.value | String | M | 16,2 | If it's IDR then the value includes 2 decimal digits. e.g. IDR 10.000,- will be placed with 10000.00 with 2 decimals |
itemDetails.amount.currency | String | M | 3 | Currency (Format: ISO4217), fixed value: IDR |
itemDetails.url | String | M | 256 | URL of the product on the merchant’s site/platform |
itemDetails.imageUrl | String | O | 256 | URL of the product image on the merchant’s site/platform |
itemDetails.category | Enum | M | 256 | Category of the product. Mandatory for payment type checkout URL |
itemDetails.qty | Integer | M | 8 | Quantity of the product |
itemDetails.parentType | String | M | Possible values: SELLER Mandatory for payment type checkout URL | |
itemDetails.parentId | String | M | It will correspond to the SELLER ID if the parentType is SELLER | |
tenure | String | M | Installment options chosen by the customer. Possible values: 30_days , 3_months , 6_months , 12_months , 15_months , 18_months Mandatory for payment type checkout URL | |
latestTransactionStatus | String | M | 2 | Refer to Appendix 1 - Transaction Status for specific transaction statuses |
transactionStatusDesc | String | M | 50 | Description of transaction status |
createdAt | String | M | 25 | Created time |
paidTime | String | C | The value will be returned for successful payment | |
customerDetails | Object | M | Customer details | |
customerDetails.firstName | String | M | 16 | Customer’s first name |
customerDetails.lastName | String | O | 16 | Customer’s last name |
customerDetails.email | String | M | 64 | The customer’s email registered in the merchant site/platform |
customerDetails.phone | String | M | 16 | The customer’s phone registered in the merchant site/platform |
callbackUrl | String | M | Merchant payment notification URL | |
cancelReturnUrl | String | O | Redirect to the merchant’s URL if the customer cancels the payment before completion | |
returnUrl | String | O | Redirect to the merchant’s URL after the transaction is complete | |
validityPeriod | String | O | The time when the payment is valid. Use format ISO-8601. Maximum expiry time is 1×24 hours |
Example Request
Details
sh
{
"originalPartnerReferenceNo": "41945783730517",
"originalReferenceNo": "01970fd9-3610-7211-be99-7d6c2363f01c",
"latestTransactionStatus": "00",
"transactionStatusDesc": "Success",
"paymentDetails": {
"amount": {
"value": "350000.00",
"currency": "IDR"
},
"totalAmount": {
"value": "350000.00",
"currency": "IDR"
}
},
"paymentChannel": "INDODANA",
"paymentSystem": "JUMPAPP",
"itemDetails": [
{
"itemId": "FOOD01",
"name": "RUJAK",
"amount": {
"value": "350000.00",
"currency": "IDR"
},
"url": "https://www.google.com/",
"category": "0017",
"qty": 1,
"parentType": "SELLER",
"parentId": "123"
}
],
"tenure": "3_months",
"paidTime": "2025-05-27T10:46:23+07:00",
"customerDetails": {
"firstName": "Quality",
"lastName": "Assurance",
"email": "qa@ifortepay.id",
"phone": "089121313131"
},
"callbackUrl": "https://mcpid.proxy.beeceptor.com/BNPL",
"cancelReturnUrl": "https://www.google.com/",
"returnUrl": "https://www.google.com/",
"validityPeriod": "2025-05-27T11:01:22+07:00",
"createdAt": "2025-05-27T10:46:23+07:00"
}
Response
Details
Parameter | Data Type | Mandatory | Length | Description |
---|---|---|---|---|
responseCode | String | M | 7 | Response code |
responseMessage | String | M | 150 | Response description |
Example Response
Details
{
"responseCode":"2009300",
"responseMessage":"Request has been processed successfully"
}