Seamless - Registration API Paylater
Tentang Seamless - Registration API Paylater
Transaksi tipe Seamless adalah layanan Paylater milik NICEPAY yang memberikan pengalaman pembayaran nanti atau cicilan lebih cepat dan efisien. Melalui layanan ini, pengguna dapat menghubungkan akun mereka dengan Merchant tanpa perlu melakukan autentikasi transaksi seperti login akun terlebih dahulu saat pembayaran. Sehingga, setiap proses transaksi antara Pelanggan dan Merchant dapat berjalan lebih efisien tanpa pengulangan tahap autentikasi login akun pengguna dengan keamanan yang tetap terjaga dan dapat diandalkan oleh NICEPAY.
Saat ini, hanya Kredivo yang sudah mendukung fitur Seamless.
Terdapat dua cara untuk mengaktifkan transaksi dengan tipe Seamless, yaitu:
- Melakukan tokenize data Pelanggan dengan membuat transaksi terlebih dahulu.
- Menggunakan fitur Registration & Notification - Account Binding Paylater API.
Halaman ini menjelaskan lebih mendalam mengenai proses tokenize data Pelanggan melalui transaksi pertama, sehingga fitur Seamless dapat digunakan untuk transaksi berikutnya.
Alur Proses
Tokenize
Tokenize With Transaction

Deskripsi alur:
- Pelanggan melakukan checkout.
- Pelanggan mengajukan checkout kepada Merchant.
- Merchant mengajukan checkout kepada NICEPAY.
- NICEPAY mengajukan checkout kepada Paylater Partner.
- Paylater Partner mendaftarkan checkout.
- Paylater Partner mengirimkan response kepada NICEPAY.
- NICEPAY mengirimkan redirect URL kepada Merchant.
- Merchant mengarahkan Pelanggan menuju halaman Partner.
- Pelanggan melakukan login pada Halaman Login Partner.
- Pelanggan mengirimkan kredensial kepada Paylater Partner.
- Paylater Partner melakukan validasi login.
- Paylater Partner mengirimkan laporan Settlement kepada Pelanggan.
- Pelanggan melihat laporan Settlement.
- Pelanggan membayar dan mengonfirmasi Settlement kepada Paylater Partner .
- Paylater Partner melakukan validasi pembayaran.
- Pada saat proses transaksi berlangsung:
- Jika transaksi disetujui, maka:
- Paylater Partner memproses persetujuan.
- Paylater Partner mengirimkan hasil persetujuan kepada NICEPAY.
- NICEPAY menerima hasil persetujuan.
- NICEPAY mengirimkan hasil persetujuan kepada Merchant.
- Merchant menerima notifikasi hasil persetujuan.
- Merchant melakukan pengajuan status kepada NICEPAY.
- NICEPAY melakukan pengecekan status.
- NICEPAY mengirimkan hasil status kepada Merchant.
- Merchant menerima status akhir.
- Merchant mengirimkan status notifikasi kepada Pelanggan.
- Pelanggan menerima hasil persetujuan.
- Jika transaksi masih diperiksa, maka:
- Paylater Partner mengarahkan Pelanggan menuju halaman Merchant/NICEPAY.
- Pelanggan ditampilkan halaman Merchant/NICEPAY.
- Pelanggan menunggu persetujuan.
Tokenize Without Transaction

