Notification - API GPN
About API GPN Notification
NICEPAY provides push notifications via dbProcessUrl Merchant. The Merchant needs to reassure there is no Blacklist NICEPAY IP and should Whitelist NICEPAY IP to get the push notification only from NICEPAY's server.
Request Method | POST |
|---|---|
Merchant Token | SHA256 ( iMid+ tXid + amt+ merchantKey) |
IP | IP Public environtment Production: 103.20.51.34 103.20.51.33 18.98.96.50 IP Public environtment Dev: 103.20.51.39 103.20.51.40 18.98.96.54 |
User-Agent | User-Agent: Jakarta Commons-HttpClient/3.1 |
Notification Parameter GPN Notification
When your dbProcessUrl received a notification, NICEPAY strongly encourage Merchants to verify the notification using the Status Inquiry - API GPN.
Parameter | Type | Size | Description | Example / Notes |
|---|---|---|---|---|
ccTransType | N | 2 | 1: Normal 2: Recurring 3: Pre-Auth 4: Capture | When Success |
fee | N | 12 | Service Fee | 0 When Success, CC |
tXid | AN | 30 | Transaction ID | IONPAYTEST01202212141326511512 |
amt | N | 12 | Payment Amount | 15000 |
notaxAmt | N | 12 | Tax-Free Amount | 0 |
cardNo | N | 20 | Card Number | 41111111****1111 |
issuBankCd | A | 4 | OTHR When success, CC | |
matchCl | N | 1 | Payment Flag (Notification Match Amount Indicator) | 1 |
preauthToken | AN | 64 | Pre-Auth Token | null |
cardExpYymm | N | 4 | Card Expiry (YYMM) | 3112 |
acquBankNm | A | 255 | Acquiring Bank Name | BNI |
payMethod | N | 2 | 09 | |
currency | A | 3 | Currency | IDR |
instmntMon Required for CC | N | 2 | Installment Month Required for CC | 1 |
issuBankNm | A | 255 | Issuing Bank Name | Mandiri |
merchantToken | AN | 255 | Merchant Token | 8fe18983b08405e3b2185135b575e87b92ffdb68e8cc603c72d2ec2062129823 |
goodsNm | AN | 100 | Goods Name | Payment+of+Invoice+No+20221214132651 |
referenceNo | ANS | 40 | Merchant Reference Number | 20221214132651 |
authNo | N | 10 | Approval Number | 511512 |
transTm | N | 6 | Transaction Time (HH24MISS) | 132651 |
cpGuaranteeableStatus | N | 4 | Status Guaranteeable | null |
recurringToken | AN | 64 | Recurring Token | null |
vat | N | 12 | VAT | 0 When Success, CC |
instmntType | N | 2 | 2 | |
billingNm | A | 100 | Buyer Name | John+Doe |
acquBankCd | A | 4 | BNIN | |
transDt | N | 8 | Transaction Date (YYYYMMDD) | 20221214 |
status | A | 1 | 0 |
Additional Parameter for Others Payment Method Notification
Parameter | Type | Size | Description |
|---|---|---|---|
mitraCd | A | 4 | |
payNo | N | 12 | Payment Number |
payValidDt | N | 8 | Expiry Date (YYYYMMDD) |
payValidTm | N | 6 | Expiry Time (HH24MISS) |
receiptCode | ANS | 20 | Authorization Number |
mRefNo | AN | 18 | Reference Number |
depositDt | N | 8 | Deposit Date (YYYYMMDD) |
depositTm | N | 6 | Deposit Time (HH24MISS) |
The Merchant Token received by the Notification Endpoint must compare internally to prevent fake/invalid notifications.
💡Example Case:
For example, you have a merchantKey that is used to generate a token, which is 1234. When the merchantToken generated by the Merchant is known, it is abcd, while the merchantToken obtained in the notification is abdd. Then the notification is considered fake/invalid.
Sample for GPN Notification
ccTransType = 1
fee = 0
tXid = IONPAYTEST01202212141326511512
amt = 15000
notaxAmt = 0
cardNo = 41111111****1111
issuBankCd = OTHR
matchCl = 1
preauthToken = null
cardExpYymm = 3112
acquBankNm = BNI
payMethod = 09
currency = IDR
instmntMon = 1
cc_trans_type = 1
issuBankNm = Mandiri
merchantToken = 8fe18983b08405e3b2185135b575e87b92ffdb68e8cc603c72d2ec2062129823
goodsNm = Payment+of+Invoice+No+20221214132651
referenceNo = 20221214132651
authNo = 511512
transTm = 132651
cpGuaranteeableStatus = null
recurringToken = null
vat = 0
instmntType = 2
billingNm = John+Doe
acquBankCd = BNIN
transDt = 20221214
status = 0