NICEPay Professional
Semua transaksi dengan NICEPAY API V1 Professional akan redirect
ke NICEPay Secure Payment Page proses pembayaran.
Langkah-langkah:
- Registrasi Transaksi.
- Redirect ke halaman NICEPay Secure Payment.
- Melakukan pembayaran di halaman NICEPay Secure Payment.
- Pembeli akan dialihkan ke halaman Callback Merchant untuk detail pembayaran.
Registrasi Transaksi
Spesifikasi API Register
API url | /nicepay/api/orderRegist.do |
Request Method application/x-www-form-urlencoded | POST |
Deskripsi | Melakukan Registrasi Transaksi |
Merchant Token | SHA256(iMid +referenceNo +amt +merchantKey ) |
Payment Methods | 01 Credit Card 02 Virtual Account 03 Convenience Store 04 Click Pay 05 E-Wallet 08 QRIS09 GPN Card |
Parameter Lengkap API Register
Contoh API Request
// Payment Mandatory Field
nicePay.setPayMethod("01");
nicePay.setCurrency("IDR");
nicePay.setAmt("1000");
nicePay.setInstmntMon("1");
nicePay.setReferenceNo("MerchantReferenceNumber001");
nicePay.setGoodsNm("Merchant Goods 1");
nicePay.setBillingNm("John Doe");
nicePay.setBillingEmail("[email protected]");
nicePay.setBillingPhone("081234567890");
nicePay.setBillingAddr("Billing Address");
nicePay.setBillingCity("Jakarta");
nicePay.setBillingState("Jakarta");
nicePay.setBillingPostCd("12345");
nicePay.setBillingCountry("Indonesia");
nicePay.setDeliveryNm("John Doe Delivery");
nicePay.setDeliveryPhone("081234567890");
nicePay.setDeliveryAddr("Billing Address ");
nicePay.setDeliveryCity("Jakarta");
nicePay.setDeliveryState("Jakarta");
nicePay.setDeliveryPostCd("12345");
nicePay.setDeliveryCountry("Indonesia");
nicePay.setCallBackUrl("https://merchant.com/api/callBackUrl");
nicePay.setDbProcessUrl("https://merchant.com/api/dbProcessUrl/Notif");
nicePay.setVat("0");
nicePay.setFee("0");
nicePay.setNotaxAmt("0");
nicePay.setDescription("Description");
nicePay.setUserIP("127.0.0.1");
nicePay.shopId("NICEPAY");
nicePay.setMerchantToken(nicePay.makeToken(nicePay.getAmt(), nicePay.getReferenceNo()));
nicePay.setCartData("{}");
nicePay.setInstmntMon("1");
nicePay.setInstmntType("1");
nicePay.setReccurOpt("0");
// Payment Optional Field
nicePay.setReqDt("20160301");
nicePay.setReqTm("135959");
nicePay.setReqDomain("www.merchant.com");
nicePay.setReqServerIP("127.0.0.1");
nicePay.setReqClientVer("1.0");
nicePay.setUserSessionID("userSessionID");
nicePay.setUserAgent("Mozilla");
nicePay.setUserLanguage("en-US");
nicePay.setMerFixAcctId("9999000000000001");
nicePay.setVacctValidDt("20160303");
nicePay.setVacctValidTm("135959");
nicePay.setPaymentExpiryDt("20160303");
nicePay.setPaymentExpiryTm("135959");
// Payment Request
nicePay.payPage();
// Payment Response
System.out.println("Response String : " + nicePay.getResponseString()); // JSON in String format
String resultCd = nicePay.Get("resultCd");
String resultMsg = nicePay.Get("resultMsg");
String tXid= nicePay.Get("tXid");
String requestURL= nicePay.Get("requestURL");
public JsonResult ChargeCard(Nicepay Nicepay) {
string RequestType = "CreditCard";
Nicepay.iMid = NicepayConfig.NICEPAY_IMID;
Nicepay.merchantToken = merchantToken(Nicepay, RequestType);
Nicepay.dbProcessUrl = NicepayConfig.NICEPAY_DBPROCESS_URL;
Nicepay.callBackUrl = NicepayConfig.NICEPAY_CALLBACK_URL;
Nicepay.instmntMon = "1";
Nicepay.instmntType = "1";
Nicepay.userIP = GetUserIP();
Nicepay.goodsNm = Nicepay.description;
Nicepay.vat = "0";
Nicepay.fee = "0";
Nicepay.notaxAmt = "0";
if (Nicepay.cartData == null) {
Nicepay.cartData = "{}";
}
CheckParam(Nicepay.iMid, "01");
CheckParam(Nicepay.PayMethod, "02");
CheckParam(Nicepay.currency, "03");
CheckParam(Nicepay.amt, "04");
CheckParam(Nicepay.instmntMon, "05");
CheckParam(Nicepay.referenceNo, "06");
CheckParam(Nicepay.goodsNm, "07");
CheckParam(Nicepay.billingNm, "08");
CheckParam(Nicepay.billingPhone, "09");
CheckParam(Nicepay.billingEmail, "10");
CheckParam(Nicepay.billingAddr, "11");
CheckParam(Nicepay.billingCity, "12");
CheckParam(Nicepay.billingState, "13");
CheckParam(Nicepay.billingCountry, "14");
CheckParam(Nicepay.deliveryNm, "15");
CheckParam(Nicepay.deliveryPhone, "16");
CheckParam(Nicepay.deliveryAddr, "17");
CheckParam(Nicepay.deliveryCity, "18");
CheckParam(Nicepay.deliveryState, "19");
CheckParam(Nicepay.deliveryPostCd, "20");
CheckParam(Nicepay.deliveryCountry, "21");
CheckParam(Nicepay.callBackUrl, "22");
CheckParam(Nicepay.dbProcessUrl, "23");
CheckParam(Nicepay.vat, "24");
CheckParam(Nicepay.shopId, "25");
CheckParam(Nicepay.fee, "26");
CheckParam(Nicepay.notaxAmt, "27");
CheckParam(Nicepay.description, "28");
CheckParam(Nicepay.merchantToken, "29");
string API_Url = GetApiRequest(RequestType);
string SingleString = BuildString(Nicepay);
string ResultString = WebRequestPostHttp.Post_Http(SingleString, API_Url);
ResultString = ResultString.Remove(0, 4);
JavaScriptSerializer JsonSerializer = new JavaScriptSerializer();
return JsonSerializer.Deserialize<JsonResult>(ResultString);
}
<?php
$nicepay = new NicepayLib();
//Ignore this function if you have invoice number.
function generateReference() {
$micro_date = microtime();
$date_array = explode(" ",$microdate);
$date = date("YmdHis",$date_array[1]);
$date_array[0] = preg_replace('/[^\p{L}\p{N}\s]/u', '', $date_array[0]);
return "Ref".$date.$date_array[0].rand(100,999);
}
if(isset($_POST['payMethod']) && $_POST['payMethod'] == '01'){
//Populate Mandatory parameters to send
$nicepay->set('payMethod', '01');
$nicepay->set('currency', 'IDR');
$nicepay->set('amt', 12000); //Total Gross Amount
$nicepay->set('referenceNo',generateReference()); //Invoice Number or Reference Number Generated by Merchant
$nicepay->set('description', 'Payment of Invoice No '.$nicepay->get('referenceNo'));//Transaction Description
$nicepay->set('billingNm', 'John Doe'); //Customer name
$nicepay->set('billingPhone', '02112345678'); //Customer phone number
$nicepay->set('billingEmail', '[email protected]');
$nicepay->set('billingAddr', 'Jl. Jendral Sudirman No.28');
$nicepay->set('billingCity', 'Jakarta Pusat');
$nicepay->set('billingState', 'DKI Jakarta');
$nicepay->set('billingPostCd', '10210');
$nicepay->set('billingCountry', 'Indonesia');
$nicepay->set('deliveryNm', 'John Doe'); //Delivery name
$nicepay->set('deliveryPhone', '02112345678');
$nicepay->set('deliveryEmail', '[email protected]');
$nicepay->set('deliveryAddr', 'Jl. Jendral Sudirman No.28');
$nicepay->set('deliveryCity', 'Jakarta Pusat');
$nicepay->set('deliveryState', 'DKI Jakarta');
$nicepay->set('deliveryPostCd', '10210');
$nicepay->set('shopId', 'NICEPAY');
$nicepay->set('deliveryCountry', 'Indonesia');
//Send Data
$response = $nicepay->chargeCard();
//Process response from NICEPAY
if(isset($response->data->resultCd) && $response->data->resultCd == "0000"){
header("Location: ".$response->data->requestURL."?tXid=".$response->tXid);
//Please save your tXid in your database
}elseif (isset($response->resultCd)) {
// In this sample, we echo error message
echo "<pre>";
echo "result code : ".$response->resultCd."\n";
echo "result message : ".$response->resultMsg."\n";
echo "</pre>";
}else {
// In this sample, we echo error message
echo "<pre>Connection Timeout. Please Try Again.</pre>";
}
}
?>
#Set Mandatory Value
NICEPay.payMethod = "01" #Set Payment Method
NICEPay.amt = "1000" #Total Gross Amount
NICEPay.referenceNo = str(random.randrange(111111, 999999)) #Invoice Number By Merchant
NICEPay.goodsNm = NICEPay.referenceNo #Goods Name
NICEPay.billingNm = "John Doe"
NICEPay.billingPhone = "02112345678"
NICEPay.billingEmail = "[email protected]"
NICEPay.billingAddr = "Jl. Jend. Sudirman No. 28"
NICEPay.billingCity = "Jakarta Pusat"
NICEPay.billingState = "DKI Jakarta"
NICEPay.billingPostCd = "10210"
NICEPay.billingCountry = "Indonesia"
NICEPay.callBackUrl = "http://www.merchant.com/callback"
NICEPay.dbProcessUrl = "https://www.merchant.com/notification"
NICEPay.shopId = "NICEPAY"
NICEPay.description = "Payment Of Ref No." + NICEPay.referenceNo
NICEPay.merchantToken = NICEPay.getMerchantToken()
NICEPay.userIP = NICEPay.getUserIp()
NICEPay.cartData = "{}" #Json Array Value
NICEPay.instmntMon = "1"
NICEPay.instmntType = "1"
#Payment Request
resultData = NICEPay.apiRequest()
#Payment Result
jsonResult = resultData[4:]
result = json.loads(jsonResult)
#Payment Response String Format
print("resultCd : " + result['data']['resultCd'])
print("resultMsg : " + result['data']['resultMsg'])
print("requestURL: " + result['data']['requestURL'] + "?tXid=" + result['data']['tXid'])
print("tXid : " + result['data']['tXid'])
Contoh API Response
{
"apiType": "M0",
"tXid": "IONPAYTEST01202002130920175001",
"requestDate": "20200213092017",
"responseDate": "20200213092017",
"data": {
"tXid": "IONPAYTEST01202002130920175001",
"resultCd": "0000",
"resultMsg": "SUCCESS",
"requestURL": "https://dev.nicepay.co.id/nicepay/api/orderInquiry.do"
}
}
Parameter | Type | Size | Description | Example Value |
---|---|---|---|---|
iMid Required | AN | 10 | Merchant ID | IONPAYTEST |
merchantToken Required | AN | 255 | Merchant Token | 6cfccfc0046773c1b589d8e98f... |
payMethod Required | N | 2 | Payment Method | 01 |
currency Required | A | 3 | Currency | IDR |
amt Required | N | 12 | Transaction Amount | 10000 |
cartData Required | JSON String | 4000 | Transaction Cart Data | cartData JSON |
referenceNo Required | ANS | 40 | Merchant Order Number | MerchantReferenceNumber1 |
goodsNm Required | AN | 100 | Goods Name | Merchant Goods 1 |
callBackUrl Required | ANS | 255 | Payment Result Page URL | https://merchant.com/callBackUrl |
dbProcessUrl Required | ANS | 255 | Push Notification URL | https://merchant.com/dbProcessUrl |
userIP Required | AN | 15 | User IP address | 127.0.0.1 |
description Required | AN | 100 | Transaction Description | this is test order |
billingNm Required | A | 30 | Billing Name | Buyer Name |
billingPhone Required | N | 15 | Billing Phone Number | 2123456789 |
billingEmail Required | ANS | 40 | Billing Email | [email protected] |
billingCity Required | A | 50 | Billing City | Jakarta Utara |
billingState Required | A | 50 | Billing State | DKI Jakarta |
billingPostCd Required | A | 10 | Billing Postcode | 10160 |
billingCountry Required | A | 10 | Billing Country | Indonesia |
billingAddr | AN | 100 | Billing Address | Billing Address |
merFixAcctId Required for Fix-Type VA | N | 40 | Merchant Fix VA Number | 14015824 |
instmntType Required for CC | N | 2 | Installment Type | 1 |
instmntMon Required for CC | N | 2 | Installment Month | 1 |
deliveryNm | A | 30 | Delivery Name | Delivery name |
deliveryPhone | N | 15 | Delivery Phone Number | 2123456789 |
deliveryAddr | AN | 100 | Delivery Address | Delivery Address |
deliveryCity | A | 50 | Delivery City | Jakarta Utara |
deliveryState | A | 50 | Delivery State | DKI Jakarta |
deliveryPostCd | N | 10 | Delivery Postcode | 10160 |
deliveryCountry | A | 10 | Delivery Country | indonesia |
vat | N | 12 | Vat Number | 0 |
fee | N | 12 | Service Fee | 0 |
notaxAmt | N | 12 | Tax Free Amount | 0 |
reqDt | N | 8 | Request Date | 20180303 |
reqTm | N | 6 | Request Time | 135959 |
reqDomain | ANS | 100 | Request domain | merchant.com |
reqServerIP | ANS | 15 | Request Server IP Address | 127.0.0.1 |
reqClientVer | AN | 50 | Request Client Version | 1 |
userSessionID | AN | 100 | User Session ID | userSessionID |
userAgent Required for CC | ANS | 100 | User Agent Information | Mozilla |
userLanguage | ANS | User Language | en-US | |
worker | AN | 10 | Worker | worker |
vacctValidDt | N | 8 | Virtual Account Valid Date (YYYYMMDD) | 20180404 |
vacctValidTm | N | 6 | Virtual Account Valid Time (HH24MISS) | 235959 |
paymentExpDt | N | 8 | Payment Expired Date (YYYYMMDD) | 20180404 |
paymentExpTm | N | 6 | Payment Expired Time (HH24MISS) | 235959 |
payValidDt | N | 8 | CVS Valid Date (YYYYMMDD) | 20180404 |
payValidTm | N | 6 | CVS Valid Time (HH24MISS) | 235959 |
mRefNo | N | 18 | Bank Reference No. | bankcd123456789 |
timeStamp | N | 14 | Timestamp (YYYYMMDDHH24MISS) | 20180404165639 |
mitraCd | A | 4 | Mitra Code | ESHP |
version | AN | Version | Nicepay Lite | |
shopId Required for QRIS | AN | 32 | Shop Id | NICEPAY |
Cart Data API V1
Parameter | Deskripsi |
---|---|
count | Total jumlah item cartData |
item | |
item -> img_url | URL Gambar barang (50x50 size) |
item -> goods_name | Nama Barang |
item -> goods_detail | Deskripsi Barang |
item -> goods_amt | Harga Barang |
{
"count": "2",
"item": [
{
"img_url": "http://img.aaa.com/ima1.jpg",
"goods_name": "Item 1 Name",
"goods_detail": "Item 1 Detail",
"goods_amt": "700"
},
{
"img_url": "http://img.aaa.com/ima2.jpg",
"goods_name": "Item 2 Name",
"goods_detail": "Item 2 Detail",
"goods_amt": "300"
}
]
}
NICEPAY Secure Payment Page
Menu Pemilihan Metode Pembayaran
Ketika pembeli menekan tombol Change
, mereka akan dapat melihat halaman di bawah ini dan melakukan pemilihan metode pembayaran.
Pemilihan Metode Pembayaran QRIS
Setelah pelanggan membuka aplikasi E-wallet dan memindai kode QR kemudian melakukan konfirmasi pembayaran. Klik Proses, Pembeli akan dialihkan ke halaman Callback Merchant untuk detail pembayaran.
Pemilihan Metode Pembayaran Jenius
Setelah pelanggan memilih Jenius dan klik proses, selanjutnya masukkan ID Cashtag. Setelah itu konfirmasi pembayaran melalui aplikasi Jenius.
Pembayaran
Spesifikasi API Pembayaran
API url | /nicepay/api/orderInquiry.do |
Request Method application/x-www-form-urlencoded | REDIRECT |
Deskripsi | Request Pembayaran untuk dialihkan ke halaman NICEPAY. |
Parameter API Pembayaran
Sample API Request
https://www.nicepay.co.id/nicepay/api/orderInquiry.do?tXid=IONPAYTEST01201608291733081257&optDisplayCB=0&optDisplayBL=0
if (nicePay.Get("resultCd").equals("0000")) {
String site = nicePay.Get("requestURL") + "&optDisplayCB=0" + "&optDisplayBL=0";
response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setHeader("Location", site);
}
Parameter | Type | Size | Deskripsi | Example Value |
---|---|---|---|---|
tXid Required | AN | 30 | Transaction ID | IONPAYTEST02201607291027025291 |
optDisplayCB | N | 2 | Tombol "Change" | show = 0 hide = 1 |
optDisplayBL | N | 2 | Link "Back" | show = 0 hide = 1 |
Respon Parameter Pembayaran
Contoh respon ke callbackUrl dengan parameter
https://merchant.com/result?resultCd=0000&resultMsg=SUCCESS&bankVacctNo=44779000090927472371&tXid=IONPAYTEST02202011050927472371&referenceNo=order%2020201105091192&transDt=20201105&transTm=092747&amount=150000&bankCd=CENA&description=Payment+of+referenceNo+order+20201105091192`
Parameter | Type | Size | Description | Remark | Example |
---|---|---|---|---|---|
resultCd | N | 4 | Result Code | 0000 | |
resultMsg | AN | 255 | Result Code | Success | |
tXid | AN | 30 | Nicepay Trans ID | Jika sukses | IONPAYTEST 02201607291027025291 |
referenceNo | ANS | 40 | Merchant Order No | Jika sukses | OrdNo20160525000 |
authNo | N | 10 | Bank Auth No. | Jika sukses (CC) | 123456 |
amount | N | 12 | Nominal | Jika sukses | 1000 |
transDt | N | 8 | Tanggal Trans. | Jika sukses | 20200303 |
transTm | N | 6 | Waktu Trans. | Jika sukses | 135959 |
description | AN | 100 | Deskripsi Trans. | Jika sukses | Payment of OrdNo201605 25000 |
bankVacctNo | N | 20 | Nomor Virtual Account | Jika sukses (VA) | 123457891011 |
bankCd | A | 4 | Kode Bank VA | Jika sukses (VA) | BMRI |
Recurring Token
Saat merchant menandatangani kontrak sebagai Recurring
, NICEPay memberikan RecurringToken
ke Response API Pembayaran.
Merchant dapat menggunakan RecurringToken untuk permintaan API Pembayaran berikutnya tanpa memasukan detail kartu kecuali CVV (Mandatory)
API url | /nicepay/api/recurringToken.do |
Request Method application/x-www-form-urlencoded | POST |
Deskripsi | recurringToken.do hampir sama dengan onePassToken.do bedanya apakah menggunakan info kartu atau recurring token |
Merchant Token | SHA256 (Merchant ID + Reference Number + Amount + Merchant Key) |
Request Parameter For Token
Parameter | Type | Size | Description | Remark |
---|---|---|---|---|
amt | N | 12 | Amount | 10000 |
referenceNo | AN | 40 | Merchant Order No | 20220623095906 |
merchantToken | AN | 255 | Payment Amount | 141fd2368aa80ea0e600b1b4d7a42c1e731e74a27a03521e8e28150cc00bc05b |
iMid | AN | 10 | Merchant ID | BMRITEST01 |
recurringToken | AN | 100 | RecurringToken | d4ef98b26f917a697691807cf737251cc15ef570a01457d15211a4f06e38ae64 |
instmntType | AN | 2 | Installment Type | 1.Customer charge 2.Merchant Charge |
instmntMon | N | 2 | Installment month | 1 |
Response Parameter For Token
Parameter | Type | Size | Description | Remark |
---|---|---|---|---|
resultCd | N | 4 | RESULT CODE | 0000 |
resultMsg | AN | 255 | RESULT MESSAGE | SUCCESS |
cardToken | AN | 64 | one time use transaction token | c954f03ef83a363f94fa26bef6ec4d08fa7693590a735386fcce6e2ef1caae8a |
paymentType | AN | 1 | CC Authorization type | 1. 3DS 2. KeyIn |
Pengecekan Status Transaksi
Spesifikasi API - Check Status
API ini berguna untuk melakukan pengecekan status transaksi secara manual.
API url | /nicepay/api/onePassStatus.do |
Request Method application/x-www-form-urlencoded | POST |
Deskripsi | Melakukan Request Check Status ke Nicepay. |
Merchant Token | SHA256(iMid +referenceNo +amt +merchantKey ) |
Parameter Request - Check Status
Contoh API Request
// Order Status Mandatory Field
nicePay.setTrxId("IONPAYTEST02201603091207051498");
nicePay.setReferenceNo("MerchantReferenceNumber001");
nicePay.setAmt("1000");
nicePay.setMerchantToken(nicePay.makeToken(nicePay.getAmt(), nicePay.getReferenceNo()));
// Order Status Request
nicePay.orderStatus();
// Order Status Response
System.out.println("Response String : " + nicePay.getResponseString()); // JSON in String format
nicePay.getHtResponse(); // JSON in HashTable<String, String> format
String resultCd = nicePay.Get("resultCd");
String resultMsg = nicePay.Get("resultMsg");
String tXid= nicePay.Get("tXid ");
String iMid= nicePay.Get("iMid");
String currency= nicePay.Get("currency");
String amount= nicePay.Get("amount");
String instmntMon= nicePay.Get("instmntMon");
String instmntType= nicePay.Get("instmntType");
String referenceNo= nicePay.Get("referenceNo");
String goodsNm = nicePay.Get("goodsNm");
String payMethod = nicePay.Get("payMethod");
String billingNm= nicePay.Get("billingNm");
String merchantToken= nicePay.Get("merchantToken");
String reqDt= nicePay.Get("reqDt");
String reqTm = nicePay.Get("reqTm");
String status = nicePay.Get("status");
String bankCd= nicePay.Get("bankCd");
String vacctValidDt= nicePay.Get("vacctValidDt");
String vacctValidTm= nicePay.Get("vacctValidTm");
String vacctNo= nicePay.Get("vacctNo");
public NotificationResult ChargcheckPaymentStatuseCard(string tXid, string referenceNo, string amt)
{
string RequestType = "checkPaymentStatus";
Nicepay Nicepay = new Nicepay();
Nicepay.iMid = NicepayConfig.NICEPAY_IMID;
Nicepay.tXid = tXid;
Nicepay.referenceNo = referenceNo;
Nicepay.amt = amt;
Nicepay.merchantToken = merchantToken(Nicepay, RequestType);
CheckParam(Nicepay.iMid, "01");
CheckParam(Nicepay.amt, "04");
CheckParam(Nicepay.referenceNo, "06");
CheckParam(Nicepay.merchantToken, "28");
CheckParam(Nicepay.tXid, "30");
string API_Url = GetApiRequest(RequestType);
string SingleString = BuildString(Nicepay);
string ResultString = WebRequestPostHttp.Post_Http(SingleString, API_Url);
JavaScriptSerializer JsonSerializer = new JavaScriptSerializer();
return JsonSerializer.Deserialize<NotificationResult>(ResultString);
}
<?php
$nicepay->set('tXid',$tXid);
$nicepay->set('referenceNo',$referenceNo);
$nicepay->set('amt',$amt);
$nicepay->set('iMid',$iMid);
$merchantToken = $nicepay->merchantTokenC();
$nicepay->set('merchantToken', $merchantToken);
//Request To Nicepay
$paymentStatus = $nicepay->checkPaymentStatus($tXid,$referenceNo, $amt);
//Response From Nicepay
if($pushedToken == $merchantToken){
if(isset($paymentStatus->status) && $paymentStatus->status == '0'){
echo "<pre>Success</pre>";
}elseif (isset($paymentStatus->status) && $paymentStatus->status == '1') {
echo "<pre>Void</pre>";
}elseif (isset($paymentStatus->status) && $paymentStatus->status == '2') {
echo "<pre>Refund</pre>";
}elseif (isset($paymentStatus->status) && $paymentStatus->status == '9') {
echo "<pre>Reversal</pre>";
}else {
echo "<pre>Status Unknown</pre>";
}
}
?>
import json
from library import NICEPay
#Set Parameters For Check Status
NICEPay.iMid = "IONPAYTEST" #Set Merchant ID
NICEPay.merchantKey = "33F49GnCMS1mFYlGXisbUDzVf2ATWCl9k3R++d5hDd3Frmuos/XLx8XhXpe+LDYAbpGKZYSwtlyyLOtS/8aD7A==" #Set Merchant Key
NICEPay.amt = "100"
NICEPay.referenceNo = "379072"
NICEPay.merchantToken = NICEPay.getMerchantToken()
NICEPay.tXid = "IONPAYTEST02201609161449136760"
#Check Status Request
resultCheckStatus = NICEPay.checkStatus()
#Check Status Response
result = json.loads(resultCheckStatus)
#Check Payment Response String Format
print("resultCd : " + result['resultCd'])
print("resultMsg : " + result['resultMsg'])
print("tXid : " + result['tXid'])
print("iMid : " + result['iMid'])
print("currency : " + result['currency'])
print("amount : " + result['amt'])
print("instmntMon : " + result['instmntMon'])
print("instmntType : " + result['instmntType'])
print("referenceNo : " + result['referenceNo'])
print("goodsNm : " + result['goodsNm'])
print("payMethod : " + result['payMethod'])
print("billingNm : " + result['billingNm'])
print("merchantToken : " + result['merchantToken'])
print("reqDt : " + result['reqDt'])
print("reqTm : " + result['reqTm'])
print("status : " + result['status'])
Parameter | Type | Size | Deskripsi | Contoh Data |
---|---|---|---|---|
iMid Required | AN | 10 | Merchant ID | IONPAYTEST |
merchantToken Required | AN | 255 | Merchant Token | 6cfccfc0046773c1b89d8e98c... |
tXid Required | AN | 30 | Transaction ID | IONPAYTEST02201607291027025291 |
amt Required | N | 12 | Nominal | 15000 |
referenceNo Required | ANS | 40 | Reference No. | OrdNo20160525000 |
Response - Check Status
Contoh response:
{
"tXid": "NORMALTEST01202002031344071337",
"iMid": "NORMALTEST",
"currency": "IDR",
"amt": "12000",
"instmntMon": "1",
"instmntType": "1",
"referenceNo": "ord20200203130299",
"goodsNm": "Testing Normal FULL PAYMENT CC Va",
"payMethod": "01",
"billingNm": "Customer Name",
"reqDt": "20200203",
"reqTm": "134407",
"status": "9",
"resultCd": "0000",
"resultMsg": "init",
"cardNo": null,
"preauthToken": null,
"acquBankCd": null,
"issuBankCd": null,
"vacctValidDt": null,
"vacctValidTm": null,
"vacctNo": null,
"bankCd": null,
"payNo": null,
"mitraCd": null,
"receiptCode": null,
"cancelAmt": null,
"transDt": null,
"transTm": null,
"recurringToken": null,
"ccTransType": null,
"payValidDt": null,
"payValidTm": null,
"mRefNo": null,
"acquStatus": null,
"cardExpYymm": null,
"acquBankNm": null,
"issuBankNm": null,
"depositDt": null,
"depositTm": null
}
Parameter | Type | Size | Deskripsi |
---|---|---|---|
resultCd | N | 4 | Result Code |
resultMsg | AN | 255 | Result Message |
tXid | AN | 30 | Transaction ID |
iMid | AN | 10 | Merchant ID |
referenceNo | ANS | 40 | Merchant Order No |
payMethod | N | 2 | Payment method |
amt | N | 12 | Nominal Pembayaran |
reqDt | N | 8 | Tgl Request (YYYYMMDD) |
reqTm | N | 6 | Waktu Request (HH24MISS) |
currency | A | 3 | Currency |
goodsNm | AN | 100 | Nama Barang |
billingNm | AN | 30 | Nama Pembeli |
status | N | 1 | Transaction status |
instmntMon | N | 2 | Installment month |
instmntType | N | 2 | Installment Type |
Response Tambahan untuk Virtual Account
Parameter | Type | Size | Deskripsi |
---|---|---|---|
vacctValidDt | N | 8 | Batas Tgl VA (YYYYMMDD) |
vacctValidTm | N | 6 | Batas Waktu VA (HH24MISS) |
vacctNo | N | 16 | Nomor VA |
bankCd | A | 4 | Bank Code |
Additional Response for QRIS
Parameter | Type | Size | Description |
---|---|---|---|
mitraCd | A | 4 | Mitra Code (QRIS) |
cancelAmt | N | 12 | Nominal pembatalan |
paymentTrxSn | AN | 32 | Nomer Pembayaran Transaksi |
paymentExpDt | N | 6 | Batas Waktu Pembayaran QR (YYYYMMDD) |
shopId | AN | 32 | Shop Id |
transTm | N | 6 | Tanggal Transaksi (HH24MISS) |
paymentExpTm | N | 6 | Batas Waktu Pembayaran QR (HH24MISS) |
cancelTrxSn | AN | 32 | Nomer pembatalan transaksi |
userId | AN | 128 | Hash ID Pengguna QRIS |
transDt | N | 8 | Tanggal Transaksi (YYYYMMDD) |
depositDt | N | 8 | Tanggal Transaksi Terbayar (YYYYMMDD) |
depositTm | N | 6 | Tanggal Transaksi Terbayar (HH24MISS) |
Response Tambahan untuk Payment Method Lainnya
Parameter | Type | Size | Deskripsi |
---|---|---|---|
mitraCd | A | 4 | Mitra Code (CVS, E-Wallet, Payloan) |
payNo | N | 12 | Nomor Pembayaran (CVS) |
payValidDt | N | 8 | Batas Tgl Pembayaran CVS (YYYYMMDD) |
payValidTm | N | 6 | Batas Waktu Pembayaran CVS (HH24MISS) |
receiptCode | ANS | 18 | Auth Number |
Pembatalan Transaksi
Spesifikasi API - Cancel Order
API url | /nicepay/api/onePassAllCancel.do |
Request Method application/x-www-form-urlencoded | POST |
Deskripsi | Request Pembatalan Transaksi ke NICEPay |
Merchant Token | SHA256(iMid +tXid +amt +merchantKey ) |
Parameter Request - Cancel Order
Contoh API Request
nicePay.setCancelMsg("Cancel Message");
nicePay.setAmt("1000");
nicePay.setFee("0");
nicePay.setVat("0");
nicePay.setNotaxAmt("0");
nicePay.setReqServerIP("127.0.0.1");
nicePay.setCancelUserId("");
nicePay.setUserIP("127.0.0.1");
nicePay.setCancelUserInfo("Customer cancel transaction");
nicePay.setCancelRetryCnt("3");
nicePay.setWorker("");
// Cancel Mandatory Field
nicePay.setTrxId("IONPAYTEST02201603091207051498");
nicePay.setPayMethod("02");
nicePay.setCancelType("1");
nicePay.setMerchantToken(nicePay.makeToken(nicePay.getAmt(), nicePay.getTrxId()));
// Cancel request
nicePay.cancel();
// Cancel Response
System.out.println("Response String : " + nicePay.getResponseString()); // JSON in String format
nicePay.getHtResponse(); // JSON in HashTable<String, String> format
String resultCd = nicePay.Get("resultCd");
String resultMsg = nicePay.Get("resultMsg");
String tXid= nicePay.Get("tXid ");
String referenceNo= nicePay.Get("referenceNo");
String transDt= nicePay.Get("transDt");
String transTm= nicePay.Get("transTm");
String description= nicePay.Get("description");
String amount= nicePay.Get("amount");
string RequestType = "cancel";
Nicepay Nicepay = new Nicepay();
Nicepay.iMid = NicepayConfig.NICEPAY_IMID;
Nicepay.tXid = tXid;
Nicepay.amt = amt;
Nicepay.merchantToken = merchantToken(Nicepay, RequestType);
Nicepay.PayMethod = "02";
Nicepay.cancelType = "1";
objResult = objNicepayClass.Cancel (Nicepay);
Tresult.InnerText = objResult.resultCd;
TtXid.InnerText = objResult.tXid;
TcallbackUrl.InnerText = objResult.callbackUrl;
Tdescription.InnerText = objResult.description;
TreferenceNo.InnerText = objResult.referenceNo;
TpayMethod.InnerText = objResult.payMethod;
//YYMMDD
TtransDT.InnerText = objResult.transDt;
//HH24MISS
TTranstm.InnerText = objResult.transTm;
TresultMsg.InnerText = objResult.resultMsg;
<?php
$nicepay = new NicepayLib();
if(!emptyempty($_POST['tXid']) && !emptyempty($_POST['tXid']))
{
$iMid = $nicepay->iMid;
$tXid = $_POST['tXid'];
$amt = $_POST['amt'];
$nicepay->set('tXid', $tXid);
$nicepay->set('payMethod', '02');
$nicepay->set('amt', $amt);
$nicepay->set('iMid',$iMid);
$nicepay->set('cancelType', 1);
$merchantToken = $nicepay->merchantTokenC();
$nicepay->set('merchantToken', $merchantToken);
// <REQUEST to NICEPAY>
$response = $nicepay->cancel($tXid, $amt);
// <RESPONSE from NICEPAY>
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
echo "<pre>";
var_dump($response);
echo "</pre>";
}
?>
import json
from library import NICEPay
#Set MID & Merchant Key
NICEPay.iMid = "IONPAYTEST" #Set Merchant ID
NICEPay.merchantKey = "33F49GnCMS1mFYlGXisbUDzVf2ATWCl9k3R++d5hDd3Frmuos/XLx8XhXpe+LDYAbpGKZYSwtlyyLOtS/8aD7A==" #Set Merchant Key
#Set Mandatory Value
NICEPay.payMethod = "02"
NICEPay.amt = "1000"
NICEPay.tXid = "IONPAYTEST02201703301501243952"
NICEPay.cancelType = "1"
NICEPay.merchantToken = NICEPay.getMerchantTokenCancel()
#Set Optional Value
NICEPay.cancelMsg = "Cancel Message"
NICEPay.fee = "0"
NICEPay.vat = "0"
NICEPay.notaxAmt = "0"
NICEPay.reqServerIP = "127.0.0.01"
NICEPay.cancelUserId = "Admin"
NICEPay.userIP = "127.0.0.1"
NICEPay.cancelUserInfo = "Customer cancel transaction"
NICEPay.cancelRetryCnt = "5"
NICEPay.worker = "Worker"
#Cancel Request
resultCancel = NICEPay.cancel()
#Cancel Response
result = json.loads(resultCancel)
#Cancel Response String Format
print("resultCd : " + result['resultCd'])
print("resultMsg : " + result['resultMsg'])
print("tXid : " + result['tXid'])
print("referenceNo : " + result['referenceNo'])
print("transDt : " + result['transDt'])
print("transTm : " + result['transTm'])
print("description : " + result['description'])
print("amount : " + result['amount'])
Parameter | Type | Size | Deskripsi | Contoh Data |
---|---|---|---|---|
iMid Required | AN | 10 | Merchant ID | IONPAYTEST |
merchantToken Required | AN | 255 | Merchant Token | 6cfccfc0046773c1b89d8e98f8b596c 284f3c70a4ecf86eba14c18944b74bcd |
tXid Required | AN | 30 | Transaction ID | IONPAYTEST02201607291027025291 |
payMethod Required | N | 2 | Payment method | 01 |
cancelType Required | N | 2 | Cancellation type | 1 |
amt Required | N | 12 | Nominal Pembatalan | 15000 |
cancelMsg | AN | 255 | Pesan Pembatalan | Cancel |
fee | N | 12 | Service fee | 0 |
vat | N | 12 | Vat | 0 |
cancelServerIp | ANS | 15 | Server IP address | 127.0.0.1 |
cancelUserId | AN | 30 | User ID | Admin |
cancelUserIp | ANS | 15 | User IP address | 127.0.0.1 |
cancelUserInfo | AN | 100 | User Information | New customer |
cancelRetryCnt | N | 2 | Retry count for cancel | 2 |
worker | N | 10 | Worker | Worker |
Parameter Response - Cancel Order
Contoh Response
{
"tXid": "IONPAYTEST02201603091207051498",
"referenceNo": "OrdNo20160525000-52104",
"resultCd": "0000",
"resultMsg": "SUCCESS",
"transDt": "20160303",
"transTm": "135959",
"description": "Payment of OrdNo20160525000-52104",
"amount": "1000",
"canceltXid": "IONPAYTEST02201603091207051499"
}
Parameter | Type | Size | Deskripsi |
---|---|---|---|
tXid | AN | 30 | Transaction ID |
referenceNo | ANS | 40 | Merchant order No |
resultCd | N | 4 | Result code |
resultMsg | AN | 255 | Result message |
transDt | N | 8 | Tgl Transaksi |
transTm | N | 6 | Waktu Transaksi |
description | AN | 255 | Deskripsi |
amount | N | 8 | Nominal |
canceltXid | AN | 30 | ID Pembatalan Transaksi |
cancelTrxSn | AN | 32 | Nomer Pembatalan Transaksi |
Notifikasi
Contoh POST Notifikasi dari NICEPAY
tXid={tXid}
referenceNo={referenceNo}
amt={amt}
merchantToken={merchantToken}
matchCl={matchCl}
status={status}
bankCd={bankCd}
vacctNo={vacctNo}
authNo={authNo}
cardNo={cardNo}
issuBankCd = {issuBankCd}
issuBankNm = {issuBankNm}
acquBankCd = {acquBankCd}
acquBankNm = {acquBankNm}
transDt = {depositDt}
transTm = {depositTm}
payNo={payNo}
NICEPAY memberikan layanan push notification secara real-time melalui dbProcessUrl
yang diberikan merchant.
Untuk menghindari terjadinya Notifikasi yang terblokir oleh firewall Merchant, silahkan menambahkan Server NICEPay kedalam Whitelist:
Method | Merchant Token | IP | User-Agent |
---|---|---|---|
POST application/x-www-form-urlencoded | SHA256(iMid +tXid +amt +merchantKey ) | 103.20.51.0/24 103.117.8.0/24 | Jakarta Commons-HttpClient/3.1 |
Parameter Notifikasi
Parameter | Type | Size | Deskripsi |
---|---|---|---|
tXid | N | 30 | Transaction ID |
merchantToken | AN | 255 | Merchant Token |
referenceNo | ANS | 40 | Merchant Order No |
payMethod | N | 2 | Payment method |
amt | N | 12 | Nominal Pembayaran |
transDt | N | 8 | Tgl Transaksi |
transTm | N | 6 | Waktu Transaksi |
currency | A | 3 | Currency |
goodsNm | AN | 100 | Nama Barang |
billingNm | A | 30 | Nama Pembeli |
matchCl | N | 1 | Flagging Pembayaran |
status | A | 1 | Deposit Status:0 Deposit1 Reversal |
Parameter Tambahan untuk Notifikasi Credit Card
Parameter | Type | Size | Deskripsi |
---|---|---|---|
authNo | N | 10 | Approval number |
IssueBankCd | A | 4 | Kode Bank Penerbit |
IssueBankNm | A | Nama Bank Penerbit | |
acquBankCd | A | Kode Bank Penerima | |
acquBankNm | A | Nama Bank Penerima | |
cardNo | ANS | 20 | Card No. degan Masking |
cardExpYymm | N | Card expiry (YYMM) | |
instmntMon | N | 2 | Bulan Cicilan |
instmntType | N | 2 | Installment Type |
preauthToken | AN | 255 | Preauth Token |
recurringToken | AN | 255 | Recurring token |
ccTransType | A | 2 | Credit Card Trans type1 Normal2 Recurring3 Pre-auth4 Captured |
vat | N | 12 | Vat number |
fee | N | 12 | Service fee |
notaxAmt | N | 12 | Tax free amount |
Parameter Tambahan untuk Notifikasi Virtual Account
Parameter | Type | Size | Deskripsi |
---|---|---|---|
bankCd | A | 4 | Bank Code |
vacctNo | N | 16 | Nomor VA |
vacctValidDt | N | 8 | VA Expiry Date (YYYYMMDD) |
vacctValidTm | N | 6 | VA Expiry Time (HH24MISS) |
Parameter Tambahan untuk Notifikasi QRIS
Parameter | Type | Size | Description |
---|---|---|---|
paymentTrxSn | AN | 32 | Nomer Pembayaran Transaksi |
userId | AN | 128 | Hash ID Pengguna QRIS |
shopId | AN | 32 | Shop Id |
Parameter Tambahan untuk Notifikasi Metode Pembayaran Lain
Parameter | Type | Size | Description |
---|---|---|---|
mitraCd | A | 4 | Mitra Code |
payNo | N | 12 | Nomor Pembayaran CVS |
payValidDt | N | 8 | Batas Tgl CVS (YYYYMMDD) |
payValidTm | N | 6 | Batas Waktu CVS (HH24MISS) |
receiptCode | ANS | 20 | Authorization number |
mRefNo | AN | 18 | Reference No. |
Nicepay Code
Field Type
Value Code | Meaning |
---|---|
A | Alphabet |
AN | Alphabet Numeric |
N | Numeric |
ANS | Alphabet Numeric Symbol |
AOO | Array of Object |
Installment Type
Value Code | Meaning |
---|---|
1 | Customer charge |
2 | Merchant charge |
Payment Method
Value Code | Meaning |
---|---|
01 | Credit Card |
02 | Virtual Account |
03 | CVS (Convenience Store) |
04 | ClickPay |
05 | E-Wallet |
06 | Payloan |
08 | QRIS |
09 | GPN Card |
Payment Status Code
Credit Card | Meaning |
---|---|
0 | Success |
1 | Failed |
2 | Void/Refund |
9 | Initialization / Reversal |
Virtual Account | Meaning |
---|---|
0 | Paid |
3 | Unpaid |
4 | Expired |
CVS | Meaning |
---|---|
0 | Paid |
3 | Unpaid |
4 | Expired |
5 | Ready to Paid (for Alfamart) |
E-Wallet OVO | Meaning |
---|---|
0 | Paid |
1 | Void |
8 | Fail |
9 | Init |
E-Wallet Shopeepay | Meaning |
---|---|
0 | Paid |
1 | Void |
2 | Refund |
3 | Unpaid |
4 | Processing |
5 | Expired |
8 | Fail |
9 | Init |
E-Wallet DANA | Meaning |
---|---|
0 | Paid |
1 | Void |
2 | Refund |
3 | Unpaid |
5 | Expired |
8 | Fail |
9 | Init |
E-Wallet Linkaja | Meaning |
---|---|
0 | Paid |
1 | Void |
2 | Refund |
3 | Unpaid |
8 | Fail |
9 | Init |
E-Wallet AstraPay | Meaning |
---|---|
0 | Paid |
3 | Unpaid |
8 | Fail |
Payloan | Meaning |
---|---|
0 | Paid |
1 | Void |
2 | Refund |
3 | Unpaid |
4 | Expired |
5 | Preauth |
8 | Fail |
9 | Init |
QRIS | Meaning |
---|---|
0 | Success |
1 | Void |
2 | Refund |
3 | Unpaid |
4 | Processing |
5 | Not Found |
6 | Payment Failed |
Notification Status Code
Value Code | Meaning |
---|---|
0 | Deposit |
1 | Reversal |
Notification Match Amount Indicator
Value Code | Meaning |
---|---|
1 | Match |
2 | Over |
3 | Under |
Cancel Type
Value Code | Meaning |
---|---|
1 | Full Cancellation |
2 | Partial Cancellation |
Bank Code
Value Code | Meaning |
---|---|
BMRI | Bank Mandiri |
IBBK | Bank International Indonesia Maybank |
BBBA | Bank Permata |
BBBB | Bank Permata Syariah |
CENA | Bank Central Asia |
BNIN | Bank Negara Indonesia 46 |
HNBN | Bank KEB Hana Indonesia |
BRIN | Bank Rakyat Indonesia |
BNIA | Bank PT. BANK CIMB NIAGA, TBK. |
BDIN | Bank PT. BANK DANAMON INDONESIA, TBK |
PDJB | Bank BJB |
YUDB | Bank BNC |
BDKI | Bank DKI |
OTHR | etc, unknown |
Mitra Code
Value Code | Meaning |
---|---|
ALMA | CVS Alfamart |
INDO | CVS Indomaret |
MDRC | ClickPay Mandiri |
BCAC | ClickPay BCA |
CIMC | ClickPay CIMB |
JENC | Jenius Pay |
MDRE | E-Wallet Mandiri |
BCAE | E-Wallet BCA(Sakuku) |
AKLP | Akulaku |
KDVI | Kredivo |
IDNA | Indodana |
OVOE | OVO |
LINK | LinkAja |
DANA | DANA |
ESHP | E-Wallet Shopeepay |
QSHP | QRIS ShopeePay |
Error Code
Value | Description |
---|---|
Common | |
0000 | Success |
1001 | Connection error |
1002 | Socket error |
1003 | Server error |
1004 | Timeout error |
9501 | Invalid transaction number. |
9502 | Transaction not allowed. |
9503 | It has been stopped or terminated in its stores. |
9504 | No offus information. |
9505 | No bank information. |
9506 | No Merchant Paymethod information. |
9507 | Http timeout exception. |
Order | |
8001 | Order registration error. |
8002 | Order inquiry error. |
8003 | Order registration data error. |
8004 | The tXid error during the order inquiry. |
8005 | OrderAuthType API Response data null. |
9001 | Failed to register your order. Please check your HTTP Message. |
9002 | Server is busy. Please kindly try again in few minutes. |
9003 | Invalid Order. |
9004 | Error on inquiry of order confirmation. |
9005 | Failed to check status. Please contact NICEPay for further information. |
9006 | Transaction number generated error. |
9007 | Undefined: Amount. Please check your request parameter and make sure [amt] is defined. |
9008 | Invalid Request Amount. Amount should only number and do not includes decimal. |
9009 | Reference Number already exist. Please generate unique [referenceNo]. |
9010 | Invalid Merchant Token. Contact NICEPay for further information. |
9011 | Invalid MID, Merchant is not registered. Contact NICEPay for further information. |
9012 | This Payment method is currently not activated. Contact Nicepay for further information. |
9013 | Undefined: Currency Code. Please check your request parameter and make sure [currencyCode] is defined. |
9014 | Undefined: Reference No. Please check your request parameter and make sure [referenceNo] is defined. |
9015 | Undefined: Goods Name. Please check your request parameter and make sure [goodsNm] is defined. |
9016 | Undefined: Buyer Name. Please check your request parameter and make sure [billingNm] is defined. |
9017 | Undefined: Buyer Phone Number. Please check your request parameter and make sure [billingPhone] is defined. |
9018 | Undefined: Buyer Email Address. Please check your request parameter and make sure [billingEmail] is defined. |
9019 | Undefined: Callback URL. Please check your request parameter and make sure [callbackUrl] is defined. |
9020 | Undefined: Debit Process URL. Please check your request parameter and make sure [dbProcessUrl] is defined. |
9021 | Failed in inquiring the criterion information (BO_MER_MGNT ORD_NO_DUP_CHK_FLG). |
9022 | Invalid Card Data. Please check [cartData] parameter, and make sure you send valid JSON format. |
9023 | Invalid Cart Data. Amount is different with Cart Data total amount. Please make sure [amt] = sum of [amt] in [cartData] |
9024 | Undefined: Customer IP Address. Please check your request parameter and make sure [userIP] is defined. |
9025 | Undefined: Buyer City. Please check your request parameter and make sure [billingCity] is defined. |
9026 | Undefined: Buyer State. Please check your request parameter and make sure [billingState] is defined. |
9027 | Undefined: Buyer Postal Code. Please check your request parameter and make sure [billingPostCd] is defined. |
9028 | Undefined: Buyer Country. Please check your request parameter and make sure [billingCountry] is defined. |
9029 | Installment is not available for defined month |
9030 | Transaction Fail. Please check information. |
9031 | Date/Time check. |
Card | |
8021 | Card authorization error. |
8022 | The tXid error during the card authorization. |
8023 | The tXid error during the card net cancel. |
8024 | The MID error during the card net cancel. |
8026 | Failed card VISA 3D. |
8027 | Invalid Parameter (PAN or expiry or country_code) |
8028 | Invalid Parameter (callbackUrl) |
8029 | Invalid Parameter (onePassToken) |
8030 | Not Support Keyin Payment. |
9101 | Server is busy. Please kindly try again in few minutes. |
9102 | Server is busy. Please kindly try again in few minutes. |
9103 | Error in inquiring card ledger. |
9104 | Server is busy. Please kindly try again in few minutes. |
9105 | Server is busy. Please kindly try again in few minutes. |
9106 | Transaction failed. |
9107 | Server is busy. Please kindly try again in few minutes. |
9108 | This Payment method is currently not activated. Contact Nicepay for further information. |
9109 | Reference Number Maximum Length Exceed. [referenceNo] should have maximum 40 characters length. |
9110 | Transaction failed. Please check card information and try again. |
9111 | Transaction failed. Please check card information and try again. |
9112 | Transaction failed. Please check card information and try again. |
9113 | Transaction failed. Please check card information and try again. |
9114 | MERCHANT_CARDINFO query error. |
9115 | Invalid Amount: too low. Please increase amount. |
9116 | Transaction already exist. Please make new transaction. |
9117 | 3D Secure Failed. Please kindly check your card data and try again. |
9118 | Invalid Installment Type. |
9119 | Transaction failed: Invalid Terminal ID or Merchant ID |
9120 | Transaction failed: Invalid Terminal ID or Merchant ID |
9121 | This Payment method is currently not activated. Contact Nicepay for further information. |
9122 | Transaction failed. Please check settlement interval. |
9123 | Transaction failed. Transaction limit reached. |
9124 | Invalid Amount: too low. Please increase amount. |
9125 | Transaction failed. Please check card information and try again. |
9126 | Transaction already approved. |
9127 | Transaction already exist. Please make new transaction. |
9128 | Transaction failed. Please check card information and try again. |
9129 | Transaction failed: Expired transaction. Please make new transaction. |
9130 | Forbidden. You do not have permission to access this resource. |
9131 | Invalid Token. Please check [onePassToken] parameter |
9132 | Transaction failed. Please check Risk Management. |
9133 | Email not sent. |
9134 | Card Recurring Token Failed. |
9135 | Card Recurring Auto Void Failed. |
9136 | Card Recurring Token Unregistraion Failed. |
9137 | Card MIGS Transaction Number not found. (queryDR, vpc_DRExists : N) |
9138 | Card MIGS SecureHash not match. |
9139 | Card MIGS Amount not match. |
9140 | Recurring Payment Parameter CVV code is mandatary. |
9141 | Recurring Payment AuthType is '1' or '2'. |
9142 | Cards issued overseas can not be paymented. |
9143 | Card PreAuth Token Failed. |
9144 | Card PreAuth Token Unregistraion Failed. |
9145 | capture amount must be less than pre-authorised amount. |
9146 | Failed to card token inquiry |
9147 | Invalid parameters. |
9148 | Recurring Token is only available for 3DS. |
9149 | Recurring Payment Use Check : Fail. |
9150 | Recurring Payment CVV Check : Fail. |
9151 | cardBin Information exist in blackList. |
9152 | FDS Check : high risk score. |
9153 | FDS Check : binCountry is not local card. |
9154 | card daily transaction limit count over. |
9155 | card daily transaction limit amount over. |
9156 | FDS Check : server communication error. |
9157 | There is no valid authentication data. Please make new transaction. |
9158 | Card Holder Name is Mandatory. |
9159 | Transaction failed. please contact merchant. |
9160 | Invalid expired date format YYMM |
9161 | Token not found |
9162 | FDS Check : binCountry is not permit to payment. |
00 | Successful approval/completion or that V.I.P. PIN verification is valid |
01 | Refer to card issuer |
02 | Refer to card issuer, special condition |
03 | Invalid merchant or service provider |
04 | Pickup card |
05 | Do not honor |
06 | General Error |
07 | Pickup card, special condition (other than lost/stolen card) |
08 | Honor with identification |
09 | Request in progress |
10 | Partial Approval |
11 | V.I.P. approval |
12 | Invalid transaction |
13 | Invalid amount (currency conversion field overflow) or amount exceeds maximum for card program |
14 | Invalid account number (no such number) |
15 | No such issuer |
16 | Insufficient funds |
17 | Customer cancellation |
19 | Re-enter transaction |
20 | Invalid response |
21 | No action taken (unable to back out prior transaction) |
22 | Suspected Malfunction |
25 | Unable to locate record in file, or account number is missing from the inquiry |
28 | File is temporarily unavailable |
30 | Format Error |
41 | Pickup card (lost card) |
43 | Pickup card (stolen card) |
51 | Insufficient funds |
52 | No checking account |
53 | No savings account |
54 | Expired card |
55 | Incorrect PIN |
57 | Transaction not permitted to cardholder |
58 | Transaction not allowed at terminal |
59 | Suspected fraud |
61 | Activity amount limit exceeded |
62 | Restricted card (for example, in Country Exclusion table) |
63 | Security violation |
65 | Activity count limit exceeded |
68 | Response received too late |
75 | Allowable number of PIN - entry tries exceeded |
76 | Unable to locate previous message (no match on Retrieval Reference number) |
77 | Previous message located for a repeat or reversal, but repeat or reversal data are inconsistent with original message |
78 | ’Blocked, first used’ - The transaction is from a new cardholder, and the card has not been properly unblocked. |
80 | Visa transactions: credit issuer unavailable. Private label and check acceptance: Invalid date |
81 | PIN cryptographic error found (error found by VIC security module during PIN decryption) |
82 | Negative CAM, dCVV, iCVV, or CVV results |
83 | Unable to verify PIN |
85 | No reason to decline a request for account number verification, address verification, CVV2 verification, or a credit voucher or merchandise return |
91 | Issuer unavailable or switch inoperative (STIP not applicable or available for this transaction) |
92 | Destination cannot be found for routing |
93 | Transaction cannot be completed, violation of law |
94 | Duplicate Transmission |
95 | Reconcile error |
96 | System malfunction, System malfunction or certain field error conditions |
B1 | Surcharge amount not permitted on Visa cards (U.S. acquirers only) |
N0 | Force STIP |
N3 | Cash service not available |
N4 | Cashback request exceeds issuer limit |
N7 | Decline for CVV2 failure |
P2 | Invalid biller information |
P5 | PIN Change/Unblock request declined |
P6 | Unsafe PIN |
Q1 | Card Authentication failed |
R0 | Stop Payment Order |
R1 | Revocation of Authorization Order |
R3 | Revocation of All Authorizations Order |
XA | Forward to issuer |
XD | Forward to issuer |
Z3 | Unable to go online |
C101 | Error setting mandatory fields, TRANSACTION_TYPE is empty! |
C102 | Invalid value for TRANSACTION_TYPE! Acceptable Value : QUERY=1, SALES=2, AUTHORIZED=3, CAPTURE=4 |
C103 | This transaction is not authorized, cannot proceed to be captured. |
C104 | Error setting mandatory fields, MERCHANT_ACC_NO is empty! |
C105 | Invalid MERCHANT_ACC_NO! Unable to find merchant with provided MERCHANT_ACC_NO. |
C106 | The status of this MERCHANT_ACC_NO is suspended! All transactions are not allowed temporary. Please check with administrator for the status. |
C107 | The status of this MERCHANT_ACC_NO is still pending and not yet activated. Please check with administrator for the status. |
C108 | The status of this MERCHANT_ACC_NO is invalid! Please check the merchant setting. |
C109 | The setting of this MERCHANT_ACC_NO does not allow the requested transaction type. Please check the merchant setting. |
C110 | The setting of this MERCHANT_ACC_NO do not allow transaction request from this IP address. Please checks the merchant allow IP setting. |
C111 | Error setting mandatory fields, AMOUNT is empty! |
C112 | Invalid value for AMOUNT |
C113 | Error setting mandatory fields, CARD_NO is empty! |
C114 | Error setting mandatory fields, CARD_EXP_MM is empty! |
C115 | Error setting mandatory fields, CARD_EXP_YY is empty! |
C116 | Error setting mandatory fields, CARD_CVC is empty! |
C117 | Invalid value for CARD_NO. CARD_NO must be numeric and with valid length! |
C118 | Invalid value for CARD_EXP_MM. CARD_EXP_MM must be numeric and with valid length! |
C119 | Invalid value for CARD_EXP_YY. CARD_EXP_YY must be numeric and with valid length! |
C120 | Invalid value for CARD_CVC. CARD_CVC must be numeric and with valid length! |
C121 | Invalid payment method. Please call bank to check Merchant Settings. |
C122 | Amount has been over transaction limit for today. Please call bank to check Merchant Settings. |
C123 | Transaction not permitted through this merchant type. Please call bank to check Merchant Settings. |
C124 | Undefined Error. Error Code:1024 |
C301 | Error setting mandatory fields, TRANSACTION_ID is empty! TRANSACTION_ID is required for CAPTURE transaction type |
C302 | Error setting mandatory fields, RETURN_URL is empty! |
C303 | Error setting mandatory fields, RESPONSE_TYPE is empty! |
C304 | Error setting mandatory fields, TXN_URL is Null for RESPONSE_TYPE using HTTP! |
C305 | Invalid value for RESPONSE_TYPE for non-3D transaction! Acceptable Value : HTTP, XML, PLAIN |
C306 | Error setting mandatory fields, TXN_SIGNATURE is empty! |
C307 | Invalid value for TXN_SIGNATURE! Computed signature does not match one included in the request. |
C308 | Invalid format for TXN_SIGNATURE! TXN_SIGNATURE must be length of 32, and in hexadecimal format. |
C309 | Unable to find the transaction record! |
C310 | MERCHANT_ACC_NO not matched with previous submitted transaction request! To capture/query previous transaction, please ensure the MERCHANT_ACC_NO is the same MERCHANT_ACC_NO submitted during previous transaction. |
C311 | AMOUNT not matched with previous submitted transaction request! To capture/query previous transaction, please ensure the AMOUNT is the same AMOUNT submitted during previous transaction. |
C312 | CUSTOMER_ID not matched with previous submitted transaction request! To capture/query previous transaction, if this field is being used, please ensure the CUSTOMER_ID is the same CUSTOMER_ID submitted during previous transaction. |
C313 | MERCHANT_TRANID not matched with previous submitted transaction request! To capture/query previous transaction, please ensure the MERCHANT_TRANID is the same MERCHANT_TRANID submitted during previous transaction. |
C314 | Insecure mode for RETURN_URL. Please specify an URL which uses HTTPS protocol! |
C315 | Insecure mode for TXN_URL. Please specify an URL which uses HTTPS protocol! |
C401 | Error setting mandatory fields, CARD_HOLDER_NAME is empty! |
C402 | Error setting mandatory fields, MERCHANT_TRANID is empty! |
C403 | Duplicate MERCHANT_TRANID detected! Please ensure the MERCHANT_TRANID is always unique. |
C404 | Error setting mandatory fields, TXN_DESC is empty! |
C405 | Error setting mandatory fields for 3D transaction, MPI_CODE is empty! |
C406 | Error setting mandatory fields for 3D transaction, MPI_CAVV is empty! |
C407 | Error setting mandatory fields for 3D transaction, MPI_CAVV_ALG is empty! |
C408 | Error setting mandatory fields for 3D transaction, MPI_ECI is empty! |
C409 | Error setting mandatory fields for 3D transaction, MPI_MSG is empty! |
C501 | Error setting mandatory fields for fraud risk detection, FR_HIGHRISK_EMAIL is empty! |
C502 | Error setting mandatory fields for fraud risk detection, FR_HIGHRISK_COUNTRY is empty! |
C503 | Error setting mandatory fields for fraud risk detection, FR_BILLING_ADDRESS is empty! |
C504 | Error setting mandatory fields for fraud risk detection, FR_SHIPPING_ADDRESS is empty! |
C505 | Error setting mandatory fields for fraud risk detection, FR_SHIPPING_COST is empty! |
C506 | Error setting mandatory fields for fraud risk detection, CUSTOMER_IP is empty! |
C507 | Error setting mandatory fields for fraud risk detection, FR_PURCHASE_HOUR is empty! |
C508 | Transaction was blocked due to fraud level exceeded threshold limit. |
C509 | Transaction was blocked due to blacklisted card detected. |
C601 | Unable to get connection to MPI Server! |
C602 | Time out occurred during communication with MPI Server! |
C603 | Unable to update MPI Ref. No in system. Please try again. |
C604 | There was an error occurred during 3D authentication with MPI. Please check logs for details. |
C605 | Invalid message or response received from MPI. Please try again. |
C606 | MPI Settings are not configured correctly. Please check MPI_HOST and MPI_PORT in system configuration. |
C607 | Error occurred when trying to display ACS Form in web browser for 3D authentication. Please try again. |
C608 | Problem occurred on MPI side, cannot proceed to display ACS Form. Please check MPI message or try again. |
C609 | Unable to locate back transaction to update system after 3-D authentication process. Please try again. |
C610 | Empty response received from MPI, please try again. |
C611 | MPI Code received is not allowed to proceed to process the transaction. |
C612 | Transaction was aborted because 3-D authentication process is not completed. |
C613 | Attempted duplicate submission of 3-D authentication result. Please try with new transaction. |
C614 | MALL NAME is required for 3-D transaction. Please call bank to check Merchant Settings. |
C615 | MALL URL is required for 3-D transaction. Please call bank to check Merchant Settings. |
C616 | Invalid value for RESPONSE_TYPE for 3D transaction! Acceptable Value : HTTP only |
C801 | This MERCHANT_ACC_NO is not authorized to proceed with this transaction via website! Please check the merchant setting. |
C802 | This MERCHANT_ACC_NO is not authorized to proceed with this transaction via batch upload! Please check the merchant setting. |
C803 | Exception while query Payment Server! |
C804 | Exception while checking for fraud risk! |
C999 | Internal Exception. Please call bank to report. |
C988 | Server Time Out Exception. |
C977 | Bank Connection Error! |
C966 | Reply from bank is empty/incorrect! |
C967 | Bank rejected transaction! |
C955 | Error when trying to insert transaction table. Transaction ID is empty! |
C933 | Server interruption occurred during processing. Manual checking required. Please inform Administrator. |
C935 | Cancel payment by customer. |
C937 | Insufficient point to redeem in cardholder's account. Please enter another card number. |
1 | Transaction could not be processed |
2 | Transaction Declined - Contact Issuing Bank |
3 | Transaction Declined- No reply from Bank |
4 | Transaction Declined - Expired Card |
5 | Transaction Declined - Insufficient credit |
6 | Transaction Declined - Bank system error |
7 | Payment Server Processing Error - Typically caused by invalid input data such as an invalid credit card number. Processing errors can also occur. (This is only relevant for Payment Servers that enforce the uniqueness of this field) Processing errors can also occur. |
8 | Transaction Declined - Transaction Type Not Supported |
9 | Bank Declined Transaction (Do not contact Bank) |
A | Transaction Aborted |
B | Transaction Blocked - Returned |
C | Transaction Cancelled |
D | Deferred Transaction |
E | Transaction Declined - Refer to card issuer |
F | 3D Secure Authentication Failed |
I | Card Security Code Failed |
L | Shopping Transaction Locked (This indicates that there is another transaction taking place using the same shopping transaction number) |
N | Cardholder is not enrolled in 3D Secure (Authentication Only) |
P | Transaction is Pending |
R | Retry Limits Exceeded, Transaction Not Processed |
T | Address Verification Failed |
U | Card Security Code Failed |
V | Address Verification and Card Security Code Failed |
Virtual Account | |
8041 | Virtual account registration error. |
8042 | The tXid error during the vertual account registration. |
8045 | requestVacctCustomerInquiryAPI is null. |
9201 | Server is busy. Please kindly try again in few minutes. |
9202 | Server is busy. Please kindly try again in few minutes. |
9203 | Failed to generate virtual account. Pool is empty or reached maximum. |
9204 | Server is busy. Please kindly try again in few minutes. |
9205 | Failed to generate virtual account. Invalid Virtual Account. |
9206 | Server is busy. Please kindly try again in few minutes. |
9207 | Reference Number Maximum Length Exceed. [referenceNo] should have maximum 40 characters length. |
9208 | Error in non-usage of criterion information. |
9209 | the payment amount is too small. |
9210 | Error in expiration date of deposit, expiration time for deposit, and inclusion of letters. |
9211 | Expiration date and time for deposit length is not valid. |
9212 | Error of check for merchant ID, payment method. |
9213 | TB_TRANS_HISTORY registration error. |
9214 | Failed in inquiring settlement interval. |
9215 | Order number redundancy check (TB_MOID_VERIFY) updates error. |
9216 | Virtual account failure ledger (TB_VACCT_FAIL) registration error. |
9217 | Order number redundancy check (TB_MOID_VERIFY) delete error. |
9218 | Virtual account ledger inquiry failure. |
9219 | Server is busy. Please kindly try again in few minutes. |
9220 | Server is busy. Please kindly try again in few minutes. |
9221 | Error in non-usage of criterion information(VACCT_SET). |
9222 | Error in non-usage of criterion information(VACCT_CONT). |
9223 | Invalid customer id. |
9224 | Error of check for customerId. |
9225 | Invalid Merchant Token. Contact NICEPay for further information. |
9226 | VacctNo is exceeded limit digit. |
9227 | DB insert error. |
9228 | Transaction not found. |
9229 | Fix account accountType error. |
9230 | Not exist customerId. |
9231 | Data is null error. |
9232 | iMid is exist. |
9233 | vacctNo is duplicate. |
9234 | customerId already exist. |
9235 | Invalid customer name. |
9236 | Try check date. |
9237 | Invalid BankCd. |
Cancel | |
8061 | Full canceled error. |
8062 | Partial cancled error. |
8063 | The MID error during the full cancel. |
8064 | The tXID error during the full cancel. |
8065 | The MID error during the partial cancel. |
8066 | The tXID error during the partial cancel. |
8067 | The amount error during the partial cancel. |
8090 | Net canceled error. |
9301 | Invalid Cancel Type. |
9302 | Server is busy. Please kindly try again in few minutes. |
9303 | Server is busy. Please kindly try again in few minutes. |
9304 | TB_TRANS_HISTORY update error. |
9305 | Ledger card registration error. |
9306 | Ledger partial cancel registration error. |
9307 | Cards query error. |
9308 | Database connection error. |
9309 | Bank connection error. |
9310 | TB_TRANS HISTORY registration error. |
9311 | Transaction number generated error. |
9312 | No cancellation amount or cancellation amount includes the letter. |
9313 | Partial cancellation is only possible mandiri. |
9314 | Can not cancel your request transaction number. |
9315 | Cancel Ledger duplicate registration error. |
9316 | Bank code duplication errors. |
9317 | Bank Mandiri is available once a partial canceled. |
9318 | Virtual account can not request to cancel. |
9319 | The amount you entered is larger than the amount you want to cancel. |
9320 | Can not cancel the entire data already partially canceled. |
9321 | Please fill in the requested amount greater than zero. |
9322 | Merchant infomaition(CARD_BIN) query fail. |
9323 | Merchant infomaition(Merchant_INFO) query fail. |
9324 | MERCHANT_CARDINFO query error. |
9325 | B_MID,B_TID query error. |
9326 | It can not be canceled after purchase. |
9327 | It can not be partial cancelation before purchase. |
9328 | The information can not be canceled (Void Risk Check). |
9329 | The information can not be partial cancelation (Void Risk Check). |
9330 | Virtual account deposit has been completed can not be canceled. |
9331 | The merchant can not be canceled. |
9332 | The merchant can not be partial cancellation. |
9333 | The merchant can not be cancellation. (Debt cancellation prevent restrictions) |
9334 | Cancellation period exceeds(limit 90 days). |
One Pass | |
8200 | One Pass inquiry error. |
8201 | OnePass Token Duplicate. |
8202 | OnePass Invalid Amount. |
CVS | |
9501 | Server is busy. Please kindly try again in few minutes. |
9502 | Server is busy. Please kindly try again in few minutes. |
9503 | Failed to generate CVS Number. Pool is empty or reached maximum. |
9504 | Server is busy. Please kindly try again in few minutes. |
9505 | Failed to generate virtual account. Invalid CVS. |
9506 | Server is busy. Please kindly try again in few minutes. |
9507 | Reference Number Maximum Length Exceed. [referenceNo] should have maximum 40 characters length. |
9508 | Error in non-usage of criterion information. |
9509 | the payment amount is too small. |
9510 | Error in expiration date of deposit, expiration time for deposit, and inclusion of letters. |
9511 | Expiration date and time for deposit length is not valid. |
9512 | Error of check for merchant ID, payment method. |
9513 | TB_TRANS_HISTORY registration error. |
9514 | Failed in inquiring settlement interval. |
9515 | Order number redundancy check (TB_MOID_VERIFY) updates error. |
9516 | CVS NUmber failure ledger (TB_CVS_FAIL) registration error. |
9517 | Order number redundancy check (TB_MOID_VERIFY) delete error. |
9518 | CVS ledger inquiry failure. |
9519 | Server is busy. Please kindly try again in few minutes. |
9520 | Server is busy. Please kindly try again in few minutes. |
9521 | Error in non-usage of criterion information(CVS_SET). |
9522 | Error in non-usage of criterion information(MITRA_CONT). |
9523 | Invalid customer id. |
9524 | Error of check for customerId. |
9525 | Invalid Merchant Token. Contact NICEPay for further information. |
9526 | CVS Number is exceeded limit digit. |
9527 | DB insert error. |
9528 | Transaction not found. |
9529 | Fix account accountType error. |
9530 | Not exist customerId. |
9531 | Data is null error. |
9532 | iMid is exist. |
9533 | CVS Number is duplicate. |
9534 | customerId already exist. |
9535 | Invalid customer name. |
9536 | Try check date. |
EWALLET | |
9750 | E-Wallet Generate ID Fail. |
9751 | Invalid Parameter. |
9752 | E-Wallet Payment Fail. |
CLICKPAY | |
9801 | Internal system error |
9802 | Invalid parameter |
9803 | User registration error |
9804 | Invalid Token |
9805 | Invalid Card Number |
9806 | Transaction Payment Fail |
9807 | Transaction Reversal Fail |
9808 | TXID is duplicate |
9809 | Failed in inquiring settlement interval |
9810 | Other error |
CIMB Error Code
Value | Description |
---|---|
0 | APPROVED OR COMPLETED |
1001 | Error setting mandatory fields, TRANSACTION_TYPE is empty! |
1002 | Invalid value for TRANSACTION_TYPE! Acceptable Value : QUERY=1, SALES=2, AUTHORIZED=3, CAPTURE=4 |
1003 | This transaction is not authorized, cannot proceed to be captured. |
1004 | Error setting mandatory fields, MERCHANT_ACC_NO is empty! |
1005 | Invalid MERCHANT_ACC_NO! Unable to find merchant with provided MERCHANT_ACC_NO. |
1006 | The status of this MERCHANT_ACC_NO is suspended! All transactions are not allowed temporary. Please check with administrator for the status. |
1007 | The status of this MERCHANT_ACC_NO is still pending and not yet activated. Please check with administrator for the status. |
1008 | The status of this MERCHANT_ACC_NO is invalid! Please check the merchant setting. |
1009 | The setting of this MERCHANT_ACC_NO does not allow the requested transaction type. Please check the merchant setting. |
1010 | The setting of this MERCHANT_ACC_NO do not allow transaction request from this IP address. Please checks the merchant allow IP setting. |
1011 | Error setting mandatory fields, AMOUNT is empty! |
1012 | Invalid value for AMOUNT |
1013 | Error setting mandatory fields, CARD_NO is empty! |
1014 | Error setting mandatory fields, CARD_EXP_MM is empty! |
1015 | Error setting mandatory fields, CARD_EXP_YY is empty! |
1016 | Error setting mandatory fields, CARD_CVC is empty! |
1017 | Invalid value for CARD_NO. CARD_NO must be numeric and with valid length! |
1018 | Invalid value for CARD_EXP_MM. CARD_EXP_MM must be numeric and with valid length! |
1019 | Invalid value for CARD_EXP_YY. CARD_EXP_YY must be numeric and with valid length! |
1020 | Invalid value for CARD_CVC. CARD_CVC must be numeric and with valid length! |
1021 | Invalid payment method. Please call bank to check Merchant Settings. |
1022 | Amount has been over transaction limit for today. Please call bank to check Merchant Settings. |
1023 | Transaction not permitted through this merchant type. Please call bank to check Merchant Settings. |
1024 | Undefined Error. Error Code:1024 |
3001 | Error setting mandatory fields, TRANSACTION_ID is empty! TRANSACTION_ID is required for CAPTURE transaction type |
3002 | Error setting mandatory fields, RETURN_URL is empty! |
3003 | Error setting mandatory fields, RESPONSE_TYPE is empty! |
3004 | Error setting mandatory fields, TXN_URL is Null for RESPONSE_TYPE using HTTP! |
3005 | Invalid value for RESPONSE_TYPE for non-3D transaction! Acceptable Value : HTTP, XML, PLAIN |
3006 | Error setting mandatory fields, TXN_SIGNATURE is empty! |
3007 | Invalid value for TXN_SIGNATURE! Computed signature does not match one included in the request. |
3008 | Invalid format for TXN_SIGNATURE! TXN_SIGNATURE must be length of 32, and in hexadecimal format. |
3009 | Unable to find the transaction record! |
3010 | MERCHANT_ACC_NO not matched with previous submitted transaction request! To capture/query previous transaction, please ensure the MERCHANT_ACC_NO is the same MERCHANT_ACC_NO submitted during previous transaction. |
3011 | AMOUNT not matched with previous submitted transaction request! To capture/query previous transaction, please ensure the AMOUNT is the same AMOUNT submitted during previous transaction. |
3012 | CUSTOMER_ID not matched with previous submitted transaction request! To capture/query previous transaction, if this field is being used, please ensure the CUSTOMER_ID is the same CUSTOMER_ID submitted during previous transaction. |
3013 | MERCHANT_TRANID not matched with previous submitted transaction request! To capture/query previous transaction, please ensure the MERCHANT_TRANID is the same MERCHANT_TRANID submitted during previous transaction. |
3014 | Insecure mode for RETURN_URL. Please specify an URL which uses HTTPS protocol! |
3015 | Insecure mode for TXN_URL. Please specify an URL which uses HTTPS protocol! |
4001 | Error setting mandatory fields, CARD_HOLDER_NAME is empty! |
4002 | Error setting mandatory fields, MERCHANT_TRANID is empty! |
4003 | Duplicate MERCHANT_TRANID detected! Please ensure the MERCHANT_TRANID is always unique. |
4004 | Error setting mandatory fields, TXN_DESC is empty! |
4005 | Error setting mandatory fields for 3D transaction, MPI_CODE is empty! |
4006 | Error setting mandatory fields for 3D transaction, MPI_CAVV is empty! |
4007 | Error setting mandatory fields for 3D transaction, MPI_CAVV_ALG is empty! |
4008 | Error setting mandatory fields for 3D transaction, MPI_ECI is empty! |
4009 | Error setting mandatory fields for 3D transaction, MPI_MSG is empty! |
5001 | Error setting mandatory fields for fraud risk detection, FR_HIGHRISK_EMAIL is empty! |
5002 | Error setting mandatory fields for fraud risk detection, FR_HIGHRISK_COUNTRY is empty! |
5003 | Error setting mandatory fields for fraud risk detection, FR_BILLING_ADDRESS is empty! |
5004 | Error setting mandatory fields for fraud risk detection, FR_SHIPPING_ADDRESS is empty! |
5005 | Error setting mandatory fields for fraud risk detection, FR_SHIPPING_COST is empty! |
5006 | Error setting mandatory fields for fraud risk detection, CUSTOMER_IP is empty! |
5007 | Error setting mandatory fields for fraud risk detection, FR_PURCHASE_HOUR is empty! |
5008 | Transaction was blocked due to fraud level exceeded threshold limit. |
5009 | Transaction was blocked due to blacklisted card detected. |
6001 | Unable to get connection to MPI Server! |
6002 | Time out occurred during communication with MPI Server! |
6003 | Unable to update MPI Ref. No in system. Please try again. |
6004 | There was an error occurred during 3D authentication with MPI. Please check logs for details. |
6005 | Invalid message or response received from MPI. Please try again. |
6006 | MPI Settings are not configured correctly. Please check MPI_HOST and MPI_PORT in system configuration. |
6007 | Error occurred when trying to display ACS Form in web browser for 3D authentication. Please try again. |
6008 | Problem occurred on MPI side, cannot proceed to display ACS Form. Please check MPI message or try again. |
6009 | Unable to locate back transaction to update system after 3-D authentication process. Please try again. |
6010 | Empty response received from MPI, please try again. |
6011 | MPI Code received is not allowed to proceed to process the transaction. |
6012 | Transaction was aborted because 3-D authentication process is not completed. |
6013 | Attempted duplicate submission of 3-D authentication result. Please try with new transaction. |
6014 | MALL NAME is required for 3-D transaction. Please call bank to check Merchant Settings. |
6015 | MALL URL is required for 3-D transaction. Please call bank to check Merchant Settings. |
6016 | Invalid value for RESPONSE_TYPE for 3D transaction! Acceptable Value : HTTP only |
8001 | This MERCHANT_ACC_NO is not authorized to proceed with this transaction via website! Please check the merchant setting. |
8002 | This MERCHANT_ACC_NO is not authorized to proceed with this transaction via batch upload! Please check the merchant setting. |
8003 | Exception while query Payment Server! |
8004 | Exception while checking for fraud risk! |
9999 | Internal Exception. Please call bank to report. |
9988 | Server Time Out Exception. |
9977 | Bank Connection Error! |
9966 | Reply from bank is empty/incorrect! |
9967 | Bank rejected transaction! |
9955 | Error when trying to insert transaction table. Transaction ID is empty! |
9933 | Server interruption occurred during processing. Manual checking required. Please inform Administrator. |
9935 | Cancel payment by customer. |
9937 | Insufficient point to redeem in cardholder's account. Please enter another card number. |
F.A.Q
Q | Apakah yang dimaksud dengan callback URL? |
> Answer | Callback URL merupakan suatu URL yang memproses dan melakukan validasi terhadap hasil data transaksi yang di dapat. |
Q | Apakah yang dimaksud dengan dbprocess URL? |
> Answer | DbProcess URL merupakan suatu URL yang disediakan untuk menerima dan memproses notifikasi pembayaran. |
Q | Apakah merchant dapat melakukan cek status pembayaran? |
> Answer | Ya, NICEPAY menyediakan fitur untuk melakukan pengecekan status yang sudah tersedia di librari-librari yang telah disediakan. |
Q | Apakah merchant bisa menggunakan Mid & Merchant Key testing di Live Environment? |
> Answer | Ya, untuk Mid & Merchant Key testing bisa digunakan di Live Environtment. |
Q | Jika ada pembayaran customer yang ditolak, apa yang perlu merchant lakukan? |
> Answer | Merchant bisa melakukan pengecekan terlebih dahulu, apakah nomor virtual account, batas waktu pembayaran, dan nominal tagihan sesuai dengan invoice? Jika sudah benar semua namun tetap gagal, maka coba dahulu menggunakan fasilitas lain. sebagai contoh, pembayaran menggunakan ATM gagal, maka coba pembayaran menggunakan E-Banking. Jika pembayaran masih tetap mengalami masalah, silahkan hubungi Customer Service kami. |
Q | Bagaimana jika customer sudah berhasil melakukan pembayaran, namun tidak mendapatkan email konfirmasi bayaran? |
> Answer | Dalam kondisi normal, customer akan mendapatkan email konfirmasi dalam waktu maksimal 5 menit setelah pembayaran. Jika tetap tidak mendapatkan email konfirmasi, silahkan mengirimkan email kepada customer service kami disertai bukti pembayaran. |
Ada Pertanyaan ?
Silahkan hubngi kami : [email protected].
Changelog
2.75
Add API E-wallet AstraPay
2.74
General info RecurringToken & PreauthToken Live integration check
2.73
add Handler Flow
2.72
06 Juni 2022
Add BankCd DKI
2.71
26 April 2022
- Update Guide Flow V1 Prof & CC Ent
- Update Guide Flow CC V2 Prof & Ent
2.70
23 Maret 2022
- New Page for API V2 Professional
- Fix : Remove mitraCd sample POST for Notification
- Fix : Remove Scroll bar in Page API V1 Professional and Enterprise
2.69
15 Maret 2022
- Add GPN payment method (09)
2.68
21 Januari 2022
- Update sample response Credit Card to callBackurl with parameter on V2 direct
2.67
20 Januari 2022
- add bank code BNC
- add parameter sellersUrl
- add flow ShopeePay and flow Indodana v2 direct
2.66
7 April 2021
- Add response parameter cancelReferenceNo Optional For CC, on V2 Cancel
- Fix: Parameter returnJsonFormat Optional For Shopeepay to get URL redirect Shopeepay
- Fix: Sample JSON Request and Response for QRIS Registration, on V1 direct
2.65
30 Maret 2021
- Add Request Parameters Required For Indodana, on V2 direct
- Add Indodana Mitra Code
- Fix: Sample JSON Request and Response for Payloan Registration, on V2 direct
- Fix: E-Wallet Status Code
2.64
19 Maret 2021
- Add Request Parameters Required For E-Wallet Shopeepay, on V1
- Add Request Parameters Required For E-Wallet Shopeepay, on V2 direct
- Fix: Sample JSON Request and Response for E-Wallet Registration, on V2 direct
2.63
10 Maret 2021
- Add Request Parameters Required For Jenius Pay, on V1
- Add Jenius option on payment page, on V1 Professional
2.62
3 Maret 2021
- Add Request Parameters Required For Jenius Pay, on V2
- Add Jenius Pay Mitra Code
- Fix: Sample JSON Request and Response for ClickPay Registration, on V2
2.61
2 December 2020
- Fix typo on payloan data V2.
- Fix: Request and Response type on Ewallet V1 Enterprise, from JSON to POST Parameter.
- Fix typo on ewallet data V2
2.60
5 November 2020
- Fix Permata Syariah Bank Code
- Add E-Wallet Status Code
- Add Payloan Status Code
- Fix QRIS Status Code
- Add Payment Response/Callback Parameter to V1 Professional
2.57
26 October 2020
- Fix Sample POST Parameter Request for Payloan
- Fix Request Method for Payloan
2.56
7 October 2020
- Add QRIS Documentation
- Update response parameter Registration
- Add parameter required for QRIS
2.55
18 September 2020
- Added Permata Syariah as Supported Bank
- Added ShopeePay as Supported Mitra
- Added DANA as Supported Mitra
- Added Details: LinkAja does not support special characters on cartData
- Update Sample Payload for V2 APIs
- Changed wording JSON OBJECT to JSON STRING for cartData
- Update New Parameters for API V2 Register for QRIS
- Fix API URL for Akulaku Confirm Receipt
- Fix wrong VA API V2 Diagram Flow
- Fix Details: API V2 Payment callBack does not use String Query but POST Parameter
2.51
4 June 2020
- Fix userAgent Requirement for CC
- Fix Seller and cartData for E-Wallet
- Remove Unused JSON Button
2.50
4 June 2020
- Online Docs UI and UX Update
- Update E-Wallet Documentation
- Update Payloan Documentation
- Minor Fixes on Parameter Length and Type
- Add Git Link for Plugins and Libraries
- Update New POSTMAN Collection
2.15
17 May 2018
- Update card error code
2.13
14 May 2018
- Add parameter payment API timeStamp, merchantToken
2.12
18 April 2018
- Update Error Code
2.07
01 February 2018
- Add parameter CardHolderNm on Payment API
2.06
01 january 2018
- Add parameter fee on Payment, Notification, and Inquiry
2.05
15 December 2017
- Update Error Code
2.04
14 November 2017
- Change url from WWW to API
2.03
10 October 2017
- Add parameter cardExpYymm on Payment, Notification, and Inquiry API
2.02
10 July 2017
- Update Registration API
- Update Notification API
- Update Inquiry API
- Update Credit Card Installation information API
2.01
10 July 2017
- Add parameter Timestamp
2.00
06 July 2017
- Initial Release API Version 2
1.18.9
18 April 2018
- Update Error Code
1.18.5
1 February 2018
- Add parameter cardHolderNm on Payment API
1.17.2
29 Mar 2017
- Add ClickPay Payment
1.17.1
24 Mar 2017
- Add card installment API
- Add notification parameter