Deskripsi alur:
- Pelanggan mendaftarkan nomor telepon kepada Merchant.
- Merchant mengajukan penghubungan akun kepada NICEPAY.
- NICEPAY mengajukan penghubungan akun kepada Paylater Partner.
- Paylater Partner melakukan validasi.
- Paylater Partner mengirimkan response kepada NICEPAY.
- NICEPAY melakukan return redirect URL terhadap Merchant.
- Merchant mengarahkan Pelanggan menuju halaman Partner.
- Pelanggan melakukan login melalui Halaman Login Partner.
- Pelanggan mengirimkan kredensial kepada Paylater Partner.
- Paylater Partner melakukan validasi login.
- Paylater Partner melakukan return OTP terhadap Pelanggan.
- Pelanggan memasukkan OTP kepada Paylater Partner .
- Paylater Partner melakukan generate User Token.
- Paylater Partner mengarahkan Pelanggan menuju halaman Merchant/NICEPAY.
- Pada saat proses pengajuan penghubungan akun:
- Pada bagian Pelanggan :
- Halaman NICEPAY/Merchant ditampilkan pada Pelanggan.
- Pelanggan menunggu persetujuan.
- Dari bagian Notifikasi:
- Paylater Partner mengirimkan notifikasi kepada NICEPAY.
- NICEPAYmenerima notifikasi.
- NICEPAY mengirimkan notifikasi kepada Merchant.
- Merchant menerima notifikasi.
- Merchant menampilkan hasil penghubungan akun kepada Pelanggan.
Deactivate Tokenize
Silakan kunjungi halaman Deactivate - Account Binding Paylater API untuk informasi lebih lanjut terkait proses menonaktifkan user token pada fitur Seamless.
Tokenize - Registration API Paylater (First Payment)
API Endpoint | nicepay/direct/v2/registration |
|---|---|
Request Method | POST |
Description | Create user token |
Merchant Token | SHA256 (iMid + referenceNo + billingPhone + merchantKey) |
Request Format | application/JSON |
Request Parameter for Tokenize - Registration API Paylater (First Payment)
Parameter | Tipe | Ukuran | Deskripsi | Contoh / Catatan | |
|---|---|---|---|---|---|
timeStamp Required | N | 14 | Request Timestamp (YYYYMMDDHH24MISS) | 20220131125959 | |
iMid Required | AN | 10 | Merchant ID | PAYLOANTES | |
payMethod Required | N | 2 | 06 | | |
currency Required | A | 3 | Currency | IDR | |
amt Required | N | 12 | Amount | 10000 | |
referenceNo Required | ANS | 40 | Merchant's Reference Number | ORD12345 | |
callBackUrl | ANS | 255 | Payment Result URL | | |
goodsNm Required | AN | 100 | Goods Name | Test Transaction NICEPAY | |
billingNm Required | A | 100 | Buyer Name | John Doe | |
billingPhone Required | N | 15 | Buyer Phone Number | 08123456789 | |
billingEmail Required | ANS | 40 | Buyer E-Mail | | |
billingAddr Required | AN | 100 | Buyer Address | Jalan Bukit Berbunga 22 | |
billingCity Required | A | 50 | Buyer City | Jakarta | |
billingState Required | A | 50 | Billing State | DKI Jakarta | |
billingPostCd Required | N | 10 | Billing Post Number | 12345 | |
billingCountry Required | A | 10 | Billing Country | Indonesia | |
cartData Required | JSONstring | 4000 | Cart Data | {"count":3,"item":[{"goods_id":30,"goods_name":"Beanie","goods_type":"Accessories","goods_amt":5000,"goods_sellers_id":"NICEPAY-NamaMerchant","goods_sellers_name":"NICEPAYSHOP","goods_quantity":1,"goods_url":"http://www.nicestore.com/product/beanie/"},..]} | |
userIP Required for CC, E-Wallet, Paylater, QRIS | AN | 15 | User IP | 127.0.0.1 | |
dbProcessUrl Required | ANS | 255 | Notification URL | https://merchant.com/dbProcessUrl | |
merchantToken Required | AN | 255 | Merchant Token | 9b38b12e83b6ee124d4b549238f232c6179b168effc4ffb7f64d00c15f08e230 | |
deliveryNm Required | A | 30 | Delivery Name | | |
deliveryPhone Required | N | 15 | Delivery Phone | 08123456789 | |
deliveryAddr Required | AN | 100 | Delviery Address | Jalan Bukit Berbunga 22 | |
deliveryCity Required | A | 50 | Delivery City | Jakarta | |
deliveryState Required | A | 50 | Delivery State | DKI Jakarta | |
deliveryPostCd Required | N | 10 | Delivery Post Code | 12345 | |
deliveryCountry Required | A | 10 | Delivery Country | Indonesia | |
mitraCd Required | N | 2 | Mitra Code | KDVI | |
instmntType Required | N | 8 | 2 | | |
instmntMon Required | N | 6 | 1: 1 Month/Full Payment, jika instmntType: null/1 3: 3 Months 6: 6 Months 12: 12 Months
| 3 | |
userSessionID | AN | 255 | ID User Session | 697D6922C961070967D3BA1BA5699C2C | |
userAgent | ANS | 255 | User Agent | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/60.0.3112.101 Safari/537.36 | |
userLanguage | ANS | 255 | User Language | ko-KR,en-US;q=0.8,ko;q=0.6,en;q=0.4 | |
sellers Required | JSON String | 4000 | Seller Data | [{\"sellersId\":\"NICEPAY-NamaMerchant\",\"sellersNm\":\"NICEPAYSHOP\",\"sellersUrl\":\"http://nicestore.store/product/beanie/\",\"sellersEmail\":\"[email protected]\",\"sellersAddress\":{\"sellerNm\":\"NICEPAYSHOP\",\"sellerLastNm\":\"NICEPAYSHOP\",\"sellerAddr\":\"Jln. Kasablanka Kav 88\",\"sellerCity\":\"Jakarta\",\"sellerPostCd\":\"14350\",\"sellerPhone\":\"082111111111\",\"sellerCountry\":\"ID\"}}] | |
tokenizeUser Required | N | 1 | Seamless Paylater | Transaction Tokenize Type: 0: Normal 1: Tokenize (First Transaction) 2: Seamless (Next Payment) | 1 |
clientUserKey Required | AN | 100 | Seamless Paylater (Mandatory) | User Key, must be unique for each Customer. |
Response Parameter for Tokenize - Registration API Paylater (First Payment)
Parameter | Tipe | Ukuran | Deskripsi | Contoh / Catatan |
|---|---|---|---|---|
resultCd | N | 4 | Result Code | 0000 |
resultMsg | AN | 255 | Result Message: Error Code | SUCCESS |
tXid | AN | 30 | Transaction ID (Key from NICEPAY) | IONPAYTEST02201607291027025291 |
referenceNo | ANS | 40 | Merchant Order Number (Key from Merchant) | OrdNo20160525000-52104 |
payMethod | N | 2 | 06 | |
amt | N | 12 | Payment Amount | 1000 |
currency | AN | 3 | Currency | IDR |
goodsNm | AN | 100 | Goods Name | Merchant Goods 1 |
billingNm | A | 30 | Buyer Name | Buyer Name |
transDt | N | 8 | Transaction Date (YYYYMMDD) | 20160303 |
transTm | N | 6 | Transaction Time (HH24MISS) | 135959 |
description | AN | 100 | Transaction Description | Payment of OrdNo20160525000-52104 |
bankCd | A | 4 | Bank Code | BMRI |
vacctNo | N | 20 | Virtual Account Number | 123457891011 |
vacctValidDt | N | 8 | VA Expiry Date (YYYYMMDD) | 20160303 |
vacctValidTm | N | 6 | VA Expiry Time (HH24MISS) | 135959 |
mitraCd | AN | 4 | Mitra Code | KDVI |
payNo | N | 12 | CVS Number | 123456789012 |
payValidDt | N | 8 | CVS Expiry Date (YYYYMMDD) | 20170313 |
payValidTm | N | 6 | CVS Expiry Time (HH24MISS) | 135959 |
paymentExpDt | N | 6 | QR Payment Expiry Date (YYYYMMDD) | 20201005 |
paymentExpTm | N | 6 | QR Payment Expiry Time (HH24MISS) | 124354 |
qrContent | ANS | 360 | QR String in Plain Text | 00020101021226590016ID.CO.SHOPEE.WWW011893600918000041566602064156660303UME52045399530336054045.005802ID5913NICEPAY dummy6015KOTA JAKARTA SE61051287062360520082020100512385458400708T000000163044A04 |
qrUrl | ANS | 360 | URL for QR Image, Valid for 5 Minutes. | https://api.wallet.airpay.co.id/v3/merchant-host/qr/download?qr=wOCiKheIXwgyjnUUk6PhJLTS1e9Ros7zf0ESj6AavQ |
clientUserKey | AN | 100 | User Key, must be unique for each Customer. |
Setelah Pelanggan berhasil melakukan pembayaran transaksi dengan tokenize, Merchant akan mendapatkan parameter userToken dari Notification - API Paylater terkait pembayaran sukses melalui URL parameter dbprocessUrl pada saat registrasi transaksi tokenize sebelumnya.
userToken tersebut akan digunakan untuk mengaktifkan fitur Seamless pada transaksi berikutnya.
Sample Parameter for Tokenize - Registration API Paylater (First Payment)
{
"resultCd": "0000",
"resultMsg": "SUCCESS",
"tXid": "PAYLOANTES06202109130937199795",
"referenceNo": "ord20210913090977",
"payMethod": "06",
"amt": "25145",
"transDt": null,
"transTm": null,
"description": null,
"bankCd": null,
"vacctNo": null,
"mitraCd": "KDVI",
"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,
"clientUserKey": "[email protected]"
}
Seamless - Registration API Paylater
API Endpoint | nicepay/direct/v2/registration |
|---|---|
Request Method | POST |
Description | Create user token |
Merchant Token | SHA256 (iMid + referenceNo + billingPhone + merchantKey) |
Request Format | application/JSON |
Request Parameter for Seamless - Registration API Paylater
Parameter | Tipe | Ukuran | Kebutuhan | Deskripsi | Contoh / Catatan |
|---|---|---|---|---|---|
timeStamp | N | 14 | Mandatory | API Request Date | 20170708123456 |
iMid | AN | 10 | Mandatory | Merchant ID | PAYLOANTES |
payMethod | AN | 2 | Mandatory | 06: Paylater | 06 |
currency | AN | 3 | Mandatory | Currency | IDR |
amt | N | 12 | Mandatory | Payment Amount | 1000 |
referenceNo | ANS | 40 | Mandatory | Merchant Order Number (Key from | MerchantReferenceNumber001 |
goodsNm | AN | 100 | Mandatory | Goods Name | Merchant Goods 1 |
billingNm | A | 30 | Mandatory | Buyer Name | Buyer Name |
billingPhone | N | 15 | Mandatory | Buyer Phone Number | 02112345678 |
billingEmail | AN | 40 | Mandatory | Buyer Email | |
billingAddr | AN | 100 | | Buyer Address | Billing Address |
billingCity | A | 50 | Mandatory | Buyer City | Jakarta |
billingState | A | 50 | Mandatory | Billing State | Jakarta |
billingPostCd | N | 10 | Mandatory | Billing Post Number | 12345 |
billingCountry | A | 10 | Mandatory | Billing Country | Indonesia |
deliveryNm | A | 30 | Mandatory | Delivery Name | Buyer Name |
deliveryPhone | N | 15 | Mandatory | Delivery Phone Number | 02112345678 |
deliveryAddr | AN | 100 | Mandatory | Delivery Address | Billing Address |
deliveryCity | A | 50 | Mandatory | Delivery City | Jakarta |
deliveryState | A | 50 | Mandatory | Delivery State | Jakarta |
deliveryPostCd | N | 10 | Mandatory | Delivery Post Number | 12345 |
deliveryCountry | A | 10 | Mandatory | Delivery Country | Indonesia |
dbProcessUrl | AN | 255 | Mandatory | Payment Notification URL (Async Notification) | "http://www.merchant.com/notification” |
description | AN | 100 | | Transaction Description | Description |
merchantToken | AN | 255 | Mandatory | Merchant Token | 6cfccfc0046773c1b589d8e98f8b596c284f3c70a4ecf86eba14c18944b74bcd |
userIP | AN | 15 | Mandatory | User IP (Customer ) | 127.0.0.1 |
userSessionID | AN | 100 | | User Session ID | userSessionID |
userAgent | AN | 100 | | User Agent Information | Mozilla |
userLanguage | A | 2 | | User Language | en-US |
cartData | AN | 4000 | Mandatory | Cart Data | (JSON Format) |
sellers | AN | 4000 | Mandatory | Sellers | (JSON Format) |
instmntType | N | 2 | Mandatory | Installment Type: 1: Customer Charge 2: Merchant Charge | 2 |
instmntMon | N | 2 | Mandatory | Installment Month | 1 |
mitraCd | A | 4 | Mandatory | Mitra Code: KDVI: Kredivo | KDVI |
tokenizeUser | N | 1 | Seamless Paylater | Transaction Tokenize Type: 0: Normal 1: Tokenize (First Transaction) 2: Seamless (Next Payment) | 2 |
userToken | AN | 50 | Seamless Paylater | User Token for using Seamless Paylater feature. You can get this token from dbprocessUrl Notification after Tokenize is success. | 59bd0cc5-0b26-42ae-be0f-caeab9424f95 |
Response Parameter for Seamless - Registration API Paylater
Parameter | Tipe | Ukuran | Deskripsi | Contoh / Catatan |
|---|---|---|---|---|
resultCd | N | 4 | Result Code | 0000 |
resultMsg | AN | 255 | Result Message | SUCCESS |
tXid | AN | 30 | Transaction ID (Key from NICEPAY) | IONPAYTEST02201607291027025291 |
referenceNo | ANS | 40 | Merchant Order Number (Key from Merchant) | OrdNo20160525000-52104 |
payMethod | N | 2 | 06 | |
amt | N | 12 | Payment Amount | 1000 |
currency | AN | 3 | Currency | IDR |
goodsNm | AN | 100 | Goods Name | Merchant Goods 1 |
billingNm | A | 30 | Buyer Name | Buyer Name |
transDt | N | 8 | Transaction Date (YYYYMMDD) | 20160303 |
transTm | N | 6 | Transaction Time (HH24MISS) | 135959 |
description | AN | 100 | Transaction Description | Payment of OrdNo20160525000-52104 |
bankCd | A | 4 | Bank Code | BMRI |
vacctNo | N | 20 | Virtual Account Number | 123457891011 |
vacctValidDt | N | 8 | VA Expiry Date (YYYYMMDD) | 20160303 |
vacctValidTm | N | 6 | VA Expiry Time (HH24MISS) | 135959 |
mitraCd | AN | 4 | Mitra Code | KDVI |
payNo | N | 12 | CVS Number | 123456789012 |
payValidDt | N | 8 | CVS Expiry Date (YYYYMMDD) | 20170313 |
payValidTm | N | 6 | CVS Expiry Time (HH24MISS) | 135959 |
paymentExpDt | N | 6 | QR Payment Expiry Date (YYYYMMDD) | 20201005 |
paymentExpTm | N | 6 | QR Payment Expiry Time (HH24MISS) | 124354 |
qrContent | ANS | 360 | QR String in Plain Text | 00020101021226590016ID.CO.SHOPEE.WWW011893600918000041566602064156660303UME52045399530336054045.005802ID5913NICEPAY dummy6015KOTA JAKARTA SE61051287062360520082020100512385458400708T000000163044A04 |
qrUrl | ANS | 360 | URL for QR Image, Valid for 5 Minutes. | https://api.wallet.airpay.co.id/v3/merchant-host/qr/download?qr=wOCiKheIXwgyjnUUk6PhJLTS1e9Ros7zf0ESj6AavQ |
clientUserKey | AN | 100 | User Key | |
userToken | AN | 50 | User Token for Seamless, only returned in the response body when the transaction is Seamless (tokenizeUser: 2) | 59bd0cc5-0b26-42ae-be0f-caeab9424f95 |
Sample Parameter for Seamless - Payment API Paylater
{
"resultCd": "0000",
"resultMsg": "SUCCESS",
"tXid": "PAYLOANTES06202109130955379813",
"referenceNo": "ord20210913090998",
"payMethod": "06",
"amt": "25145",
"transDt": null,
"transTm": null,
"description": null,
"bankCd": null,
"vacctNo": null,
"mitraCd": "KDVI",
"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,
"userToken": "e0478456-6b50-460c-85e0-627a1e22d2e0"
}