NICEPAY API
...
Registration - API Credit Card
Pre-Auth & Capture - Registration API Credit Card
13 min
tentang pre auth & capture registration api credit card pre auth & capture merupakan fitur lainnya dari {{kartukredit}} di mana {{merchant}} dapat menahan ( hold ) atau melakukan {{proses}} pre auth terlebih dahulu dari dana {{yang}} sudah dibayarkan oleh {{pelanggan}} {{anda}} kemudian, {{anda}} perlu melakukan validasi atas jumlah dana {{transaksi}} tersebut atau {{yang}} disebut dengan capture agar dana tersebut masuk ke dalam rekening {{bank}} {{anda}} jika {{anda}} melakukan {{proses}} capture setelah masa kedaluwarsa pre auth berakhir maka {{transaksi}} tersebut akan dianggap void dan dana {{transaksi}} tersebut akan dikembalikan kepada {{pelanggan}} {{anda}} maka, kami sarankan untuk segera melakukan {{proses}} capture sebelum masa kedaluwarsa {{transaksi}} pre auth tersebut habis pelajari mengenai fitur {{cc}} {{paymentproduct}} dengan pre auth & capture di docid\ o3geuxqpbrqbtckpuzf6b pre auth & capture registration api credit card api endpoint /nicepay/direct/v2/registration request method post post description pre auth & capture merchant token sha256( timestamp + imid + referenceno + amt + merchantkey ) request format application/json request parameter for pre auth & capture registration api credit card langkah pertama {{yang}} perlu lakukan untuk mengaktifkan fitur pre auth & capture adalah melakukan registrasi {{transaksi}} {{kartukredit}} terlebih dahulu pada {{api}} registrasi ini proses ini dilakukan agar {{anda}} mendapatkan txid {{yang}} dapat dipakai untuk melakukan {{proses}} pre auth nantinya parameter tipe ukuran deskripsi contoh / catatan timestamp required required n 14 request timestamp ( yyyymmddhh24miss ) 20221202141217 imid required required an 10 {{merchant}} id ionpaytest paymethod required required n 2 docid\ iifmsruuw7j9vmwefjz97 01 currency required required a 3 currency idr amt required required n 12 amount (number not in float format) 10000 (jumlah total amount goods dari 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\ rt2c32s9hfl aohyoebv5 1 (untuk preauth & recurring default 1) instmntmon required required n 2 installment month 1 1 month/full {{paymentproduct}} , jika instmnttype null/1 1 (untuk 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 pre auth & capture registration api credit card cartdata pada request {{parameter}} di registrasi {{kartukredit}} berguna untuk meliputi barang atau item apa saja {{yang}} akan dibayarkan oleh {{pelanggan}} {{anda}} berserta rincian dan harga per item parameter deskripsi contoh count total jumlah dari keseluruhan cart data 2 item terbagi menjadi 5 macam {{parameter}} , yaitu img url , goods id , goods name , goods detail , dan goods amt penjelasan detil pada {{parameter}} item parameter deskripsi contoh img url url gambar barang (ukuran 50px x 50px) htttps\ //www merchant com/image goods1 jpg goods id id barang niceprdid1 goods name nama barang nama item 1 goods detail deskripsi detail barang detail item 1 goods amt harga barang 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 pre auth & capture registration api credit card berikut ini adalah response {{parameter}} dari hasil request registrasi {{transaksi}} tipe pre auth & capture {{yang}} sebelumnya sudah dilakukan pada {{pembayaran}} {{kartukredit}} hasil {{parameter}} {{yang}} diperlukan untuk dapat melanjutkan ke {{proses}} berikutnya dari hasil response ini adalah txid untuk melanjutkan ke langkah berikutnya, silakan mengunjungi {{halaman}} docid\ u02tzmaqg6u5l7zaesbe5 parameter tipe ukuran deskripsi contoh / catatan resultcd n 4 docid 7o8nl7guqp asiwfdqi3v 0000 resultmsg an 255 result message docid\ wpcemazro xvnxz 1zaib success txid an 30 transaction id pactest00101202206241007570327 referenceno ans 40 {{merchant}} reference number ordno20221215101254 paymethod n 2 docid\ iifmsruuw7j9vmwefjz97 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\ ky4ppujot06atnie easf null vacctno n 20 virtual account null mitracd a 4 docid\ tm257gq3dxgzf98uz0l33 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 {{silakan}} memeriksa docid dbbwgg3gtf 4wjx63nx6 untuk mengetahui kode umum beserta kode response dalam {{metodebayar}} {{kartukredit}} ataupun {{metodebayar}} lainnya di {{nicepay}} sample parameter for pre auth & capture 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" "20221214111261", "imid" "pactest001", "paymethod" "01", "currency" "idr", "amt" "5000", "merchanttoken" "b40cb019e938d0118b77cb6f564a7facf12472e5bbb598dde0cd43b2df46b2aa", "referenceno" "ordno20221214111261", "goodsnm" "goods for testing pre auth", "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", "dbprocessurl" "http //ptsv2 com/t/merchant/post", "userip" "127 0 0 1", "instmnttype" "1", "instmntmon" "1", "cartdata" "{\\"count\\" \\"1\\",\\"item\\" \[{\\"goods id\\" \\"niceprdid1\\",\\"img url\\" \\"http //www merchant com/image goods1 jpg\\",\\"goods name\\" \\"goods for testing pre auth\\",\\"goods detail\\" \\"goods for testing pre auth details\\",\\"goods amt\\" \\"5000\\",\\"goods quantity\\" \\"1\\"}]}", "recurropt" "", "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 "20221214111261", imid "pactest001", paymethod "01", currency "idr", amt "5000", merchanttoken "b40cb019e938d0118b77cb6f564a7facf12472e5bbb598dde0cd43b2df46b2aa", referenceno "ordno20221214111261", goodsnm "goods for testing pre auth", 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", dbprocessurl "http //ptsv2 com/t/merchant/post", cartdata "{\\"count\\" \\"1\\",\\"item\\" \[{\\"goods id\\" \\"niceprdid1\\",\\"img url\\" \\"http //www merchant com/image goods1 jpg\\",\\"goods name\\" \\"goods for testing pre auth\\",\\"goods detail\\" \\"goods for testing pre auth details\\",\\"goods amt\\" \\"5000\\",\\"goods quantity\\" \\"1\\"}]}", userip "127 0 0 1", instmnttype "1", instmntmon "1", recurropt "", 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 pre auth\\",\\"goods detail\\" \\"goods for testing pre auth details\\",\\"goods amt\\" \\"5000\\",\\"goods quantity\\" \\"1\\"}]}") merchanttoken("20221202141217", "ionpaytest", reffno, "5000", merchantkey) build(); nicepayresponsev2 cardregistresponse = v2cardservice callv2cardregistration(requestdata, config); amt = 5000 itemcartdata = { "goods id" "niceprdid1", "goods detail" "goods for testing pre auth details", "goods name" "goods for testing pre auth", "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 = "20221214111261"; string refno = "ordno20221214111261"; string amount = "5000"; bool isproduction = false; bool iscloudserver = false; // 1️⃣ generate merchant token (keep original logic) var merchanttokenbuilder = new merchanttokenbuilder() settimestamp(timestamp) setimid("pactest001") setrefno(refno) setamount(amount) setmerchantkey(merchantkey); string merchanttoken = merchanttokenbuilder buildmerchanttoken(); // 2️⃣ build cart data var cartitem = new dictionary\<string, object> { { "goods id", "niceprdid1"}, { "img url", "http //www merchant com/image goods1 jpg" }, { "goods name", "goods for testing pre auth" }, { "goods detail", "goods for testing pre auth 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 "pactest001", timestamp timestamp, paymethod "01", currency "idr", amt amount, referenceno refno, goodsnm "goods for testing pre auth", 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 "20221214111261", imid "pactest001", paymethod "01", currency "idr", amt "5000", merchanttoken "b40cb019e938d0118b77cb6f564a7facf12472e5bbb598dde0cd43b2df46b2aa", referenceno "ordno20221214111261", goodsnm "goods for testing pre auth", 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", dbprocessurl "http //ptsv2 com/t/merchant/post", cartdata "{\\"count\\" \\"1\\",\\"item\\" \[{\\"goods id\\" \\"niceprdid1\\",\\"img url\\" \\"http //www merchant com/image goods1 jpg\\",\\"goods name\\" \\"goods for testing pre auth\\",\\"goods detail\\" \\"goods for testing pre auth details\\",\\"goods amt\\" \\"5000\\",\\"goods quantity\\" \\"1\\"}]}", userip "127 0 0 1", instmnttype "1", instmntmon "1", recurropt "", userlanguage "en", useragent "mozilla/5 0 (windows nt 6 1; win64; x64; rv 47 0) gecko/20100101 firefox/47 0", }; 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", "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 pre auth\\",\\"goods detail\\" \\"goods for testing pre auth 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") >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 pre auth\\",\\"goods detail\\" \\"goods for testing pre auth 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); 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 pre auth\\",\\"goods detail\\" \\"goods for testing pre auth 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 pre auth\\",\\"goods detail\\" \\"goods for testing pre auth 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" "pactest00101202510081159303818", "referenceno" "ordno20221214111261", "paymethod" "01", "amt" "5000", "transdt" "20251008", "transtm" "115930", "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 }