Credit Card
Langkah-langkah Transaksi:
- Request
onePassToken
. - Redirect ke Halaman 3DS/MIGS.
- Pembeli melakukan input
OTP
on 3DS page. - Merchant melakukan Registrasi transaksi.
- NICEPay mengirimkan notifikasi.
Request Token
Merchant wajib melakukan request onePassToken
untuk setiap transaksi Credit Card
menggunakan API V1 Enterprise.
Spesifikasi - Request Token
API url | /nicepay/api/onePassToken.do |
Request Method application/x-www-form-urlencoded | POST |
Deskripsi | Request onePassToken untuk melakukan transaksi Credit Card |
Merchant Token | SHA256(iMid +referenceNo +amt +merchantKey ) |
Payment Methods | 01 Credit Card |
Parameter Request - Request Token
Contoh API Request
curl --location --request POST 'https://dev.nicepay.co.id/nicepay/api/onePassToken.do' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'jsonData={"iMid":"IONPAYTEST","referenceNo":"99998","amt":"1000","cardNo":"1234567812345678","cardExpYymm":"2012","merchantToken":"0adb3b85d3d7e98b7d0b560bca3870a9b20552acaf3141263c467d1640a74530"}'
Parameter | Type | Size | Description | Example Value |
---|---|---|---|---|
iMid Required | AN | 10 | Merchant ID | IONPAYTEST |
merchantToken Required | AN | 255 | Merchant Token | c69fd0a2e36fb9d97fc8418f6b22699143a1177e570769dac2cf4d2008558946 |
cardNo Required | N | 16 | Card number | 5409123456789123 |
cardExpYYmm Required | N | 4 | Card expiry (YYMM) | 2012 |
cardHolderNm Required CIMB | AN | 50 | Card holder name | asdasdas |
amt Required | N | 12 | Payment amount | 10000 |
referenceNo Required | ANS | 40 | Merchant Order Number | ABC123 |
instmntType | N | 2 | Installment Type | 1 |
instmntMon | N | 2 | Installment month | 1 |
Parameter Response - Request Token
Contoh JSON response
{
"resultCd": "0000",
"cardToken": "ed5ce66bf69926c52cfa237c56fb38601f7c08985d385e615971a268b510db75",
"resultMsg": "SUCCESS",
"paymentType": "3"
}
Parameter | Type | Size | Deskripsi |
---|---|---|---|
resultCd | N | 4 | Result code |
resultMsg | AN | 255 | Result message |
cardToken | AN | 64 | Token Transaksi sekali pakai |
paymentType | N | 1 | Tipe Auth |
paymentType | Deskripsi |
---|---|
1 | 3D Secure |
2 | KeyIn (Langsung Tanpa 3DS/MIGS) |
3 | MIGS |
3DS Request
Gunakan API ini Jika mendapatkan paymentType = 1
dari response onePassToken.do
.
Langkah-langkah 3DS:
- Kirim Parameter Request ke 3DS Request API.
- Pembeli akan redirect ke halaman 3DS.
- Pembeli input OTP.
- NICEPay akan mengirimkan Respond Parameter ke
callbackUrl
.
Spesifikasi API - 3DS
API url | /nicepay/api/secureVeRequest.do |
Request Method application/x-www-form-urlencoded | POPUP or Redirect |
Deskripsi | Request halaman 3DS untuk paymentType = 1 |
Merchant Token | SHA256(iMid +referenceNo +amt +merchantKey ) |
Payment Methods | 01 Credit Card |
Parameter Request - 3DS
Contoh Request
https://www.nicepay.co.id/nicepay/api/secureVeRequest.do?country=360&callbackUrl={callbackUrl}&onePassToken={onePassToken}
Parameter | Type | Size | Deskripsi | Sample Data |
---|---|---|---|---|
country Required | N | 3 | Country | 360 |
callbackUrl Required | ANS | 200 | Callback Url | http://merchant.com/callback |
onePassToken Required | AN | 64 | Token Transaksi Sekali Pakai | c5bd0b91bcc3d21358cd004c60e54 579441c23aa8e7553b41ce3402db1113fff |
Parameter Response 3DS
Contoh Response Parameter
http://merchant.com/callbackUrl?resultCd={resultCd}&resultMsg={resultMsg}&referenceNo={referenceNo}&merchantToken={merchantToken}
Parameter | Type | Size | Description |
---|---|---|---|
resultCd | N | 4 | Result Code |
resultMsg | AN | 255 | Result Message |
referenceNo | ANS | 40 | Merchant Order Number |
merchantToken | AN | 255 | Merchant Token |
MIGS Request
Gunakan API ini Jika mendapatkan paymentType = 3
from onePassToken.do
response.
Langkah-langkah:
- Kirim Parameter Request ke MIGS Request API.
- Pembeli akan redirect ke halaman MIGS.
- Pembeli input OTP.
- NICEPay akan mengirimkan Respond Parameter ke
callbackUrl
.
Spesifikasi API - MIGS
API url | /nicepay/api/migsRequest.do |
Request Method application/x-www-form-urlencoded | POPUP or Redirect |
Deskripsi | Request halaman MIGS untuk paymentType = 3 |
Merchant Token | SHA256(iMid +referenceNo +amt +merchantKey ) |
Payment Methods | 01 Credit Card |
Parameter Request - MIGS
Contoh Parameter Request MIGS
https://www.nicepay.co.id/nicepay/api/migsRequest.do?instmntType=1&instmntMon=1&referenceNo={referenceNo}&cardCvv={cardCvv}&callbackUrl={callbackUrl}&onePassToken={onePassToken}
Parameter | Type | Size | Deskripsi | Contoh |
---|---|---|---|---|
instmntType | N | 2 | Installment Type | 1 |
instmntMon | N | 2 | Installment Month | 1 |
referenceNo Required | ANS | 40 | Merchant Order Number | OrdNo-125315314 |
cardCvv | N | 3 | Card CVV | 123 |
callbackUrl Required | ANS | 200 | Callback Url | http://merchant.com/callbackUrl |
onePassToken Required | AN | 64 | Token Transaksi Sekali Pakai | 92869482578275828fdvf432 |
Parameter Response - MIGS
Contoh Parameter Response MIGS
http://merchant.com/callbackUrl?resultCd={resultCd}&resultMsg={resultMsg}&referenceNo={referenceNo}&merchantToken={merchantToken}
Parameter | Type | Size | Description |
---|---|---|---|
resultCd | N | 4 | Result code |
resultMsg | AN | 255 | Result message |
Registrasi Credit Card
Spesifikasi API - CC Registration
API url | /nicepay/api/onePass.do |
Request Method application/x-www-form-urlencoded | POST |
Deskripsi | Mendaftarkan Transaksi dan melakukan Charge Credit Card menggunakan onePassToken |
Merchant Token | SHA256(iMid +referenceNo +amt +merchantKey ) |
Payment Methods | 01 Credit Card |
Parameter Request - CC Registration
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");
nicePay.setDeliveryPhone("08123456789");
nicePay.setDeliveryAddr("Billing Address ");
nicePay.setDeliveryCity("Jakarta ");
nicePay.setDeliveryState("Jakarta ");
nicePay.setDeliveryPostCd("12345");
nicePay.setDeliveryCountry("Indonesia ");
nicePay.setCallBackUrl(merchantDomain + "callback");
nicePay.setDbProcessUrl(merchantDomain + "dbprocess");
nicePay.setVat("0");
nicePay.setFee("0");
nicePay.setNotaxAmt("0");
nicePay.setDescription("Description");
nicePay.setUserIP("127.0.0.1");
nicePay.setMerchantToken(nicePay.makeToken(nicePay.getAmt(), nicePay.getReferenceNo()));
nicePay.setCartData("{}");
nicePay.setInstmntMon("1");
nicePay.setInstmntType("1");
nicePay.setRecurrOpt(“0”); // for Recurring
nicePay.setCardCvv("123");
nicePay.setOnePassToken("9338d54573688ae18e175240b0257de48d89c6ef1c9c7b5c094dc4beed9e435f");
nicePay.setCardExpYymm("2012")
// Payment Optional Field
nicePay.setReqDt("20160301");
nicePay.setReqTm("135959");
nicePay.setReqDomain("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.setPaymentExpiryDt("20160303");
nicePay.setPaymentExpiryTm("135959");
// Payment Request
nicePay.payment();
// 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 referenceNo= nicePay.Get("referenceNo");
String authNo= nicePay.Get("authNo");
String payMethod= nicePay.Get("payMethod");
String amount= nicePay.Get("amount");
String transDt = nicePay.Get("transDt ");
String transTm = nicePay.Get("transTm ");
String description= nicePay.Get("description");
String callbackUrl= nicePay.Get("callbackUrl");
protected void CheckOutCC(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(TbillingNm.Text) && !string.IsNullOrEmpty(onePassToken.Text) )
{
objNicepay.currency = "IDR";
//Populate Mandatory parameters to send
// payment type
objNicepay.PayMethod = "01";
// Total gross amount
objNicepay.amt = "100";
// Invoice Number or Referenc Number Generated by merchant
objNicepay.referenceNo = generateReference();
objNicepay.description = "Payment Invoice No. " + objNicepay.referenceNo;
// Transaction description
objNicepay.billingNm = "Donald Duck";
objNicepay.billingPhone = "021987456321";
objNicepay.billingEmail = "[email protected]";
objNicepay.billingAddr = "King of money street";
objNicepay.billingCity = "King";
objNicepay.billingState = "Money";
objNicepay.billingPostCd = "123654";
objNicepay.billingCountry = "Indonesia";
objNicepay.deliveryNm = "Donald Duck";
objNicepay.deliveryPhone = "021987456321";
objNicepay.deliveryEmail = "[email protected]";
objNicepay.deliveryAddr = "King of money street";
objNicepay.deliveryCity = "King";
objNicepay.deliveryState = "Money";
objNicepay.deliveryPostCd = "123654";
objNicepay.deliveryCountry = "Indonesia";
objNicepay.onePassToken = onePassToken.Text;
objNicepay.cardExpYymm = TcardExpYymm.Text;
objNicepay.cardCvv = TcardCvv.Text;
objResult = objNicepayClass.ChargeCard(objNicepay);
if (!string.IsNullOrEmpty(objResult.data.resultCd) & objResult.data.resultCd == "0000")
{
Tresult.InnerText = objResult.resultCd;
TtXid.InnerText = objResult.data.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;
wrapper.Visible = false;
Myresult.Visible = true;
}
else if (objResult.resultCd != null)
{
EresultCd.InnerText = objResult.resultCd;
EresultMsg.InnerText = objResult.resultMsg;
wrapper.Visible = false;
ErrData.Visible = true;
}
else
{
//Timeout, you can redirect back to checkout page Or echo error message.
//In this sample, we echo error message
ERR_.InnerText = "Connection Timeout. Please Try again.";
wrapper.Visible = false;
ERR.Visible = true;
}
}
}
<?php
// Include Config File
include_once "lib/NicepayLib.php";
$nicepay = new NicepayLib();
function generateReference()
{
$micro_date = microtime();
$date_array = explode(" ",$micro_date);
$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);
}
/*
* ____________________________________________________________
*
* Credit Card Payment Method
* ____________________________________________________________
*/
if(isset($_POST['payMethod'])
&& $_POST['payMethod'] == '01'
&& isset($_POST['billingNm'])
&& $_POST['billingNm']
&& isset($_POST['onePassToken'])
&& $_POST['onePassToken']
)
{
$billingNm = $_POST['billingNm'];
$onePassToken = $_POST['onePassToken'];
$cardExpYymm = $_POST['cardExpYymm'];
$cardCvv = $_POST['cardCvv'];
$referenceNo = $_POST['referenceNo'];
// Populate Mandatory parameters to send
$nicepay->set('payMethod', '01');
$nicepay->set('currency', 'IDR');
$nicepay->set('amt', 10000); // Total gross amount
$nicepay->set('referenceNo', $referenceNo); // 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. Jend. 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. Jend. Sudirman No. 28');
$nicepay->set('deliveryCity', 'Jakarta Pusat');
$nicepay->set('deliveryState', 'DKI Jakarta');
$nicepay->set('deliveryPostCd', '10210');
$nicepay->set('deliveryCountry', 'Indonesia');
$nicepay->set('onePassToken', $onePassToken);
$nicepay->set('cardExpYymm', $cardExpYymm);
$nicepay->set('cardCvv', $cardCvv);
// Send Data
$response = $nicepay->chargeCard();
// Response from NICEPAY
if (isset($response->resultCd) && $response->resultCd == "0000") {
echo "<pre>";
echo "tXid : $response->tXid\n";
echo "callbackUrl : $response->callbackUrl\n";
echo "description : $response->description\n";
echo "payment date : $response->transDt\n"; // YYYYMMDD
echo "payment time : $response->transTm\n"; // HH24MISS
echo "result code : $response->resultCd\n";
echo "result message : $response->resultMsg\n";
echo "reference no : $response->referenceNo\n";
echo "payment method : $response->payMethod\n";
echo "recurring token : $response->recurringToken";
echo "</pre>";
} elseif(isset($response->resultCd)) {
// API data not correct or error happened in bank system, you can redirect back to checkout page or echo error message.
// In this sample, we echo error message
echo "<pre>";
echo "Oops! Something happened, please notice your system administrator.\n\n";
echo "result code : $response->resultCd\n";
echo "result message : $response->resultMsg\n";
echo "</pre>";
} else {
// Timeout, you can redirect back to checkout page or echo error message.
// In this sample, we echo error message
echo "<pre>Connection Timeout. Please Try again.</pre>";
}
}
?>
import json
from nicepay import NICEPay
#Set MID & Merchant Key
NICEPay.iMid = "BMRITEST01" #Set Merchant ID
NICEPay.merchantKey = "33F49GnCMS1mFYlGXisbUDzVf2ATWCl9k3R++d5hDd3Frmuos/XLx8XhXpe+LDYAbpGKZYSwtlyyLOtS/8aD7A==" #Set Merchant Key
#Set Mandatory Value
NICEPay.payMethod = "01" #Set Payment Method
NICEPay.amt = "100" #Total Gross Amount
NICEPay.referenceNo = "NiceTest00003" #Invoice Number By Merchant
NICEPay.goodsNm = NICEPay.referenceNo #Goods Name
NICEPay.billingNm = "John Doe"
NICEPay.billingPhone = "02112345678"
NICEPay.billingEmail = "[email protected]`m"
NICEPay.billingAddr = "Jl. Jend. Sudirman No. 28"
NICEPay.billingCity = "Jakarta Pusat"
NICEPay.billingState = "DKI Jakarta"
NICEPay.billingPostCd = "10210"
NICEPay.billingCountry = "Indonesia"
NICEPay.callBackUrl = "http://example.com/callback"
NICEPay.dbProcessUrl = "https://example.com/notification-handler.php"
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"
NICEPay.cardCvv = "321"
NICEPay.ccOnePassToken = "e76b6b65dbd4a854699ee8628f0cf62916a16216bb133902d75159593fc1ed08"
# // Payment Request
resultData = NICEPay.apiRequest()
result = json.loads(resultData)
#Payment Response String Format
try:
result['resultCd']
except NameError:
print "Connection Timeout. Please Try Again!"
else:
if result['resultCd'] == '0000':
print("resultCd : " + result['resultCd'])
print("resultMsg : " + result['resultMsg'])
print("tXid : " + result['tXid'])
print("referenceNo : " + result['referenceNo'])
print("payMethod : " + result['payMethod'])
print("amount : " + result['amount'])
print("transDt : " + result['transDt'])
print("transTm : " + result['transTm'])
print("description : " + result['description'])
print("callbackUrl : " + result['callbackUrl'])
print("authNo : " + result['authNo'])
else:
print("resultCd : " + result['resultCd'])
print("resultMsg : " + result['resultMsg'])
Parameter | Type | Size | Description | Sample Data |
---|---|---|---|---|
iMid Required | AN | 10 | Merchant ID | IONPAYTEST |
payMethod Required | N | 2 | Pay Method | 01 |
currency Required | A | 3 | Currency | IDR |
amt Required | N | 12 | Goods Amount | 1000 |
referenceNo Required | ANS | 40 | Merchant Order No | MerchantReferenceNumber001 |
goodsNm Required | AN | 100 | Goods Name | Merchant Goods 1 |
billingNm Required | A | 30 | Billing Name | Buyer Name |
billingPhone Required | N | 15 | Billing Phone Number | 02112345678 |
billingEmail Required | ANS | 40 | Billing Email | [email protected] |
billingCity Required | A | 50 | Billing City | Jakarta |
billingState Required | A | 50 | Billing State | Jakarta |
billingPostCd Required | N | 10 | Billing Post Number | 12345 |
billingCountry Required | A | 10 | Billing Country | Indonesia |
callBackUrl Required | ANS | 255 | Payment Result Forward Url (On Browser) | www.merchant.com/callback |
dbProcessUrl Required | ANS | 255 | Payment Result Receive Url (Server Side) | www.merchant.com/dbprocess |
description Required | AN | 100 | Description | Description |
merchantToken Required | AN | 255 | Merchant Token | 6cfccfc0046773c1b589d8e98... |
userIP Required | ANS | 15 | User IP | 127.0.0.1 |
cartData Required | ANS | 4000 | Cart Data (Json Format) | {} |
instmntType Required | N | 2 | Installment Type | 1 |
instmntMon Required | N | 2 | Installment Month | 1 |
cardCvv | N | 3 | Card CVV | 123 |
onePassToken Required | AN | One time use Token | 9338d54573688ae18e175240b0257 de48d89c6ef1c9c7b5c094dc4beed9e435f | |
recurrOpt Required for Recurring CC | N | 2 | 0 Automatic Cancel1 Do not cancel2 Do not make token | 1 |
billingAddr | AN | Billing Address | Billing Address | |
deliveryNm | A | 30 | Delivery Name | Buyer Name |
deliveryPhone | N | 15 | Delivery Phone | 02112345678 |
deliveryAddr | AN | 100 | Delivery Address | Billing Address |
deliveryEmail | AN | Delivery Email | [email protected] | |
deliveryCity | A | 50 | Delivery City | Jakarta |
deliveryState | A | 50 | Delivery State | Jakarta |
deliveryPostCd | N | 10 | Delivery Post Number | 12345 |
deliveryCountry | A | 10 | Delivery Country | Indonesia |
vat | N | 12 | Vat | 0 |
fee | N | 12 | Service Tax | 0 |
notaxAmt | N | 12 | Tax Free Amount | 0 |
reqDt | N | 8 | Request Date (YYYYMMDD) | 20160301 |
reqTm | N | 6 | Request Time (HH24MISS) | 135959 |
reqDomain | ANS | 100 | Request Domain | merchant.com |
reqServerIP | ANS | 15 | Request Server IP | 127.0.0.1 |
reqClientVer | ANS | 50 | Request Client Version | 1.0 |
userSessionID | AN | 100 | User Session ID | userSessionID |
userAgent | ANS | 100 | User Agent Information | Mozilla |
userLanguage | ANS | User Language | en-US |
Parameter Response - CC Registration
Contoh JSON Response
{
"resultCd": "0000",
"amount": "1000",
"authNo": "005911",
"referenceNo": "Ref20170526111736065300000988",
"transTm": "112041",
"recurringToken": "",
"tXid": "BMRITEST0101201705261120395118",
"description": "Payment Of Ref No.Ref20170526111736065300000988",
"cardNo": "123456******3456",
"resultMsg": "SUCCESS",
"payMethod": "01",
"callbackUrl": "http://www.merchant.com/ExampleCallback",
"transDt": "20170526",
"issuBankCd": "CENA",
"issuBankNm": "PT Bank Central Asia, TBK",
"acquBankCd": "BMRI",
"acquBankNm": "PT Bank Mandiri (Persero)"
}
Parameter | Type | Size | Description |
---|---|---|---|
resultCd | N | 4 | Result Code |
resultMsg | AN | 255 | Result Message |
tXid | AN | 30 | Transaction ID |
referenceNo | ANS | 40 | Merchant Order No |
payMethod | N | 2 | Payment Method |
amount | N | 12 | Transaction Amount |
currency | AN | 3 | Currency |
goodsNm | N | 100 | Goods Name |
billingNm | N | 30 | Buyer Name |
transDt | N | 8 | Transaction date (YYYYMMDD) |
transTm | N | 6 | Transaction time (HH24MISS) |
description | AN | 100 | Transaction description |
callbackUrl | ANS | 100 | Callback Url |
authNo | N | 10 | Authorization Number |
issuBankCd | A | 4 | Issue Bank Code |
issuBankNm | A | Issue Bank Name. | |
acquBankCd | A | 4 | Acquire Bank Code |
acquBankNm | A | Acquire Bank Name. | |
cardNo | ANS | 20 | Card Number (Masked) |
instmntMon | N | 2 | Installment month |
instmntType | N | 2 | Installment type |
recurringToken | AN | 64 | Token for Recurring Payment |
preauthToken | AN | 64 | Token for Preauth Payment |
ccTransType | N | 2 | Credit Card Transaction Type |
vat | N | 12 | Vat number |
fee | N | 12 | Service fee |
notaxAmt | N | 12 | Tax free amount |
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 |
Virtual Account
NICEPay menawarkan Virtual Account sebagai metode pembayaran. Dengan ini Pembeli dapat melakukan pembayaran melalui ATM, SMS Banking, Internet Banking, atau Mobile Banking. Real time Notification akan dikirimkan ketika pembeli berhasil melakukan pembayaran.
Virtual Account Bank yang Didukung NICEPay:
- Bank Mandiri
- Bank International Indonesia Maybank
- Bank Permata
- Bank Permata Syariah
- Bank Central Asia (BCA)
- Bank Negara Indonesia 46 (BNI)
- Bank KEB Hana Indonesia
- Bank Rakyat Indonesia (BRI)
- Bank CIMB Niaga
- Bank DANAMON
Kami juga mendukung pembayaran Virtual Account dari Bank lain melalui ATM BERSAMA, ALTO, LINK, and PRIMA.
Alur Transaksi
- Merchant melakukan Request untuk Registrasi VA.
- Merchant menampilkan detail dan cara pembayaran.
- Pembeli melakukan pembayaran dengan channel yang diinginkan (m-Banking, Atm, dll).
- NICEPay mengirimkan Notifikasi ke Merchant.
Registrasi Virtual Account
Spesifikasi - VA Registration
API url | /nicepay/api/onePass.do |
Request Method application/x-www-form-urlencoded | POST |
Deskripsi | Request vacctNo untuk pembayaran Virtual Account |
Merchant Token | SHA256(iMid +referenceNo +amt +merchantKey ) |
Payment Methods | 02 Virtual Account |
Parameter Request - VA Registration
Contoh API Request
// Payment Mandatory Field
nicePay.setPayMethod("02");
nicePay.setCurrency("IDR");
nicePay.setAmt("1000");
nicePay.setReferenceNo("MerchantReferenceNumber001");
nicePay.setBankCd("BMRI");
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(merchantDomain + "callback");
nicePay.setDbProcessUrl(merchantDomain + "dbprocess");
nicePay.setVat("0");
nicePay.setFee("0");
nicePay.setNotaxAmt("0");
nicePay.setDescription("Description");
nicePay.setUserIP("127.0.0.1");
nicePay.setMerchantToken(nicePay.makeToken(nicePay.getAmt(), nicePay.getReferenceNo()));
nicePay.setCartData("{}");
// Payment Optional Field
nicePay.setReqDt("20160301");
nicePay.setReqTm("135959");
nicePay.setReqDomain("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.setPaymentExpiryDt("20160303");
nicePay.setPaymentExpiryTm("135959");
nicePay.setVacctValidDt("20160303");
nicePay.setVacctValidTm("135959");
// Payment Request
nicePay.payment();
// 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 referenceNo= nicePay.Get("referenceNo");
String bankVacctNo= nicePay.Get("bankVacctNo");
String payMethod= nicePay.Get("payMethod");
String amount= nicePay.Get("amount");
String transDt = nicePay.Get("transDt ");
String transTm = nicePay.Get("transTm ");
String description= nicePay.Get("description");
String callbackUrl= nicePay.Get("callbackUrl");
protected void CheckOut(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(BankCd.SelectedValue))
{
objNicepay.currency = "IDR";
objNicepay.BankCd = BankCd.SelectedValue;
objNicepay.DateNow = DateTime.Now.ToString("yyyymmdd");
// Set VA expiry date +1 day (optional)
objNicepay.vaExpDate = DateTime.Now.AddDays(1).ToString("yyyymmdd");
//Populate Mandatory parameters to send
// payment type Bank
objNicepay.PayMethod = "02";
// Total gross amount
objNicepay.amt = "100";
// Invoice Number or Referenc Number Generated by merchant
objNicepay.referenceNo = generateReference();
objNicepay.description = "Payment Invoice No. " + objNicepay.referenceNo;
// Transaction description
objNicepay.billingNm = "Donald Duck";
objNicepay.billingPhone = "021987456321";
objNicepay.billingEmail = "[email protected]";
objNicepay.billingAddr = "King of money street";
objNicepay.billingCity = "King";
objNicepay.billingState = "Money";
objNicepay.billingPostCd = "123654";
objNicepay.billingCountry = "Indonesia";
objNicepay.deliveryNm = "Donald Duck";
objNicepay.deliveryPhone = "021987456321";
objNicepay.deliveryEmail = "[email protected]";
objNicepay.deliveryAddr = "King of money street";
objNicepay.deliveryCity = "King";
objNicepay.deliveryState = "Money";
objNicepay.deliveryPostCd = "123654";
objNicepay.deliveryCountry = "Indonesia";
objNicepay.vacctValidDt = objNicepay.vaExpDate;
objNicepay.vacctValidTm = DateTime.Now.ToString("hhmmss");
objResult = objNicepayClass.CreateVA(objNicepay);
if (objResult.resultCd == "0000")
{
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;
tbankVacctNo.InnerText = objResult.bankVacctNo;
TresultMsg.InnerText = objResult.resultMsg;
wrapper.Visible = false;
Myresult.Visible = true;
}
else if (objResult.resultCd != null)
{
//API data Not correct, you can redirect back to checkout page Or echo error message.
//In this sample, we echo error message
EresultCd.InnerText = objResult.resultCd;
EresultMsg.InnerText = objResult.resultMsg;
wrapper.Visible = false;
ErrData.Visible = true;
}
else
{
//Timeout, you can redirect back to checkout page Or echo error message.
//In this sample, we echo error message
ERR_.InnerText = "Connection Timeout. Please Try again.";
wrapper.Visible = false;
ERR.Visible = true;
}
}
}
<?php
// Include Config File
include_once "lib/NicepayLib.php";
$nicepay = new NicepayLib();
function generateReference()
{
$micro_date = microtime();
$date_array = explode(" ",$micro_date);
$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'] == '02'
&& isset($_POST['bankCd']) && $_POST['bankCd'])
{
$billingNm = $_POST['billingNm'];
$referenceNo = $_POST['referenceNo'];
$bankCd = $_POST['bankCd'];
// Populate Mandatory parameters to send
$nicepay->set('payMethod', '02');
$nicepay->set('currency', 'IDR');
$nicepay->set('amt', 10000); // Total gross amount
$nicepay->set('referenceNo', $referenceNo); // Invoice Number or Reference Number Generated by merchant
$nicepay->set('description', 'Payment of Invoice No '.$nicepay->get('referenceNo')); // Transaction description
$nicepay->set('bankCd', $bankCd);
$nicepay->set('billingNm', 'John Doe'); // Customer name
$nicepay->set('billingPhone', '02112345678'); // Customer phone number
$nicepay->set('billingEmail', '[email protected]'); //
$nicepay->set('billingAddr', 'Jl. Jend. 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. Jend. Sudirman No. 28');
$nicepay->set('deliveryCity', 'Jakarta Pusat');
$nicepay->set('deliveryState', 'DKI Jakarta');
$nicepay->set('deliveryPostCd', '10210');
$nicepay->set('deliveryCountry', 'Indonesia');
// Send Data
$response = $nicepay->requestVA();
// Response from NICEPAY
if (isset($response->resultCd) && $response->resultCd == "0000") {
echo "<pre>";
echo "tXid : $response->tXid\n";
echo "callbackUrl : $response->callbackUrl\n";
echo "description : $response->description\n";
echo "payment date : $response->transDt\n"; // YYYYMMDD
echo "payment time : $response->transTm\n"; // HH24MISS
echo "virtual account : $response->bankVacctNo\n";
echo "result code : $response->resultCd\n";
echo "result message : $response->resultMsg\n";
echo "reference no : $response->referenceNo\n";
echo "payment method : $response->payMethod\n";
echo "</pre>";
} elseif(isset($response->resultCd)) {
// API data not correct or error happened in bank system, you can redirect back to checkout page or echo error message.
// In this sample, we echo error message
echo "<pre>";
echo "Oops! Something happened, please notice your system administrator.\n\n";
echo "result code : $response->resultCd\n";
echo "result message : $response->resultMsg\n";
echo "</pre>";
} else {
// Timeout, you can redirect back to checkout page or echo error message.
// In this sample, we echo error message
echo "<pre>Connection Timeout. Please Try again.</pre>";
}
}
?>
import json
from nicepay import NICEPay
#Set MID & Merchant Key
NICEPay.iMid = "BMRITEST01" #Set Merchant ID
NICEPay.merchantKey = "33F49GnCMS1mFYlGXisbUDzVf2ATWCl9k3R++d5hDd3Frmuos/XLx8XhXpe+LDYAbpGKZYSwtlyyLOtS/8aD7A==" #Set Merchant Key
#Set Mandatory Value
NICEPay.payMethod = "02" #Set Payment Method
NICEPay.amt = "1000" #Total Gross Amount
NICEPay.referenceNo = "NiceTest00003" #Invoice Number By Merchant
NICEPay.goodsNm = NICEPay.referenceNo #Goods Name
NICEPay.billingNm = "John Doe"
NICEPay.billingPhone = "02112345678"
NICEPay.billingEmail = "[email protected]`m"
NICEPay.billingAddr = "Jl. Jend. Sudirman No. 28"
NICEPay.billingCity = "Jakarta Pusat"
NICEPay.billingState = "DKI Jakarta"
NICEPay.billingPostCd = "10210"
NICEPay.billingCountry = "Indonesia"
NICEPay.callBackUrl = "http://example.com/callback"
NICEPay.dbProcessUrl = "https://example.com/notification-handler.php"
NICEPay.description = "Payment Of Ref No." + NICEPay.referenceNo
NICEPay.merchantToken = NICEPay.getMerchantToken()
NICEPay.userIP = NICEPay.getUserIp()
NICEPay.cartData = "{}" #Json Array Value
NICEPay.bankCd = "BMRI"
NICEPay.vacctValidDt = "20160303"
NICEPay.vacctValidTm = "135959"
# // Payment Request
resultData = NICEPay.apiRequest()
result = json.loads(resultData)
#Payment Response String Format
try:
result['resultCd']
except NameError:
print "Connection Timeout. Please Try Again!"
else:
if result['resultCd'] == '0000':
print("resultCd : " + result['resultCd'])
print("resultMsg : " + result['resultMsg'])
print("tXid : " + result['tXid'])
print("referenceNo : " + result['referenceNo'])
print("payMethod : " + result['payMethod'])
print("amount : " + result['amount'])
print("transDt : " + result['transDt'])
print("transTm : " + result['transTm'])
print("description : " + result['description'])
print("callbackUrl : " + result['callbackUrl'])
print("bankVacctNo : " + result['bankVacctNo'])
else:
print("resultCd : " + result['resultCd'])
print("resultMsg : " + result['resultMsg'])
Parameter | Type | Size | Description | Example Value |
---|---|---|---|---|
iMid Required | AN | 10 | Merchant ID | IONPAYTEST |
payMethod Required | N | 2 | Pay Method | 02 |
currency Required | A | 3 | Currency | IDR |
amt Required | N | 12 | Goods Amount | 15000 |
referenceNo Required | ANS | 40 | Merchant Order No | ordNo123124 |
goodsNm Required | AN | 100 | Goods Name | Test Goods |
billingNm Required | A | 30 | Billing Name | John Doe |
billingPhone Required | N | 15 | Billing Phone Number | 081249195 |
billingEmail Required | ANS | 40 | Billing Email | [email protected] |
billingCity Required | A | 50 | Billing City | Jakarta |
billingState Required | A | 50 | Billing State | DKI Jakarta |
billingPostCd Required | N | 10 | Billing Post Number | 14350 |
billingCountry Required | A | 10 | Billing Country | Indonesia |
callBackUrl Required | ANS | 255 | Payment Result Url | https://merchant.com/callBackUrl |
dbProcessUrl Required | ANS | 255 | Payment Notif Url | https://merchant.com/dbProcessUrl |
description Required | AN | 100 | Description | test item |
merchantToken Required | AN | 255 | Merchant Token | 6cfccfc0046773c1b589d8e 98f8b596c284f3c70a4ecf8 6eba14c18944b74bcd |
userIP Required | ANS | 15 | User IP (Customer) | 127.0.0.1 |
cartData Required | JSON OBJECT | 4000 | Cart Data (Json Format) | {} |
bankCd Required | A | 4 | Bank Code | CENA |
billingAddr | AN | AN | Billing Address | Jln Cendrawasih |
deliveryNm | A | 30 | Delivery Name | JohnDoe |
deliveryPhone | N | 15 | Delivery Phone | 08125912342 |
deliveryAddr | AN | 100 | Delivery Address | Jln Merak |
deliveryEmail | ANS | Delivery Email | [email protected] | [email protected] |
deliveryCity | A | 50 | Delivery City | Jakarta |
deliveryState | A | 50 | Delivery State | DKI Jakarta |
deliveryPostCd | N | 10 | Delivery Post Code | 14350 |
deliveryCountry | A | 10 | Delivery Country | Indonesia |
vat | N | 12 | Vat | 0 |
fee | N | 12 | Service Tax | 0 |
notaxAmt | N | 12 | Tax Free Amount | 0 |
reqDt | N | 8 | Request Date (YYYYMMDD) | 20160301 |
reqTm | N | 6 | Request Time (HH24MISS) | 135959 |
reqDomain | ANS | 100 | Request Domain | merchant.com |
reqServerIP | ANS | 15 | Request Server IP | 127.0.0.1 |
reqClientVer | ANS | 50 | Request Client Version | 1.0 |
userSessionID | AN | 100 | User Session ID | userSessionID |
userAgent | ANS | 100 | User Agent | Mozilla |
userLanguage | ANS | User Language | en-US | |
vacctValidDt | N | 8 | VA expiry date (YYYYMMDD) | 20200303 |
vacctValidTm | N | 6 | VA expiry time (HH24MISS) | 135959 |
Parameter Response - VA Registration
Contoh JSON Response
{
"resultCd": "0000",
"amount": "10000",
"goodsNm": "Test Transaction Nicepay",
"referenceNo": "99997",
"transTm": "104721",
"tXid": "TESTIDTEST02201803011047210789",
"description": "Payment of referenceNo 99997,This Description",
"bankVacctNo": "1047210789",
"resultMsg": "SUCCESS",
"billingNm": "Thomas Alfa Edison",
"vacctValidDt": "20180308",
"payMethod": "02",
"bankCd": "BMRI",
"callbackUrl": "http://www.merchant.com/callbackUrl",
"currency": "IDR",
"transDt": "20180301",
"vacctValidTm": "235959"
}
Parameter | Type | Size | Deskripsi |
---|---|---|---|
resultCd | N | 4 | Result Code |
resultMsg | AN | 255 | Result Message |
tXid | AN | 30 | Transaction ID |
referenceNo | ANS | 40 | Merchant Order No |
payMethod | N | 2 | Payment Method |
amount | N | 12 | Nominal Transaksi |
currency | A | 3 | Currency |
goodsNm | N | 100 | Nama Barang |
billingNm | N | 30 | Nama Pembeli |
transDt | N | 8 | Tgl Transaksi (YYYYMMDD) |
transTm | N | 6 | Waktu Transaksu (HH24MISS) |
description | ANS | 100 | Deskripsi |
callbackUrl | ANS | 100 | Callback Url |
bankCd | A | 4 | Bank Code |
bankVacctNo | N | 20 | Nomor Virtual Account |
vacctValidDt | N | 8 | VA expiry date |
vacctValidTm | N | 6 | VA expiry time |
Convenience Store
NICEPay menawarkan pembayaran melalui Toserba (Convenience Store) seperti Alfamart dan Indomaret yang akan mempermudah pengalaman berbelanja bagi pelanggan anda.
Mitra Toserba NICEPay
- Alfamart
- Indomaret
- Lawson
- Alfamidi
- Dan+Dan Store
Alur Transaksi
- Merchant melakukan Request Registrasi CVS ke NICEPay.
- Merchant menampilkan detail dan cara pembayaran.
- Pembeli melakukan pembayaran dengan mengunjungi Toko Mitra terdekat.
- NICEPay mengirimkan Notifikasi real-time ke Merchant.
Registrasi CVS
Spesifikasi API - CVS Registration
API url | /nicepay/api/onePass.do |
Request Method application/x-www-form-urlencoded | POST |
Deskripsi | Request payNo untuk melakukan pembayaran CVS di Mitra |
Merchant Token | SHA256(iMid +referenceNo +amt +merchantKey ) |
Payment Methods | 03 Convenience Store |
Parameter Request - CVS Registration
Contoh Request
// Payment Mandatory Field
nicePay.setPayMethod("03");
nicePay.setCurrency("IDR");
nicePay.setAmt("1000");
nicePay.setReferenceNo("MerchantReferenceNumber001");
nicePay.setMitraCd("ALMA");
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");
nicePay.setDeliveryPhone("081234567890");
nicePay.setDeliveryAddr("Billing Address ");
nicePay.setDeliveryCity("Jakarta ");
nicePay.setDeliveryState("Jakarta ");
nicePay.setDeliveryPostCd("12345");
nicePay.setDeliveryCountry("Indonesia ");
nicePay.setCallBackUrl(merchantDomain + "callback");
nicePay.setDbProcessUrl(merchantDomain + "dbprocess");
nicePay.setVat("0");
nicePay.setFee("0");
nicePay.setNotaxAmt("0");
nicePay.setDescription("Description");
nicePay.setUserIP("127.0.0.1");
nicePay.setMerchantToken(nicePay.makeToken(nicePay.getAmt(), nicePay.getReferenceNo()));
nicePay.setCartData("{}");
// Payment Optional Field
nicePay.setReqDt("20160301");
nicePay.setReqTm("135959");
nicePay.setReqDomain("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.setPaymentExpiryDt("20160303");
nicePay.setPaymentExpiryTm("135959");
nicePay.setPayValidDt("20160303");
nicePay.setPayValidTm("135959");
// Payment Request
nicePay.payment();
// 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 referenceNo= nicePay.Get("referenceNo");
String payNo= nicePay.Get("payNo");
String payMethod= nicePay.Get("payMethod");
String amount= nicePay.Get("amount");
String transDt = nicePay.Get("transDt ");
String transTm = nicePay.Get("transTm ");
String description= nicePay.Get("description");
String callbackUrl= nicePay.Get("callbackUrl");
String mitraCd= nicePay.Get("mitraCd");
protected void CheckOut(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(BankCd.SelectedValue))
{
objNicepay.currency = "IDR";
objNicepay.DateNow = DateTime.Now.ToString("yyyymmdd");
// Set VA expiry date +1 day (optional)
objNicepay.vaExpDate = DateTime.Now.AddDays(1).ToString("yyyymmdd");
//Populate Mandatory parameters to send
// payment type Bank
objNicepay.PayMethod = "03";
// Total gross amount
objNicepay.amt = "10000";
// Invoice Number or Referenc Number Generated by merchant
objNicepay.referenceNo = generateReference();
objNicepay.description = "Payment Invoice No. " + objNicepay.referenceNo;
// Transaction description
objNicepay.billingNm = "Donald Duck";
objNicepay.billingPhone = "021987456321";
objNicepay.billingEmail = "[email protected]";
objNicepay.billingAddr = "King of money street";
objNicepay.billingCity = "King";
objNicepay.billingState = "Money";
objNicepay.billingPostCd = "123654";
objNicepay.billingCountry = "Indonesia";
objNicepay.deliveryNm = "Donald Duck";
objNicepay.deliveryPhone = "021987456321";
objNicepay.deliveryEmail = "[email protected]";
objNicepay.deliveryAddr = "King of money street";
objNicepay.deliveryCity = "King";
objNicepay.deliveryState = "Money";
objNicepay.deliveryPostCd = "123654";
objNicepay.deliveryCountry = "Indonesia";
objNicepay.MitraCd = "ALMA";
objNicepay.PayValidDt = "20170404";
objNicepay.PayValidTm = "131300";
objResult = objNicepayClass.CreateCVS(objNicepay);
if (objResult.resultCd == "0000")
{
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;
payNo.InnerText = objResult.payNo;
TresultMsg.InnerText = objResult.resultMsg;
mitraCd.InnerText = objResult.mitraCd;
amount.InnerText = objResult.amount;
wrapper.Visible = false;
Myresult.Visible = true;
}
else if (objResult.resultCd != null)
{
//API data Not correct, you can redirect back to checkout page Or echo error message.
//In this sample, we echo error message
EresultCd.InnerText = objResult.resultCd;
EresultMsg.InnerText = objResult.resultMsg;
wrapper.Visible = false;
ErrData.Visible = true;
}
else
{
//Timeout, you can redirect back to checkout page Or echo error message.
//In this sample, we echo error message
ERR_.InnerText = "Connection Timeout. Please Try again.";
wrapper.Visible = false;
ERR.Visible = true;
}
}
}
<?php
// Include Config File
include_once "lib/NicepayLib.php";
$nicepay = new NicepayLib();
function generateReference()
{
$micro_date = microtime();
$date_array = explode(" ",$micro_date);
$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'] == '03'
&& isset($_POST['mitraCd']) && $_POST['mitraCd'])
{
$billingNm = $_POST['billingNm'];
$referenceNo = $_POST['referenceNo'];
$mitraCd = $_POST['mitraCd'];
// Populate Mandatory parameters to send
$nicepay->set('payMethod', '03');
$nicepay->set('currency', 'IDR');
$nicepay->set('amt', 10000); // Total gross amount
$nicepay->set('referenceNo', $referenceNo); // Invoice Number or Reference Number Generated by merchant
$nicepay->set('description', 'Payment of Invoice No '.$nicepay->get('referenceNo')); // Transaction description
$nicepay->set('mitraCd', $mitraCd);
$nicepay->set('billingNm', 'John Doe'); // Customer name
$nicepay->set('billingPhone', '02112345678'); // Customer phone number
$nicepay->set('billingEmail', '[email protected]'); //
$nicepay->set('billingAddr', 'Jl. Jend. 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. Jend. Sudirman No. 28');
$nicepay->set('deliveryCity', 'Jakarta Pusat');
$nicepay->set('deliveryState', 'DKI Jakarta');
$nicepay->set('deliveryPostCd', '10210');
$nicepay->set('deliveryCountry', 'Indonesia');
// Send Data
$response = $nicepay->requestCVS();
// Response from NICEPAY
if (isset($response->resultCd) && $response->resultCd == "0000") {
echo "<pre>";
echo "tXid : $response->tXid\n";
echo "callbackUrl : $response->callbackUrl\n";
echo "description : $response->description\n";
echo "payment date : $response->transDt\n"; // YYYYMMDD
echo "payment time : $response->transTm\n"; // HH24MISS
echo "pay number : $response->payNo\n";
echo "result code : $response->resultCd\n";
echo "result message : $response->resultMsg\n";
echo "reference no : $response->referenceNo\n";
echo "payment method : $response->payMethod\n";
echo "</pre>";
} elseif(isset($response->resultCd)) {
// API data not correct or error happened in bank system, you can redirect back to checkout page or echo error message.
// In this sample, we echo error message
echo "<pre>";
echo "Oops! Something happened, please notice your system administrator.\n\n";
echo "result code : $response->resultCd\n";
echo "result message : $response->resultMsg\n";
echo "</pre>";
} else {
// Timeout, you can redirect back to checkout page or echo error message.
// In this sample, we echo error message
echo "<pre>Connection Timeout. Please Try again.</pre>";
}
}
?>
import json
from nicepay import NICEPay
#Set MID & Merchant Key
NICEPay.iMid = "BMRITEST01" #Set Merchant ID
NICEPay.merchantKey = "33F49GnCMS1mFYlGXisbUDzVf2ATWCl9k3R++d5hDd3Frmuos/XLx8XhXpe+LDYAbpGKZYSwtlyyLOtS/8aD7A==" #Set Merchant Key
#Set Mandatory Value
NICEPay.payMethod = "03" #Set Payment Method
NICEPay.amt = "1000" #Total Gross Amount
NICEPay.referenceNo = "NiceTest00003" #Invoice Number By Merchant
NICEPay.goodsNm = NICEPay.referenceNo #Goods Name
NICEPay.billingNm = "John Doe"
NICEPay.billingPhone = "02112345678"
NICEPay.billingEmail = "[email protected]`m"
NICEPay.billingAddr = "Jl. Jend. Sudirman No. 28"
NICEPay.billingCity = "Jakarta Pusat"
NICEPay.billingState = "DKI Jakarta"
NICEPay.billingPostCd = "10210"
NICEPay.billingCountry = "Indonesia"
NICEPay.callBackUrl = "http://example.com/callback"
NICEPay.dbProcessUrl = "https://example.com/notification-handler.php"
NICEPay.description = "Payment Of Ref No." + NICEPay.referenceNo
NICEPay.merchantToken = NICEPay.getMerchantToken()
NICEPay.userIP = NICEPay.getUserIp()
NICEPay.cartData = "{}" #Json Array Value
NICEPay.mitraCd = "INDO"
NICEPay.payValidDt = "20160303"
NICEPay.payValidTm = "135959"
# // Payment Request
resultData = NICEPay.apiRequest()
result = json.loads(resultData)
#Payment Response String Format
try:
result['resultCd']
except NameError:
print "Connection Timeout. Please Try Again!"
else:
if result['resultCd'] == '0000':
print("resultCd : " + result['resultCd'])
print("resultMsg : " + result['resultMsg'])
print("tXid : " + result['tXid'])
print("referenceNo : " + result['referenceNo'])
print("payMethod : " + result['payMethod'])
print("amount : " + result['amount'])
print("transDt : " + result['transDt'])
print("transTm : " + result['transTm'])
print("description : " + result['description'])
print("callbackUrl : " + result['callbackUrl'])
print("payNo : " + result['payNo'])
print("mitraCd : " + result['mitraCd'])
else:
print("resultCd : " + result['resultCd'])
print("resultMsg : " + result['resultMsg'])
Parameter | Type | Size | Description | Example Value |
---|---|---|---|---|
iMid Required | AN | 10 | Merchant ID | IONPAYTEST |
payMethod Required | N | 2 | Pay Method | 03 |
currency Required | A | 3 | Currency | IDR |
amt Required | N | 12 | Goods Amount | 15000 |
referenceNo Required | ANS | 40 | Merchant Order No | ordNo123124 |
goodsNm Required | AN | 100 | Goods Name | Test Goods |
billingNm Required | A | 30 | Billing Name | John Doe |
billingPhone Required | N | 15 | Billing Phone Number | 081249195 |
billingEmail Required | ANS | 40 | Billing Email | [email protected] |
billingCity Required | A | 50 | Billing City | Jakarta |
billingState Required | A | 50 | Billing State | DKI Jakarta |
billingPostCd Required | N | 10 | Billing Post Number | 14350 |
billingCountry Required | A | 10 | Billing Country | Indonesia |
callBackUrl Required | ANS | 255 | Payment Result Page | https://merchant.com/callBackUrl |
dbProcessUrl Required | ANS | 255 | Payment Notif Url | https://merchant.com/dbProcessUrl |
description Required | AN | 100 | Description | test item |
merchantToken Required | AN | 255 | Merchant Token | 6cfccfc0046773c1b589d8e 98f8b596c284f3c70a4ecf8 6eba14c18944b74bcd |
userIP Required | ANS | 15 | User IP (Customer) | 127.0.0.1 |
cartData Required | JSON Object | 4000 | Cart Data (Json Format) | {} |
mitraCd Required | A | 4 | Mitra Code | ALMA |
billingAddr | AN | 100 | Billing Address | Jln Cendrawasih |
deliveryNm | A | 30 | Delivery Name | JohnDoe |
deliveryPhone | N | 15 | Delivery Phone | 08125912342 |
deliveryAddr | AN | 100 | Delivery Address | Jln Merak |
deliveryEmail | ANS | Delivery Email | [email protected] | |
deliveryCity | A | 50 | Delivery City | Jakarta |
deliveryState | A | 50 | Delivery State | DKI Jakarta |
deliveryPostCd | N | 10 | Delivery Post Code | 14350 |
deliveryCountry | A | 10 | Delivery Country | Indonesia |
vat | N | 12 | Vat | 0 |
fee | N | 12 | Service Tax | 0 |
notaxAmt | N | 12 | Tax Free Amount | 0 |
reqDt | N | 8 | Request Date (YYYYMMDD) | 20160301 |
reqTm | N | 6 | Request Time (HH24MISS) | 135959 |
reqDomain | ANS | 100 | Request Domain | merchant.com |
reqServerIP | ANS | 15 | Request Server IP | 127.0.0.1 |
reqClientVer | ANS | 50 | Request Client Version | 1.0 |
userSessionID | AN | 100 | User Session ID | userSessionID |
userAgent | ANS | 100 | User Agent | Mozilla |
userLanguage | ANS | 2 | User Language | en-US |
payValidDt | N | 8 | CVS expiry date (YYYYMMDD) | 20200303 |
payValidTm | N | 6 | CVS expiry time (HH24MISS) | 135959 |
Parameter Response - CVS Registration
Contoh JSON Response
{
"resultCd": "0000",
"amount": "10000",
"goodsNm": "Test Transaction Nicepay",
"referenceNo": "99997",
"transTm": "110847",
"mitraCd": "ALMA",
"tXid": "TESTIDTEST03201803011108471311",
"description": "Payment of referenceNo 99997,This Description",
"resultMsg": "SUCCESS",
"billingNm": "Thomas Alfa Edison",
"payNo": "011108471311",
"payValidTm": "235959",
"payMethod": "03",
"callbackUrl": "http://www.merchant.com/callbackUrl",
"payValidDt": "20180308",
"currency": "IDR",
"transDt": "20180301"
}
Parameter | Type | Size | Deskripsi |
---|---|---|---|
resultCd | N | 4 | Result Code |
resultMsg | AN | 255 | Result Message |
tXid | AN | 30 | Transaction ID |
referenceNo | ANS | 40 | Merchant Order No |
payMethod | N | 2 | Payment Method |
amount | N | 12 | Nominal Transaksi |
transDt | N | 8 | Tgl. Transaksi (YYYYMMDD) |
transTm | N | 6 | Waktu Transaksi (HH24MISS) |
mitraCd | A | 4 | Mitra Code |
payNo | N | 12 | Nomor Pembayaran CVS |
ClickPay
NICEPay menawarkan ClickPay sebagai metode pembayaran. Notifikasi akan dikirimkan secara real-time setelah transaksi berhasil.
ClickPay yang didukung:
- CIMB Clicks
- BCA KlikPay
- Jenius Pay
Alur Transaksi:
- Request Registrasi ClickPay.
- Halaman akan dialihkan ke Bank.
- Pembeli akan melakukan pembayaran di halaman Bank.
- NICEPay akan mengirimkan Notifikasi jika transaksi berhasil.
Registrasi ClickPay
Spesifikasi - ClickPay Registration
API url | /nicepay/api/onePass.do |
Request Method application/x-www-form-urlencoded | POST |
Deskripsi | Request Registrasi ClickPay |
Merchant Token | SHA256(iMid +referenceNo +amt +merchantKey ) |
Payment Methods | 04 ClickPay |
Parameter Request - ClickPay Registration
Contoh Request
// Payment Mandatory Field
nicePay.setPayMethod("04");
nicePay.setCurrency("IDR");
nicePay.setAmt("1000");
nicePay.setReferenceNo("MerchantReferenceNumber001");
nicePay.setMitraCd("MDRC");
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");
nicePay.setDeliveryPhone("08123456789");
nicePay.setDeliveryAddr("Billing Address ");
nicePay.setDeliveryCity("Jakarta ");
nicePay.setDeliveryState("Jakarta ");
nicePay.setDeliveryPostCd("12345");
nicePay.setDeliveryCountry("Indonesia ");
nicePay.setCallBackUrl(merchantDomain + "callback");
nicePay.setDbProcessUrl(merchantDomain + "dbprocess");
nicePay.setVat("0");
nicePay.setFee("0");
nicePay.setNotaxAmt("0");
nicePay.setDescription("Description");
nicePay.setUserIP("127.0.0.1");
nicePay.setMerchantToken(nicePay.makeToken(nicePay.getAmt(), nicePay.getReferenceNo()));
nicePay.setCartData("{}");
nicePay.setClickPayNo("1234567890123456");
nicePay.setClickPayToken("000000");
nicePay.setDataField3("3");
// Payment Optional Field
nicePay.setReqDt("20160301");
nicePay.setReqTm("135959");
nicePay.setReqDomain("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.setPaymentExpiryDt("20160303");
nicePay.setPaymentExpiryTm("135959");
// Payment Request
nicePay.payment();
// 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 referenceNo= nicePay.Get("referenceNo");
String receiptCode= nicePay.Get("receiptCode");
String payMethod= nicePay.Get("payMethod");
String amount= nicePay.Get("amount");
String transDt = nicePay.Get("transDt ");
String transTm = nicePay.Get("transTm ");
String description= nicePay.Get("description");
String callbackUrl= nicePay.Get("callbackUrl");
String mitraCd= nicePay.Get("mitraCd");
protected void CheckOut(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(BankCd.SelectedValue))
{
objNicepay.currency = "IDR";
objNicepay.DateNow = DateTime.Now.ToString("yyyymmdd");
// Set VA expiry date +1 day (optional)
objNicepay.vaExpDate = DateTime.Now.AddDays(1).ToString("yyyymmdd");
//Populate Mandatory parameters to send
// payment type Bank
objNicepay.PayMethod = "04";
// Total gross amount
objNicepay.amt = "10000";
// Invoice Number or Referenc Number Generated by merchant
objNicepay.referenceNo = generateReference();
objNicepay.description = "Payment Invoice No. " + objNicepay.referenceNo;
// Transaction description
objNicepay.billingNm = "Donald Duck";
objNicepay.billingPhone = "021987456321";
objNicepay.billingEmail = "[email protected]";
objNicepay.billingAddr = "King of money street";
objNicepay.billingCity = "King";
objNicepay.billingState = "Money";
objNicepay.billingPostCd = "123654";
objNicepay.billingCountry = "Indonesia";
objNicepay.deliveryNm = "Donald Duck";
objNicepay.deliveryPhone = "021987456321";
objNicepay.deliveryEmail = "[email protected]";
objNicepay.deliveryAddr = "King of money street";
objNicepay.deliveryCity = "King";
objNicepay.deliveryState = "Money";
objNicepay.deliveryPostCd = "123654";
objNicepay.deliveryCountry = "Indonesia";
objNicepay.MitraCd = "MDRC";
objNicepay.clickPayNo = "1234567890123456";
objNicepay.clickPayToken = "000000";
objNicepay.dataField3 = "3";
objResult = objNicepayClass.CreateCVS(objNicepay);
if (objResult.resultCd == "0000")
{
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;
receiptCode.InnerText = objResult.receiptCode;
TresultMsg.InnerText = objResult.resultMsg;
mitraCd.InnerText = objResult.mitraCd;
amount.InnerText = objResult.amount;
wrapper.Visible = false;
Myresult.Visible = true;
}
else if (objResult.resultCd != null)
{
//API data Not correct, you can redirect back to checkout page Or echo error message.
//In this sample, we echo error message
EresultCd.InnerText = objResult.resultCd;
EresultMsg.InnerText = objResult.resultMsg;
wrapper.Visible = false;
ErrData.Visible = true;
}
else
{
//Timeout, you can redirect back to checkout page Or echo error message.
//In this sample, we echo error message
ERR_.InnerText = "Connection Timeout. Please Try again.";
wrapper.Visible = false;
ERR.Visible = true;
}
}
}
<?php
// Include Config File
include_once "lib/NicepayLib.php";
$nicepay = new NicepayLib();
function generateReference()
{
$micro_date = microtime();
$date_array = explode(" ",$micro_date);
$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'] == '04'
&& isset($_POST['mitraCd']) && $_POST['mitraCd'])
{
$billingNm = $_POST['billingNm'];
$referenceNo = $_POST['referenceNo'];
$mitraCd = $_POST['mitraCd'];
// Populate Mandatory parameters to send
$nicepay->set('payMethod', '04');
$nicepay->set('currency', 'IDR');
$nicepay->set('amt', 10000); // Total gross amount
$nicepay->set('referenceNo', $referenceNo); // Invoice Number or Reference Number Generated by merchant
$nicepay->set('description', 'Payment of Invoice No '.$nicepay->get('referenceNo')); // Transaction description
$nicepay->set('mitraCd', $mitraCd);
$nicepay->set('billingNm', 'John Doe'); // Customer name
$nicepay->set('billingPhone', '02112345678'); // Customer phone number
$nicepay->set('billingEmail', '[email protected]'); //
$nicepay->set('billingAddr', 'Jl. Jend. 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. Jend. Sudirman No. 28');
$nicepay->set('deliveryCity', 'Jakarta Pusat');
$nicepay->set('deliveryState', 'DKI Jakarta');
$nicepay->set('deliveryPostCd', '10210');
$nicepay->set('deliveryCountry', 'Indonesia');
// Send Data
$response = $nicepay->requestClickPay();
// Response from NICEPAY
if (isset($response->resultCd) && $response->resultCd == "0000") {
echo "<pre>";
echo "tXid : $response->tXid\n";
echo "callbackUrl : $response->callbackUrl\n";
echo "description : $response->description\n";
echo "payment date : $response->transDt\n"; // YYYYMMDD
echo "payment time : $response->transTm\n"; // HH24MISS
echo "receipt Code : $response->receiptCode\n";
echo "result code : $response->resultCd\n";
echo "result message : $response->resultMsg\n";
echo "reference no : $response->referenceNo\n";
echo "payment method : $response->payMethod\n";
echo "</pre>";
} elseif(isset($response->resultCd)) {
// API data not correct or error happened in bank system, you can redirect back to checkout page or echo error message.
// In this sample, we echo error message
echo "<pre>";
echo "Oops! Something happened, please notice your system administrator.\n\n";
echo "result code : $response->resultCd\n";
echo "result message : $response->resultMsg\n";
echo "</pre>";
} else {
// Timeout, you can redirect back to checkout page or echo error message.
// In this sample, we echo error message
echo "<pre>Connection Timeout. Please Try again.</pre>";
}
}
?>
import json
from nicepay import NICEPay
#Set MID & Merchant Key
NICEPay.iMid = "BMRITEST01" #Set Merchant ID
NICEPay.merchantKey = "33F49GnCMS1mFYlGXisbUDzVf2ATWCl9k3R++d5hDd3Frmuos/XLx8XhXpe+LDYAbpGKZYSwtlyyLOtS/8aD7A==" #Set Merchant Key
#Set Mandatory Value
NICEPay.payMethod = "04" #Set Payment Method
NICEPay.amt = "1000" #Total Gross Amount
NICEPay.referenceNo = "NiceTest00003" #Invoice Number By Merchant
NICEPay.goodsNm = NICEPay.referenceNo #Goods Name
NICEPay.billingNm = "John Doe"
NICEPay.billingPhone = "02112345678"
NICEPay.billingEmail = "[email protected]`m"
NICEPay.billingAddr = "Jl. Jend. Sudirman No. 28"
NICEPay.billingCity = "Jakarta Pusat"
NICEPay.billingState = "DKI Jakarta"
NICEPay.billingPostCd = "10210"
NICEPay.billingCountry = "Indonesia"
NICEPay.callBackUrl = "http://example.com/callback"
NICEPay.dbProcessUrl = "https://example.com/notification-handler.php"
NICEPay.description = "Payment Of Ref No." + NICEPay.referenceNo
NICEPay.merchantToken = NICEPay.getMerchantToken()
NICEPay.userIP = NICEPay.getUserIp()
NICEPay.cartData = "{}" #Json Array Value
NICEPay.mitraCd = "MDRC"
NICEPay.clickPayNo = "1234567890123456"
NICEPay.clickPayToken = "000000"
NICEPay.dataField3 = "3"
# // Payment Request
resultData = NICEPay.apiRequest()
result = json.loads(resultData)
#Payment Response String Format
try:
result['resultCd']
except NameError:
print "Connection Timeout. Please Try Again!"
else:
if result['resultCd'] == '0000':
print("resultCd : " + result['resultCd'])
print("resultMsg : " + result['resultMsg'])
print("tXid : " + result['tXid'])
print("referenceNo : " + result['referenceNo'])
print("payMethod : " + result['payMethod'])
print("amount : " + result['amount'])
print("transDt : " + result['transDt'])
print("transTm : " + result['transTm'])
print("description : " + result['description'])
print("callbackUrl : " + result['callbackUrl'])
print("receiptCode : " + result['receiptCode'])
print("mitraCd : " + result['mitraCd'])
else:
print("resultCd : " + result['resultCd'])
print("resultMsg : " + result['resultMsg'])
Parameter | Type | Size | Description | Example Value |
---|---|---|---|---|
iMid Required | AN | 10 | Merchant ID | IONPAYTEST |
payMethod Required | N | 2 | Pay Method | 04 |
currency Required | A | 3 | Currency | IDR |
amt Required | N | 12 | Goods Amount | 15000 |
referenceNo Required | ANS | 40 | Merchant Order No | ordNo123124 |
goodsNm Required | AN | 100 | Goods Name | Test Goods |
billingNm Required | A | 30 | Billing Name | John Doe |
billingPhone Required | N | 15 | Billing Phone Number | 081249195 |
billingEmail Required | ANS | 40 | Billing Email | [email protected] |
billingCity Required | A | 50 | Billing City | Jakarta |
billingState Required | A | 50 | Billing State | DKI Jakarta |
billingPostCd Required | N | 10 | Billing Post Number | 14350 |
billingCountry Required | A | 10 | Billing Country | Indonesia |
callBackUrl Required | ANS | 255 | Payment Result Page | https://merchant.com/callBackUrl |
dbProcessUrl Required | ANS | 255 | Payment Notif Url | https://merchant.com/dbProcessUrl |
description Required | AN | 100 | Description | test item |
merchantToken Required | AN | 255 | Merchant Token | 6cfccfc0046773c1b589d8e 98f8b596c284f3c70a4ecf8 6eba14c18944b74bcd |
userIP Required | ANS | 15 | User IP (Customer) | 127.0.0.1 |
cartData Required | JSON Object | 4000 | Cart Data (Json Format) | {} |
mitraCd Required | A | 4 | Mitra Code | JENC |
clickPayNo Required | N | 16 | ClickPay Card No | |
dataField3 Required | N | 16 | Token 3 for Clickpay | |
clickPayToken Required | N | 6 | Response Token | |
billingAddr | AN | 100 | Billing Address | Jln Cendrawasih |
deliveryNm | A | 30 | Delivery Name | JohnDoe |
deliveryPhone | N | 15 | Delivery Phone | 08125912342 |
deliveryAddr | AN | 100 | Delivery Address | Jln Merak |
deliveryEmail | ANS | Delivery Email | [email protected] | |
deliveryCity | A | 50 | Delivery City | Jakarta |
deliveryState | A | 50 | Delivery State | DKI Jakarta |
deliveryPostCd | N | 10 | Delivery Post Code | 14350 |
deliveryCountry | A | 10 | Delivery Country | Indonesia |
vat | N | 12 | Vat | 0 |
fee | N | 12 | Service Tax | 0 |
notaxAmt | N | 12 | Tax Free Amount | 0 |
reqDt | N | 8 | Request Date (YYYYMMDD) | 20160301 |
reqTm | N | 6 | Request Time (HH24MISS) | 135959 |
reqDomain | ANS | 100 | Request Domain | merchant.com |
reqServerIP | ANS | 15 | Request Server IP | 127.0.0.1 |
reqClientVer | AN | 50 | Request Client Version | 1.0 |
userSessionID | AN | 100 | User Session ID | userSessionID |
userAgent | ANS | 100 | User Agent | Mozilla |
userLanguage | ANS | 2 | User Language | en-US |
cashtag Required for Jenius | AN | 100 | cashtagId (with $) | $johndoe |
Parameter Response - ClickPay Registration
Contoh JSON Response
{
"resultCd": "0000",
"amount": "10000",
"goodsNm": "Test Transaction Nicepay",
"referenceNo": "99997",
"transTm": "113152",
"mitraCd": "MDRC",
"tXid": "TESTIDTEST04201803011131521855",
"description": "Payment of referenceNo 99997",
"receiptCode": "1831B3127001",
"resultMsg": "SUCCESS",
"billingNm": "Customer Name",
"mRefNo": "201803011131521884",
"payMethod": "04",
"callbackUrl": "http://www.merchant.com/callbackUrl",
"currency": "IDR",
"transDt": "20180301"
}
Parameter | Type | Size | Deskripsi |
---|---|---|---|
resultCd | N | 4 | Result Code |
resultMsg | AN | 255 | Result Message |
tXid | AN | 30 | Transaction ID |
referenceNo | ANS | 40 | Merchant Order No |
payMethod | N | 2 | Payment Method |
amount | N | 12 | Nominal Transaksi |
currency | A | 3 | Currency |
goodsNm | N | 100 | Nama Barang |
billingNm | N | 30 | Nama Pembeli |
transDt | N | 8 | Tgl Transaksi (YYYYMMDD) |
transTm | N | 6 | Waktu Transaksi (HH24MISS) |
description | N | 100 | Deskripsi |
callbackUrl | ANS | 100 | Callback Url |
mitraCd | A | 4 | Mitra Code |
receiptCode | ANS | 20 | Authorization Number |
mRefNo | AN | 18 | Bank Reference No |
E-Wallet
NICEPay menawarkan E-Wallet sebagai metode pembayaran yang akan memudahkan transaksi dengan pembayaran menggunakan OVO, LinkAja, DANA dan Shopeepay (Jump App).
Notifikasi real time akan dikirimkan setelah pelanggan menyelesaikan pembayaran.
Mitra E-Wallet Nicepay:
- OVO
- LinkAja
- DANA
- Shopeepay
Alur Transaksi
- Merchant melakukan Registrasi Transaksi E-Wallet Registration.
- NICEPay akan mengalihkan pembeli ke halaman/App Mitra E-Wallet atau Notifikasi di Aplikasi Mitra.
- Customer melakukan pembayaran di halaman/App Mitra.
- NICEPay Kirim Notifikasi ke Merchant.
- Merchant Handle Notification.
Registrasi E-Wallet
Spesifikasi API - E-Wallet Registration
API url | /nicepay/api/ewalletTrans.do |
Request Method application/x-www-form-urlencoded | POST |
Deskripsi | Request Transaksi E-Wallet |
Merchant Token | SHA256(iMid +referenceNo +amt +merchantKey ) |
Payment Methods | 05 E-Wallet |
Parameter Request - E-Wallet Registration
Contoh Request
iMid:IONPAYTEST
payMethod:05
currency:IDR
amt:10000
referenceNo:MerchantOrder001
goodsNm:Test Transaction Nicepay
billingNm:John Doe
billingPhone:081234567890
billingEmail:[email protected]
billingCity:Jakarta
billingState:DKI Jakarta
billingPostCd:14350
billingCountry:Indonesia
callBackUrl:https://merchant.com/api/callBackUrl
dbProcessUrl:https://merchant.com/api/dbProcessUrl/Notif
description:Payment of referenceNo 99997
merchantToken:2fb44db297849ec6e51204f4e19963517cac7aeea7883569e5a8e913e173d54b
cartData:{"count":1,"item":[{"img_url":"https://images.com/image.png","goods_name":"Shoe","goods_detail":"Shoe","goods_amt":1500}]}
mitraCd:OVOE
userIP:::1
Parameter | Type | Size | Description | Example Value |
---|---|---|---|---|
iMid Required | AN | 10 | Merchant ID | IONPAYTEST |
payMethod Required | N | 2 | Pay Method | 05 |
currency Required | A | 3 | Currency | IDR |
amt Required | N | 12 | Goods Amount | 15000 |
referenceNo Required | ANS | 40 | Merchant Order No | ordNo123124 |
goodsNm Required | AN | 100 | Goods Name | Test Goods |
billingNm Required | A | 30 | Billing Name | John Doe |
billingPhone Required | N | 15 | Billing Phone Number | 081249195 |
billingEmail Required | ANS | 40 | Billing Email | [email protected] |
billingCity Required | A | 50 | Billing City | Jakarta |
billingState Required | A | 50 | Billing State | DKI Jakarta |
billingPostCd Required | N | 10 | Billing Post Number | 14350 |
billingCountry Required | A | 10 | Billing Country | Indonesia |
callBackUrl Required | ANS | 255 | Payment Result Page | https://merchant.com/callBackUrl |
dbProcessUrl Required | ANS | 255 | Payment Notif Url | https://merchant.com/dbProcessUrl |
description Required | AN | 100 | Description | test item |
merchantToken Required | AN | 255 | Merchant Token | 6cfccfc0046773c1b589d8e 98f8b596c284f... |
userIP Required | ANS | 15 | User IP (Customer) | 127.0.0.1 |
cartData Required | JSON String | 4000 | Cart Data (Json Format) | {} |
mitraCd Required | A | 4 | Mitra Code | OVOE |
billingAddr | AN | 100 | Billing Address | Jln Cendrawasih |
deliveryNm | A | 30 | Delivery Name | JohnDoe |
deliveryPhone | N | 15 | Delivery Phone | 08125912342 |
deliveryAddr | AN | 100 | Delivery Address | Jln Merak |
deliveryEmail | ANS | Delivery Email | [email protected] | |
deliveryCity | A | 50 | Delivery City | Jakarta |
deliveryState | A | 50 | Delivery State | DKI Jakarta |
deliveryPostCd | N | 10 | Delivery Post Code | 14350 |
deliveryCountry | A | 10 | Delivery Country | Indonesia |
vat | N | 12 | Vat | 0 |
fee | N | 12 | Service Tax | 0 |
notaxAmt | N | 12 | Tax Free Amount | 0 |
reqDt | N | 8 | Request Date (YYYYMMDD) | 20160301 |
reqTm | N | 6 | Request Time (HH24MISS) | 135959 |
reqDomain | ANS | 100 | Request Domain | merchant.com |
reqServerIP | ANS | 15 | Request Server IP | 127.0.0.1 |
reqClientVer | ANS | 50 | Request Client Version | 1.0 |
userSessionID | AN | 100 | User Session ID | userSessionID |
userAgent | ANS | 100 | User Agent | Mozilla |
userLanguage | ANS | 2 | User Language | en-US |
returnJsonFormat Optional For Shopeepay to get URL redirect Shopeepay | AN | 100 | Return Json format | 1 : return redirect_Url_App and redirect_Url_Http atau empty/0 : return HTML to redirect |
Response Registrasi - E-Wallet Registration
Contoh Response
POST Parameters
amt: 1500
billingNm: Customer Name
currency: IDR
goodsNm: Test Transaction Nicepay
matchCl: 1
merchantToken: 56f27b89f3e6bb420828a051b10ae973d2e4621cc95a7589514df86f706a3ab4
mitraCd: OVOE
payMethod: 05
referenceNo: 9999
status: 1
tXid: OVOTEST00105202012021011274473
transDt: 20201202
transTm: 101127
Parameter | Description |
---|---|
amt | Transaction Amount |
billingNm | Customer Name |
currency | Currency used |
goodsNm | Goods Name |
matchCl | Transfer amount check |
merchantToken | Merchant Token |
payMethod | Payment Method |
referenceNo | Merchant Order No |
status | Transaction Status |
tXid | Transaction ID |
transDt | Transaction date (YYYYMMDD) |
transTm | Transaction time (HH24MISS) |
QRIS
NICEPay menyediakan layanan baru dalam metode pembayaran QRIS dari kerjasama dengan ShopeePay. Dengan menggunakan metode ini, pelanggan akan memiliki pilihan untuk melakukan pembayaran melalui E-wallet (ShopeePay, OVO, Gopay, dan DANA). Notifikasi realtime akan dikirimkan setelah pelanggan menyelesaikan pembayaran.
Alur Transaksi :
- Merchant melakukan Request ke API Register NICEPay.
- Merchant menampilkan QR Code and memberitahukan langkah pembayaran ke Pelanggan.
- Pelanggan akan scan QR, dan melakukan otentikasi untuk pembayaran.
- Nicepay akan memeriksa status pembayaran, lalu mengirimkan Notifikasi.
- Merchant mengolah Notifikasi yang didapatkan.
QRIS Registration
API Specifications - QRIS Registration
API url | /nicepay/api/onePass.do |
Request Method application/x-www-form-urlencoded | POST |
Description | QRIS payment API |
Merchant Token | SHA256(iMid +referenceNo +amt +merchantKey ) |
Payment Methods | 08 QRIS |
Request Parameter - QRIS Registration
Sample Request
iMid:IONPAYTEST
payMethod:08
currency:IDR
amt:1000
referenceNo:ORDER2909
goodsNm:Test Transaction Nicepay
billingNm:John Doe
billingPhone:081234567890
billingEmail:[email protected]
billingCity:Jakarta
billingState:DKI Jakarta
billingPostCd:14350
billingCountry:Indonesia
callBackUrl:https://merchant.com/api/callBackUrl
dbProcessUrl:https://merchant.com/api/dbProcessUrl/Notif
mitraCd:QSHP
merchantToken:4bfd36804a5ad4741256b64b3e0152b00de458ec8d75d04cc095f725cd14770c
cartData:{"count":1,"item":[{"img_url":"https://images.com/image.png","goods_name":"Shoe","goods_detail":"Shoe","goods_amt":1000}]}
shopId:NICEPAY
userIP:::127.0.0.1
Parameter | Type | Size | Description | Example Value |
---|---|---|---|---|
iMid Required | AN | 10 | Merchant ID | IONPAYTEST |
payMethod Required | N | 2 | Pay Method | 08 |
currency Required | A | 3 | Currency | IDR |
amt Required | N | 12 | Goods Amount | 15000 |
referenceNo Required | ANS | 40 | Merchant Order No | ordNo123124 |
goodsNm Required | AN | 100 | Goods Name | Test Goods |
billingNm Required | A | 30 | Billing Name | John Doe |
billingPhone Required | N | 15 | Billing Phone Number | 081249195 |
billingEmail Required | ANS | 40 | Billing Email | [email protected] |
billingCity Required | A | 50 | Billing City | Jakarta |
billingState Required | A | 50 | Billing State | DKI Jakarta |
billingPostCd Required | N | 10 | Billing Post Number | 14350 |
billingCountry Required | A | 10 | Billing Country | Indonesia |
callBackUrl Required | ANS | 255 | Payment Result Page | https://merchant.com/callBackUrl |
dbProcessUrl Required | ANS | 255 | Payment Notif Url | https://merchant.com/dbProcessUrl |
description Required | AN | 100 | Description | test item |
merchantToken Required | AN | 255 | Merchant Token | 6cfccfc0046773c1b589d8e 98f8b596c284f... |
userIP Required | ANS | 15 | User IP (Customer) | 127.0.0.1 |
cartData Optional | JSON String | 4000 | Cart Data (Json Format) | {} |
mitraCd Required | A | 4 | Mitra Code | QSHP |
shopId Required | AN | 32 | Shop Id | NICEPAY |
billingAddr | AN | 100 | Billing Address | Jln Cendrawasih |
deliveryNm | A | 30 | Delivery Name | JohnDoe |
deliveryPhone | N | 15 | Delivery Phone | 08125912342 |
deliveryAddr | AN | 100 | Delivery Address | Jln Merak |
deliveryEmail | ANS | Delivery Email | [email protected] | |
deliveryCity | A | 50 | Delivery City | Jakarta |
deliveryState | A | 50 | Delivery State | DKI Jakarta |
deliveryPostCd | N | 10 | Delivery Post Code | 14350 |
deliveryCountry | A | 10 | Delivery Country | Indonesia |
vat | N | 12 | Vat | 0 |
fee | N | 12 | Service Tax | 0 |
notaxAmt | N | 12 | Tax Free Amount | 0 |
reqDt | N | 8 | Request Date (YYYYMMDD) | 20160301 |
reqTm | N | 6 | Request Time (HH24MISS) | 135959 |
reqDomain | ANS | 100 | Request Domain | merchant.com |
reqServerIP | ANS | 15 | Request Server IP | 127.0.0.1 |
reqClientVer | ANS | 50 | Request Client Version | 1.0 |
userSessionID | AN | 100 | User Session ID | userSessionID |
userAgent | ANS | 100 | User Agent | Mozilla |
userLanguage | ANS | 2 | User Language | en-US |
Registration Response - QRIS Registration
Sample Response
{
"resultCd": "0000",
"resultMsg": "SUCCESS",
"tXid": "IONPAYTEST08202104011206088687",
"referenceNo": "ORDER2909",
"payMethod": "08",
"amount": "1000",
"transDt": "20210401",
"transTm": "120609",
"description": null,
"callbackUrl": "https://merchant.com/api/callBackUrl",
"paymentExpDt": "20210401",
"paymentExpTm": "121109",
"qrContent": "00020101021226580016ID.CO.SHOPEE.WWW01189360091800000169110205169110303UMI52041234530336054071000.005802ID5907NICEPAY6015KOTA JAKARTA PU61051234562360520082021040112060930000708T000000163041210",
"qrUrl": "https://api.uat.wallet.airpay.co.id/v3/merchant-host/qr/download?qr=9d0DmD3uqAVzLMNWz05b1ExK3GAX7yY07x3wg4OYKK",
"currency": "IDR",
"goodsNm": "Merchant Goods 1",
"billingNm": "John Doe"
}
Parameter | Type | Size | Description |
---|---|---|---|
resultCd | N | 4 | Result Code |
resultMsg | AN | 255 | Result Message |
tXid | AN | 30 | Transaction ID |
referenceNo | ANS | 40 | Merchant Order No |
payMethod | N | 2 | Payment Method |
amount | N | 12 | Transaction Amount |
transDt | N | 8 | Transaction date (YYYYMMDD) |
transTm | N | 6 | Transaction time (HH24MISS) |
description | AN | 100 | Transaction Description |
callbackUrl | AN | 100 | payment result forward url (on browser) |
paymentExpDt | N | 6 | QR Payment Expiry Date (YYYYMMDD) |
paymentExpTm | N | 6 | QR Payment Expiry Time (HH24MISS) |
qrContent | ANS | 360 | QR String in Plain Text |
qrUrl | ANS | 360 | URL for QR Image, Valid for 5 minutes |
currency | N | 3 | currency |
goodsNm | AN | 100 | Goods Name |
billingNm | A | 30 | Buyer name |
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