NICEPAY API
...
Registration - API Credit Card
Recurring - Registration API Credit Card
13 min
about recurring registration api credit card recurring {{payment}} type is a {{payment}} type option using {{cc}} to perform periodic {{payment}} s for a bill with {{the}} same amount as {{the}} bill amount from {{the}} initial {{payment}} {{api}} used on {{the}} registration stage is similar to {{the}} {{api}} for registering {{the}} full {{paymentproduct}} & installment type, however, there are several differences on {{the}} sent {{parameter}} request learn about {{the}} {{cc}} {{paymentproduct}} feature with {{the}} recurring docid 5p povp7xv ohkyiebaoc {{please}} visit docid\ df1msbfg3bhvcyolymdlq {{page}} to learn common {{information}} related to {{cc}} recurring registration api credit card api url /nicepay/direct/v2/registration request method post post description recurring merchant token sha256( timestamp + imid + referenceno + amt + merchantkey ) request format application/json request parameter for recurring registration api credit card this following is a list of {{parameter}} s to do recurring {{integration}} {{process}} for {{cc}} {{paymethod}} parameter t ype size description example / notes timestamp required required n 14 request timestamp ( yyyymmddhh24miss ) 20221202141217 imid required required an 10 {{merchant}} id ionpaytest paymethod required required n 2 docid\ ek 0djw7nuhytcda4sa3p 01 (credit card) currency required required a 3 currency idr amt required required n 12 amount (number not in float format) 10000 (sum amount total goods from cartdata ) referenceno required required ans 40 {{merchant}} 's reference number ordno20221202141217 goodsnm required required an 100 goods name testing transaction billingnm required required a 100 buyer name john doe billingphone required required n 15 buyer phone number 2112345678 billingemail required required ans 40 buyer e mail buyer\@merchant com billingaddr required required an 100 buyer address jln raya kasablanka kav 88 billingcity required required a 50 buyer city south jakarta billingstate required required a 50 billing state dki jakarta billingpostcd required required n 10 billing post number 14350 billingcountry required required a 10 billing country {{indonesia}} cartdata optional optional jsonstring 4000 cart data {} instmnttype required required n 2 docid\ wfsinjxqc2s9yubbybpep 1 (for preauth & recurring default 1) instmntmon required required n 2 installment month 1 1 month/full {{paymentproduct}} , if instmnttype null /1 1 (for preauth & recurring default 1) recurropt required required n 2 0 automatic cancel 1 do not cancel 2 do not make token 2 dbprocessurl required required ans 255 notification url https //merchant com/dbprocessurl userip required for cc, e wallet, payloan, qris required for cc, e wallet, payloan, qris an 15 user ip 127 0 0 1 merchanttoken required required an 255 {{merchant}} token c91e6531f6c84869439bc5ebe5389bd71e7752c054fc9dbfe193d087a1b797ae description an 100 transaction description test transaction usersessionid an 100 user session id usersessionid useragent ans 100 user agent mozilla userlanguage a 2 user language en us cart data for full payment & installment registration api credit card cartdata on request {{parameter}} at {{cc}} registration uses to cover {{the}} goods or items will be paid to your {{customer}} including {{the}} item detail and each item price parameter description example count total sum from {{the}} whole cart data 2 item divide into 5 types of {{parameter}} such as img url , goods id , goods name , goods detail and goods amt detail explaination on item {{parameter}} parameter description example img url url item picture (size 50px x 50px) htttps\ //www merchant com/image goods1 jpg goods id item id niceprdid1 goods name item name nama item 1 goods detail item detail description detail item 1 goods amt item price 1000 sample json cart data cartdata credit card registration { "count" "2", "item" \[ { "img url" "http //www merchant com/image goods1 jpg", "goods id" "niceprdid1", "goods name" "item 1 name", "goods detail" "item 1 detail", "goods amt" "1000" }, { "img url" "http //www merchant com/image goods2 jpg", "goods id" "niceprdid1", "goods name" "item 2 name", "goods detail" "item 2 detail", "goods amt" "1000" } ] } response parameter for recurring registration api credit card following is {{the}} response {{parameter}} from {{the}} request {{parameter}} result for {{the}} recurring {{integration}} {{process}} on {{cc}} parameter type size description example / notes resultcd n 4 docid 2r5sr3xvppu1eju1nitg 0000 resultmsg an 255 result message docid 4 fpewlvczfhcvygxwck9 success txid an 30 transaction id ionpaytest01202212151029182023 referenceno ans 40 {{merchant}} reference number ordno20221215101254 paymethod n 2 docid\ ek 0djw7nuhytcda4sa3p 01 amt n 12 {{paymentproduct}} amount 10000 transdt n 8 transaction date ( yyyymmdd ) 20221212 transtm n 6 transction time ( hh24miss ) 121212 description an 100 transaction description testing transaction {{cc}} bankcd a 4 docid\ qbeq29lj53z vbvxtvb7l null vacctno n 20 {{va}} null mitracd a 4 docid 0upx1lyg1o2f4biu3ssp null payno n 12 cvs {{paymentproduct}} number null currency a 3 currency idr goodsnm an 100 goods name goods for testing transaction billingnm a 100 buyer name john doe vacctvaliddt n 8 va expiry date ( yyyymmdd ) null vacctvalidtm n 6 va expiry time ( hh24miss ) null payvaliddt n 8 expiry date ( yyyymmdd ) null payvalidtm n 6 expiry time ( hh24miss ) null requesturl ans 360 request url null paymentexpdt n 6 qr {{paymentproduct}} expiry date ( yyyymmdd ) null paymentexptm n 6 qr {{paymentproduct}} expiry time ( hh24miss ) null qrcontent ans 360 qr string in plain text null qrurl ans 360 url for qr image, valid for 5 minutes null sample parameter for recurring registration api credit card request parameter curl curl location 'https //dev nicepay co id/nicepay/direct/v2/registration' \\ \ header 'content type application/json' \\ \ data raw '{ "timestamp" "20221213101276", "imid" "recurrtest", "paymethod" "01", "currency" "idr", "amt" "5000", "merchanttoken" "ed9c8640b6260c8fa7070aa4e38df87896f9777899af354ee6d3d61f64626c0c", "referenceno" "ordno20221213101276", "goodsnm" "goods for testing", "billingnm" "john doe", "billingphone" "081288998899", "billingemail" "john doe\@example com", "billingaddr" "jln raya kasablanka kav 88", "billingcity" "south jakarta", "billingstate" "dki jakarta", "billingcountry" "indonesia", "billingpostcd" "12800", "cartdata" "{\\"count\\" \\"1\\",\\"item\\" \[{\\"goods id\\" \\"niceprdid1\\",\\"img url\\" \\"http //www merchant com/image goods1 jpg\\",\\"goods name\\" \\"goods for testing\\",\\"goods detail\\" \\"goods for testing details\\",\\"goods amt\\" \\"5000\\",\\"goods quantity\\" \\"1\\"}]}", "dbprocessurl" "http //ptsv2 com/t/merchant/post", "userip" "127 0 0 1", "instmnttype" "1", 	"instmntmon" "1", "recurropt" "1", "userlanguage" "en", "useragent" "mozilla/5 0 (windows nt 6 1; win64; x64; rv 47 0) gecko/20100101 firefox/47 0" }' node js const nicepayclient = require("nodejs nicepay"); let secondversion = new nicepayclient secondapiversion({ isproduction false, iscloudserver false, merchantkey "your merchant key" }); const parameter = { timestamp "20221213101276", imid "recurrtest", paymethod "01", currency "idr", amt "5000", referenceno "ordno20221213101276", goodsnm "goods for testing", billingnm "john doe", billingphone "081288998899", billingemail "john doe\@example com", billingaddr "jln raya kasablanka kav 88", billingcity "south jakarta", billingstate "dki jakarta", billingpostcd "12800", billingcountry "indonesia", cartdata "{\\"count\\" \\"1\\",\\"item\\" \[{\\"goods id\\" \\"niceprdid1\\",\\"img url\\" \\"http //www merchant com/image goods1 jpg\\",\\"goods name\\" \\"goods for testing\\",\\"goods detail\\" \\"goods for testing details\\",\\"goods amt\\" \\"5000\\",\\"goods quantity\\" \\"1\\"}]}", dbprocessurl "http //ptsv2 com/t/merchant/post", userip "127 0 0 1", instmnttype "1", instmntmon "1", recurropt "1", userlanguage "en", useragent "mozilla/5 0 (windows nt 6 1; win64; x64; rv 47 0) gecko/20100101 firefox/47 0", }; let endpoint = "/direct/v2/registration"; secondversion requestapi(parameter, endpoint); string reffno = "ordno20221202141217"; card requestdata = card builder() timestamp("20221202141217") imid("ionpaytest") paymethod("01") currency("idr") amt("5000") referenceno(reffno) goodsnm("testing transaction") billingnm("john doe") billingphone("081288998899") billingemail("john doe\@example com") billingaddr("jln raya kasablanka kav 88") billingcity("south jakarta") billingstate("dki jakarta") billingpostcd("12800") billingcountry("indonesia") description("testing registration credit card") deliverynm("") deliveryphone("") deliveryaddr("") deliverycity("") deliverystate("") deliverypostcd("") deliverycountry("") dbprocessurl("http //ptsv2 com/t/merchant/post") userip("127 0 0 1") useragent("mozilla/5 0 (windows nt 6 1; win64; x64; rv 47 0) gecko/20100101 firefox/47 0") instmnttype("1") instmntmon("1") recurropt("1") cartdata("{\\"count\\" \\"1\\",\\"item\\" \[{\\"goods id\\" \\"niceprdid1\\",\\"img url\\" \\"http //www merchant com/image goods1 jpg\\",\\"goods name\\" \\"goods for testing\\",\\"goods detail\\" \\"goods for testing details\\",\\"goods amt\\" \\"5000\\",\\"goods quantity\\" \\"1\\"}]}") merchanttoken("20221202141217", "ionpaytest", reffno, "5000", merchantkey) build(); nicepayresponsev2 cardregistresponse = v2cardservice callv2cardregistration(requestdata, config); amt = 1000 itemcartdata = { "goods id" "niceprdid1", "goods detail" "bb12345678", "goods name" "market", "goods amt" amt, "goods url" "https //merchant com/cellphones/iphone5s 64g", } bodycartdata = ( buildercartdata buildcartdata() setcount("1") setitem(itemcartdata) build() ) bodycreditcard = ( buildercreditcard buildcreditcard() setpaymethod(constantsgeneral getpaymethodcreditcard()) setrecurropt("1") setinstmntmon("1") setinstmnttype("1") setamt(str(amt)) build() ) environment = ( builderenvironment buildenvironment() iscloud(false) isproduction(false) build() ) c# string merchantkey = config merkey; string clientid = config clientid; string timestamp = "20221213101276"; string refno = "ordno20221213101276"; string amount = "5000"; bool isproduction = false; bool iscloudserver = false; // 1️⃣ generate merchant token var merchanttokenbuilder = new merchanttokenbuilder() settimestamp(timestamp) setimid(clientid) setrefno(refno) setamount(amount) setmerchantkey(merchantkey); string merchanttoken = merchanttokenbuilder buildmerchanttoken(); // 2️⃣ build cart data var cartitem = new dictionary\<string, object> { {"goods id", "ionpaytestprd1"}, { "img url", "http //www merchant com/image goods1 jpg" }, { "goods name", "goods for testing" }, { "goods detail", "goods for testing details" }, { "goods amt", "5000" } }; var cartdatabuilder = new buildercartdata() setcount("1") setitem(cartitem); var cartdata = cartdatabuilder build(); // 3️⃣ build credit card request body var bodybuilder = new nicepayrequestbuilder() setcommonfields( imid "recurrtest", timestamp timestamp, paymethod "01", currency "idr", amt amount, referenceno refno, goodsnm "goods for testing", merchanttoken merchanttoken ) setcreditcard( instmnttype "1", instmntmon "1", recurropt "" ) setbillinginfo( billingnm "john doe", billingphone "081288998899", billingemail "john doe\@example com", billingaddr "jln raya kasablanka kav 88", billingcity "south jakarta", billingstate "dki jakarta", billingpostcd "12800", billingcountry "indonesia" ) setdbprocessurl("http //ptsv2 com/t/merchant/post") setcartdata(cartdata) setuserip("127 0 0 1") setuserlanguage("en") setuseragent("mozilla/5 0 (windows nt 6 1; win64; x64; rv 47 0) gecko/20100101 firefox/47 0"); apiendpoints apiendpoints = new apiendpoints(); // 4️⃣ build payload and send dictionary\<string, object> payload = bodybuilder build(); string jsonpayload = newtonsoft json jsonconvert serializeobject(payload, newtonsoft json formatting indented); var registrationservice = new nicepayregistrationservice(apiendpoints, isproduction, iscloudserver); var result = await registrationservice sendpostasync(apiendpoints registv2, payload); vanilla js const registrationdata = { timestamp "20221202141217", paymethod "01", currency "idr", amt "5000", referenceno "ordno20221202141217", goodsnm "testing transaction", billingnm "john doe", billingphone "081288998899", billingemail "john doe\@example com", billingaddr "jln raya kasablanka kav 88", billingcity "south jakarta", billingstate "dki jakarta", billingpostcd "12800", billingcountry "indonesia", description "testing registration credit card", deliverynm "", deliveryphone "", deliveryaddr "", deliverycity "", deliverystate "", deliverypostcd "", deliverycountry "", dbprocessurl "http //ptsv2 com/t/merchant/post", merchanttoken "c91e6531f6c84869439bc5ebe5389bd71e7752c054fc9dbfe193d087a1b797ae", userip "127 0 0 1", cartdata "{\\"count\\" \\"1\\",\\"item\\" \[{\\"goods id\\" \\"niceprdid1\\",\\"img url\\" \\"http //www merchant com/image goods1 jpg\\",\\"goods name\\" \\"goods for testing\\",\\"goods detail\\" \\"goods for testing details\\",\\"goods amt\\" \\"5000\\",\\"goods quantity\\" \\"1\\"}]}", useragent "mozilla/5 0 (windows nt 6 1; win64; x64; rv 47 0) gecko/20100101 firefox/47 0", instmntmon "1", instmnttype "1", recurropt "1" }; // example payment data object if needed (adjust per your code) const paymentdata = { cardno "4811111111111114", expmonth "12", expyear "2025", cvv "123", }; (async () => { try { const response = await nicepay registertransaction(registrationdata, paymentdata); console log("transaction response ", response); } catch (error) { console error("registration failed ", error); } })(); laravel $useprod = false; $usecloud = false; $registration endpoint = "/nicepay/direct/v2/registration"; $url = httputil getnicepaydomain($useprod, $usecloud) $registration endpoint; $timestamp = "20221213101276"; $reference no = "ordno20221213101276"; $amt = "5000"; $merchant token = "ed9c8640b6260c8fa7070aa4e38df87896f9777899af354ee6d3d61f64626c0c"; $body = \[ "timestamp" => $timestamp, "imid" => "recurrtest", "paymethod" => "01", "currency" => "idr", "amt" => $amt, "merchanttoken" => $merchant token, "referenceno" => $reference no, "goodsnm" => "goods for testing", "billingnm" => "john doe", "billingphone" => "081288998899", "billingemail" => "john doe\@example com", "billingaddr" => "jln raya kasablanka kav 88", "billingcity" => "south jakarta", "billingstate" => "dki jakarta", "billingcountry" => "indonesia", "billingpostcd" => "12800", "cartdata" => "{\\"count\\" \\"1\\",\\"item\\" \[{\\"goods id\\" \\"niceprdid1\\",\\"img url\\" \\"http //www merchant com/image goods1 jpg\\",\\"goods name\\" \\"goods for testing\\",\\"goods detail\\" \\"goods for testing details\\",\\"goods amt\\" \\"5000\\",\\"goods quantity\\" \\"1\\"}]}", "dbprocessurl" => "http //ptsv2 com/t/merchant/post", "userip" => "127 0 0 1", "instmnttype" => "1", "instmntmon" => "1", "recurropt" => "1", "userlanguage" => "en", "useragent" => "mozilla/5 0 (windows nt 6 1; win64; x64; rv 47 0) gecko/20100101 firefox/47 0" ]; $response = httputil postjsonrequest($url, $body); php native $config = nicepay builder() >setisproduction(false) >build(); $timestamp = "20221202141217"; $reffno = "ordno20221202141217"; $amount = "5000"; $parameter = card builder() >settimestamp($timestamp) >setimid("ionpaytest") >setpaymethod("01") >setcurrency("idr") >setamt($amount) >setreferenceno($reffno) >setmerchanttoken($timestamp, "ionpaytest", $reffno, $amount, $this >merchantkey) >setdescription("testing registration credit card") >setgoodsnm("testing transaction") >setbillingnm("john doe") >setbillingphone("081288998899") >setbillingemail("john doe\@example com") >setbillingaddr("jln raya kasablanka kav 88") >setbillingcity("south jakarta") >setbillingstate("dki jakarta") >setbillingcountry("indonesia") >setbillingpostcd("12800") >setdbprocessurl("http //ptsv2 com/t/merchant/post") >setcartdata("{\\"count\\" \\"1\\",\\"item\\" \[{\\"goods id\\" \\"niceprdid1\\",\\"img url\\" \\"http //www merchant com/image goods1 jpg\\",\\"goods name\\" \\"goods for testing\\",\\"goods detail\\" \\"goods for testing details\\",\\"goods amt\\" \\"5000\\",\\"goods quantity\\" \\"1\\"}]}") >setuserip("127 0 0 1") >setinstmnttype("1") >setinstmntmon("1") >setrecurropt("1") >setuserlanguage("en") >setuseragent("mozilla/5 0 (windows nt 6 1; win64; x64; rv 47 0) gecko/20100101 firefox/47 0") >build(); $cardservice = new v2cardservice($config); var config nicepay? = nicepay builder() isproduction(false) clientsecret(testingconstants client secret) partnerid(testingconstants partner id) externalid(testingconstants external id) timestamp(testingconstants timestamp) privatekey(testingconstants private key) build() val request directv2card = directv2card builder() timestamp("20221202141217") imid("ionpaytest") paymethod("01") currency("idr") amt("5000") referenceno("ordno20221202141217") goodsnm("testing transaction") billingnm("john doe") billingphone("081288998899") billingemail("john doe\@example com") billingaddr("jln raya kasablanka kav 88") billingcity("south jakarta") billingstate("dki jakarta") billingpostcd("12800") billingcountry("indonesia") dbprocessurl("http //ptsv2 com/t/merchant/post") userip("127 0 0 1") useragent("mozilla/5 0 (windows nt 6 1; win64; x64; rv 47 0) gecko/20100101 firefox/47 0") userlanguage("en") instmnttype("1") instmntmon("1") recurropt("1") cartdata("{\\"count\\" \\"1\\",\\"item\\" \[{\\"goods id\\" \\"niceprdid1\\",\\"img url\\" \\"http //www merchant com/image goods1 jpg\\",\\"goods name\\" \\"goods for testing\\",\\"goods detail\\" \\"goods for testing details\\",\\"goods amt\\" \\"5000\\",\\"goods quantity\\" \\"1\\"}]}") merchantkey(default merchant key) build() val response nicepayresponsev2 = v2cardservice registration(request, config)!! codeigniter $timestamp = "20221202141217"; $configbuilder = nicepay builder(); $config = $configbuilder >setisproduction(false) >setiscloudserver(iscloudserver true) >build(); $reffno = "ordno20221202141217"; $amount = "5000"; $cardbuilder = card builder(); $parameter = $cardbuilder >settimestamp($timestamp) >setimid("ionpaytest") >setpaymethod("01") >setcurrency("idr") >setamt($amount) >setreferenceno($reffno) >setmerchanttoken($timestamp, "ionpaytest", $reffno, $amount, $this >merchantkey) >setdescription("testing registration credit card") >setgoodsnm("testing transaction") >setbillingnm("john doe") >setbillingphone("081288998899") >setbillingemail("john doe\@example com") >setbillingaddr("jln raya kasablanka kav 88") >setbillingcity("south jakarta") >setbillingstate("dki jakarta") >setbillingpostcd("12800") >setbillingcountry("indonesia") >setdbprocessurl("http //ptsv2 com/t/merchant/post") >setcartdata("{\\"count\\" \\"1\\",\\"item\\" \[{\\"goods id\\" \\"niceprdid1\\",\\"img url\\" \\"http //www merchant com/image goods1 jpg\\",\\"goods name\\" \\"goods for testing\\",\\"goods detail\\" \\"goods for testing details\\",\\"goods amt\\" \\"5000\\",\\"goods quantity\\" \\"1\\"}]}") >setuserip("127 0 0 1") >setinstmnttype("1") >setinstmntmon("1") >setrecurropt("1") >setuserlanguage("en") >setuseragent("mozilla/5 0 (windows nt 6 1; win64; x64; rv 47 0) gecko/20100101 firefox/47 0") >build(); $cardservice = new v2cardservice($config); $response = $cardservice >registration($parameter); response parameter sample response { "resultcd" "0000", "resultmsg" "success", "txid" "recurrtest01202510081035159576", "referenceno" "ordno20221213101276", "paymethod" "01", "amt" "5000", "transdt" "20251008", "transtm" "103515", "description" null, "bankcd" null, "vacctno" null, "mitracd" null, "payno" null, "currency" null, "goodsnm" null, "billingnm" null, "vacctvaliddt" null, "vacctvalidtm" null, "payvaliddt" null, "payvalidtm" null, "requesturl" null, "paymentexpdt" null, "paymentexptm" null, "qrcontent" null, "qrurl" null }