NICEPAY API
...
API Virtual Account
Notification - API Virtual Account
8 min
about api virtual account notification {{nicepay}} provides push {{notification}} s 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 post merchant token sha256 ( imid + txid + amt + merchantkey ) ip 103 20 51 0/24 103 117 8 0/24 user agent user agent jakarta commons httpclient/3 1 notification parameter virtual account when your dbprocessurl received a {{notification}} , {{nicepay}} strongly recommend {{merchant}} to verify {{the}} {{notification}} using {{the}} docid\ itcm3ihd d5tjo3i0zjen parameter type size description example / notes txid n 30 transaction id ionpaytest02202212141423372834 merchanttoken an 255 {{merchant}} token 76a7ea699351eef2ffd1ade233547ed7f3b44aea5859aee7c2250bff1bae7dc9 referenceno ans 40 {{merchant}} order number order123 paymethod n 2 docid\ ek 0djw7nuhytcda4sa3p amt n 12 {{paymentproduct}} amount 10000 vacctno n 20 va number 70014000091423372834 transtm n 6 transaction time 142527 transdt n 8 transaction date 20221214 instmnttype n 2 docid\ wfsinjxqc2s9yubbybpep 1 instmntmon n 2 installment month null vacctvalidtm n 6 va expiry time ( hh24miss ) 142337 vacctvaliddt n 8 va expiry date ( yyyymmdd ) 20221216 currency a 3 currency goodsnm an 100 goods name test+transaction+nicepay billingnm a 100 billing name {{customer}} name status a 1 deposit status docid\ qahrf3q4g85njtqxmwfyk 0 deposit 1 reversal 0 matchcl n 1 payment flag docid yqqe4ju5bjurdxkxdtho 1 additional parameter for virtual account notification parameter type size descriprion bankcd a 4 docid\ qbeq29lj53z vbvxtvb7l vacctno n 16 {{bank}} va number vacctvaliddt n 8 va expiry date ( yyyymmdd ) vacctvalidtm n 6 va expiry time ( hh24miss ) 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 {{notification}} s 💡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 ⚠️ pay attention to {{the}} reversal {{process}} that can occur in a {{va}} for reversal {{status}} on {{va}} s, {{notification}} s will automatically be sent from {{the}} {{bank}} to {{the}} {{customer}} as a failed {{transaction}} {{nicepay}} will forward {{the}} {{notification}} regarding {{the}} reversal {{process}} to {{the}} {{merchant}} to be handled further by {{the}} {{merchant}} as a {{status}} update to failed/cancel {{please}} learn more about docid\ gi xzzfxpe8uszbaurd0t sample for va notification sample post for va notification merchanttoken = 76a7ea699351eef2ffd1ade233547ed7f3b44aea5859aee7c2250bff1bae7dc9 goodsnm = test+transaction+nicepay referenceno = order123 transtm = 142527 txid = ionpaytest02202212141423372834 amt = 10000 vacctno = 70014000091423372834 instmnttype = 1 billingnm = customer+name matchcl = 1 vacctvaliddt = 20221216 paymethod = 02 bankcd = bmri currency = idr instmntmon = null vacctvalidtm = 142337 transdt = 20221214 status = 0