Pendahuluan
Duitku membuat proses integrasi semudah mungkin. Memungkinkan halaman pembayaran Duitku tampil di halaman web/aplikasi anda setelah checkout, dengan proses integrasi yang sangat mudah.
Pratinjau
- Pelanggan melakukan checkout pembayaran.
- Server merchant melakukan request transaksi ke API Duitku untuk mendapatkan DUITKU_REFERENCE.
- API Duitku merespon request dengan memberikan DUITKU_REFERENCE.
- Server merchant menampilkan halaman pembayaran pada situs mereka untuk ditampilkan pada pelanggan.
- Pelanggan memverifikasi detail transaksi dan klik tombol pembayaran. Sistem merchant memanggil fungsi checkout.process(DUITKU_REFERENCE, options).
- Sistem pembayaran Duitku memproses transaksi dan merespon status pembayaran. Duitku JS lalu melakukan callback yang telah disediakan di sisi merchant.
- Sistem pembayaran Duitku memberikan notifikasi status transaksi pada server merchant.
Browser Yang Kompatibel
Web
Browser | Versi |
---|---|
Chrome | 26 dan terbaru |
Firefox | 29 dan terbaru |
Internet Explorer | 10 dan terbaru |
Safari | 6 dan terbaru |
Mobile
Browser | Versi |
---|---|
Chrome | 32 dan terbaru |
Android | 4.4 dan terbaru |
Safari | 8 dan terbaru |
Plugin
Duitku membuat proses integrasi semudah mungkin. Bagian ini berisi daftar plugin yang dimiliki oleh Duitku. Jika anda menggunakan plugin anda sendiri dan ingin kami tautkan, hubungi [email protected].
Platform | Versi Platform | Sumber |
---|---|---|
Magento | 1.9.x.x | Unduh |
2.3.x.x | Unduh | |
Prestashop | 1.7.xx | Unduh |
Opencart | 1.5.xx | Unduh |
2.0.xx | Unduh | |
2.3.xx | Unduh | |
3.0.xx | Unduh | |
WHMCS | 7.xx | Unduh |
Woocommerce | Unduh |
Library
PHP
Anda dapat mengintegrasikan menggunakan Duitku PHP untuk memulai transaksi menggunakan Duitku pada web atau aplikasi anda. Library akan membantu anda pada saat integrasi dengan Duitku. Untuk mengenal lebih lanjut anda dapat melihat Duitku PHP di repository kami dibawah ini.
Sistem Pembayaran
Konfigurasi Sistem Pembayaran
Masuk ke akun Duitku anda yang telah terdaftar.
Pada menu di sebelah kiri, klik menu Proyek Saya.
Pada daftar proyek, klik tombol sistem pembayaran pada baris proyek yang ingin anda atur.
Pada masing-masing pilihan metode pembayaran, terdapat tombol on/off untuk mengaktifkan atau menonaktifkan penggunaan metode pembayaran tersebut. Dan juga pada masing-masing pilihan metode pembayaran, terdapat pilihan biaya layanan yang dapat dibebankan kepada pelanggan atau merchant.
Keterangan: tombol on berwarna hijau menandakan aktif, sedangkan tombol off berwarna abu-abu menandakan tidak aktif.
Perubahan pada sistem pembayaran otomatis tersimpan. Anda dapat klik tombol kembali atau keluar dari halaman sistem pembayaran jika telah selesai melakukan pengaturan.
Integrasi Backend
Tujuan dari Integrasi Backend adalah untuk mendapat DUITKU_REFERENCE
dengan mengirimkan informasi pembayaran yang dibutuhkan. Kami menyediakan HTTP API untuk melakukannya.
Create Invoice
API Create Invoice digunakan untuk mendapatkan nomor referensi Duitku dengan mengirimkan parameter yang dibutuhkan ke API. Merchant akan mendapatkan nomor referensi Duitku, URL pembayaran dan lainnya dari respon API Create Invoice.
Otentikasi Dasar
Otentikasi dasar yang digunakan Duitku adalah signature, timestamp, dan merchant code yang di kirim dalam bagian header.
- Signature
Signature adalah kode identifikasi transaksi. Berisi parameter transaksi yang telah di hash menggunakan metode hashing SHA256. Parameter yang berisi hash adalah merchant code, timestamp, kemudian API key dan harus berurutan.
- Timestamp
Timestamp adalah timestamp UNIX dalam milidetik dalam zona waktu kami (Jakarta). Timestamp UNIX adalah cara untuk melacak waktu sebagai total detik yang berjalan.
- Merchant code
Merchant code adalah proyek ID yang telah dibuat dan didaftarkan di halaman merchant Duitku.
Endpoint
- HTTP Method:
POST
- Production:
https://api-prod.duitku.com/api/merchant/createInvoice
- Sandbox:
https://api-sandbox.duitku.com/api/merchant/createInvoice
Request Headers
Untuk membuat HTTP request, merchant harus menyertakan header seperti berikut:
Accept: application/json
Content-Type: application/json
x-duitku-signature: FORMAT SHA256(<MERCHANT_CODE_ANDA> - <TIMESTAMP_JAKARTA> - <API_KEY_ANDA>)
x-duitku-timestamp: <TIMESTAMP_JAKARTA>(Milliseconds)
x-duitku-merchantcode: <YOUR_MERCHANT_CODE_HERE>
Request Parameter
<?php
$merchantCode = 'DXXXX'; // dari duitku
$merchantKey = 'XXXXXXXCX17XXXX5XX5XXXXXX0X3XXAF'; // dari duitku
$paymentAmount = 40000;
$merchantOrderId = time() . ''; // dari merchant, unique
$productDetails = 'Test Pay with duitku';
$email = '[email protected]'; // email pelanggan merchant
$phoneNumber = '08123456789'; // nomor tlp pelanggan merchant (opsional)
$additionalParam = ''; // opsional
$merchantUserInfo = ''; // opsional
$customerVaName = 'John Doe'; // menampilkan nama pelanggan pada tampilan konfirmasi bank
$callbackUrl = 'http://example.com/callback'; // url untuk callback
$returnUrl = 'http://example.com/return'; // url untuk redirect
$expiryPeriod = 10; // untuk menentukan waktu kedaluarsa dalam menit
$signature = hash('sha256', $merchantCode.$timestamp.$merchantKey);
//$paymentMethod = 'VC'; //digunakan untuk direksional pembayaran
// Detail pelanggan
$firstName = "John";
$lastName = "Doe";
// Alamat
$alamat = "Jl. Kembangan Raya";
$city = "Jakarta";
$postalCode = "11530";
$countryCode = "ID";
$address = array(
'firstName' => $firstName,
'lastName' => $lastName,
'address' => $alamat,
'city' => $city,
'postalCode' => $postalCode,
'phone' => $phoneNumber,
'countryCode' => $countryCode
);
$customerDetail = array(
'firstName' => $firstName,
'lastName' => $lastName,
'email' => $email,
'phoneNumber' => $phoneNumber,
'billingAddress' => $address,
'shippingAddress' => $address
);
$item1 = array(
'name' => 'Test Item 1',
'price' => 10000,
'quantity' => 1);
$item2 = array(
'name' => 'Test Item 2',
'price' => 30000,
'quantity' => 3);
$itemDetails = array(
$item1, $item2
);
$params = array(
'paymentAmount' => $paymentAmount,
'merchantOrderId' => $merchantOrderId,
'productDetails' => $productDetails,
'additionalParam' => $additionalParam,
'merchantUserInfo' => $merchantUserInfo,
'customerVaName' => $customerVaName,
'email' => $email,
'phoneNumber' => $phoneNumber,
'itemDetails' => $itemDetails,
'customerDetail' => $customerDetail,
'callbackUrl' => $callbackUrl,
'returnUrl' => $returnUrl,
'expiryPeriod' => $expiryPeriod,
//'paymentMethod' => $paymentMethod
);
$params_string = json_encode($params);
//echo $params_string;
$url = 'https://api-sandbox.duitku.com/api/merchant/createinvoice'; // Sandbox
// $url = 'https://api-prod.duitku.com/api/merchant/createinvoice'; // Production
$ch = curl_init();
$timestamp = round(microtime(true) * 1000); //in milisecond
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $params_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($params_string),
'x-duitku-signature:' . $signature ,
'x-duitku-timestamp:' . $timestamp ,
'x-duitku-merchantcode:' . $merchantCode
)
);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
//execute post
$request = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if($httpCode == 200)
{
$result = json_decode($request, true);
//header('location: '. $result['paymentUrl']);
echo "paymentUrl :". $result['paymentUrl'] . "<br />";
echo "merchantCode :". $result['merchantCode'] . "<br />";
echo "reference :". $result['reference'] . "<br />";
echo "vaNumber :". $result['vaNumber'] . "<br />";
echo "amount :". $result['amount'] . "<br />";
echo "statusCode :". $result['statusCode'] . "<br />";
echo "statusMessage :". $result['statusMessage'] . "<br />";
}
else
{
echo $httpCode;
}
?>
curl --location --request POST 'https://api-sandbox.duitku.com/api/merchant/createInvoice' \
--header 'x-duitku-signature: sample string' \
--header 'x-duitku-timestamp: 1629219840000' \
--header 'x-duitku-merchantcode: D0001' \
--header 'Content-Type: application/json' \
--data-raw
{
"paymentAmount":40000,
"merchantOrderId":"1579838431",
"productDetails":"Test Pay with duitku",
"additionalParam":"",
"merchantUserInfo":"",
"customerVaName":"John Doe",
"email":"[email protected]",
"phoneNumber":"08123456789",
"itemDetails":[
{
"name":"Test Item 1",
"price":10000,
"quantity":1
},
{
"name":"Test Item 2",
"price":30000,
"quantity":3
}
],
"customerDetail":{
"firstName":"John",
"lastName":"Doe",
"email":"[email protected]",
"phoneNumber":"08123456789",
"billingAddress":{
"firstName":"John",
"lastName":"Doe",
"address":"Jl. Kembangan Raya",
"city":"Jakarta",
"postalCode":"11530",
"phone":"08123456789",
"countryCode":"ID"
},
"shippingAddress":{
"firstName":"John",
"lastName":"Doe",
"address":"Jl. Kembangan Raya",
"city":"Jakarta",
"postalCode":"11530",
"phone":"08123456789",
"countryCode":"ID"
}
},
"callbackUrl":"http:\/\/example.com\/callback",
"returnUrl":"http:\/\/example.com\/return",
"expiryPeriod":10
}
Parameter | Tipe | Diperlukan | Deskripsi | Contoh |
---|---|---|---|---|
paymentAmount | integer | Y | Nominal pembayaran. | 150000 |
merchantOrderId | string(50) | Y | Order ID dari merchant. | abcde12345 |
productDetails | string(255) | Y | Detail produk. | Pembayaran untuk Toko Contoh |
string(255) | Y | Email pelanggan merchant. | [email protected] | |
additionalParam | string(255) | N | Parameter tambahan (opsional). | |
merchantUserInfo | string(255) | N | Username atau email pelanggan (opsional). | [email protected] |
customerVaName | string(20) | N | Nama yang akan muncul pada halaman konfirmasi pembayaran. | John Doe |
phoneNumber | string(50) | N | Nomor telepon pelanggan (opsional). | 08123456789 |
itemDetails | Obyek | N | Informasi detail barang (opsional). | |
customerDetail | CustomerDetail | N | Informasi detail pelanggan (opsional). | |
returnUrl | string(255) | Y | URL untuk redirect apabila transaksi telah selesai atau dibatalkan. | http://www.example.com/return |
callbackUrl | string(255) | Y | URL untuk transaksi callback. | http://www.example.com/callback |
expiryPeriod | integer | N | Masa berlaku transaksi sebelum kedaluarsa. | 5, 10 or 60 (dalam menit) |
paymentMethod | string | N | Payment Method adalah sebuah kode gerbang pembayaran. | VC |
Duitku menggunakan merchantCode
dan merchantKey
untuk mengakses API. Anda bisa mendaftar untuk mendapatkan merchantCode
pada Merchant Portal.
Respon Parameter
{
"merchantCode": "D0001",
"reference": "D0001E65V0MLAI4M2O4S",
"paymentUrl": "http://example.com/payment",
"amount": "150000",
"statusCode": "00",
"statusMessage": "Success"
}
Parameter | Tipe | Deskripsi | Contoh |
---|---|---|---|
merchantCode | string | Kode merchant dari Duitku. | D0001 |
reference | string | Referensi dari Duitku (perlu disimpan pada system). | D0001E65V0MLAI4M2O4S |
paymentUrl | string | URL pembayaran jika anda ingin mengunakan halaman pembayaran Duitku. | http://example.com/payment |
amount | integer | Nominal pembayaran. | 150000 |
statusCode | string | Respon kode status. | 00 |
statusMessage | string | Respon status. | Success |
Obyek JSON
Koleksi obyek JSON.
Detail Barang
"itemDetails": [{
"name": "Apel",
"quantity": 2,
"price": 50000
}]
Parameter | Tipe | Diperlukan | Deskripsi | Contoh |
---|---|---|---|---|
name | string(50) | Y | Nama barang. | Apel |
quantity | integer | Y | Banyaknya barang. | 2 |
price | integer | Y | Harga barang. Catatan: Tidak diperkenankan menggunakan desimal. | 50000 |
Detail Pelanggan
"customerDetail": {
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"phoneNumber": "081234567890",
"billingAddress": {
"firstName": "John",
"lastName": "Doe",
"address": "St Panjang",
"city": "Jakarta",
"postalCode": "41011",
"phone": "081234567890",
"countryCode": "ID"
},
"shippingAddress": {
"firstName": "John",
"lastName": "Doe",
"address": "St Panjang",
"city": "Jakarta",
"postalCode": "41011",
"phone": "081234567890",
"countryCode": "ID"
}
}
Parameter | Tipe | Diperlukan | Deskripsi | Contoh |
---|---|---|---|---|
firstName | string(50) | N | Nama depan pelanggan. | John |
lastName | string(50) | N | Nama belakang pelanggan. | Doe |
string(50) | Y | Email pelanggan. | [email protected] | |
phoneNumber | string(50) | N | Nomor telepon pelanggan. | 081234567890 |
billingAddress | Alamat | N | Alamat tagihan pelanggan. | |
shippingAddress | Alamat | N | Alamat pengiriman pelanggan. |
Alamat
{
"firstName": "John",
"lastName": "Doe",
"address": "St Panjang",
"city": "Jakarta",
"postalCode": "41011",
"phone": "081234567890",
"countryCode": "ID"
}
Parameter | Tipe | Diperlukan | Deskripsi | Contoh |
---|---|---|---|---|
firstName | string(50) | N | Nama depan pelanggan. | John |
lastName | string(50) | N | Nama belakang pelanggan. | Doe |
address | string(50) | N | Alamat tagihan atau pengiriman. | St Panjang |
city | string(50) | N | Kota pada alamat. | Jakarta |
postalCode | string(50) | N | Kode pos alamat. | 41011 |
phone | string(50) | N | Nomor telepon untuk pengiriman atau tagihan. | 081234567890 |
countryCode | string(50) | N | ISO 3166-1 alpha-3. | ID - untuk Indonesia. |
Callback
<?php
$apiKey = 'YOUR_MERCHANT_KEY_HERE'; // API key anda
$merchantCode = isset($_POST['merchantCode']) ? $_POST['merchantCode'] : null;
$amount = isset($_POST['amount']) ? $_POST['amount'] : null;
$merchantOrderId = isset($_POST['merchantOrderId']) ? $_POST['merchantOrderId'] : null;
$productDetail = isset($_POST['productDetail']) ? $_POST['productDetail'] : null;
$additionalParam = isset($_POST['additionalParam']) ? $_POST['additionalParam'] : null;
$paymentCode = isset($_POST['paymentCode']) ? $_POST['paymentCode'] : null;
$resultCode = isset($_POST['resultCode']) ? $_POST['resultCode'] : null;
$merchantUserId = isset($_POST['merchantUserId']) ? $_POST['merchantUserId'] : null;
$reference = isset($_POST['reference']) ? $_POST['reference'] : null;
$signature = isset($_POST['signature']) ? $_POST['signature'] : null;
if(!empty($merchantCode) && !empty($amount) && !empty($merchantOrderId) && !empty($signature))
{
$params = $merchantCode . $amount . $merchantOrderId . $apiKey;
$calcSignature = md5($params);
if($signature == $calcSignature)
{
//Kode Program anda disini
echo "SUCCESS"; // Mohon untuk memberikan respon success
}
else
{
throw new Exception('Bad Signature')
}
}
else
{
throw new Exception('Bad Parameter')
}
?>
Pada saat pelanggan melakukan pembayaran. Duitku akan mengirimkan HTTP POST yang menyertakan hasil pembayaran suatu tagihan dari pelanggan. Merchant perlu menyediakan halaman untuk menerima callback tersebut. Supaya dapat memproses hasil transaksi yang telah dilakukan oleh pelanggan.
Parameter
Parameter | Deskripsi | Contoh |
---|---|---|
merchantCode | merchant code dari Duitku. | D0010 |
paymentAmount | Nominal pembayaran. | 150000 |
merchantOrderId | Order ID dari merchant. | abcde12345 |
productDetail | Detail produk. | Pembayaran untuk Toko Contoh |
additionalParam | Parameter tambahan (opsional). | |
paymentCode | Metode pembayaran. | VC |
resultCode | Status pembayaran. | 00 - Success 01 - Failed |
merchantUserId | User ID dari merchant. | [email protected] |
reference | Nomor referensi dari Duitku, harap disimpan untuk melakukan pengecekan transaksi. | D0010E65V0MLAI4M2O4S |
signature | Signature. | Formula: SHA256(merchantcode + amount + merchantOrderId + merchantKey) |
Redirect
Setelah request transaksi dan tagihan terbentuk, dari halaman pembayaran Duitku akan redirect ke alamat yang diberikan di parameter Create Invoice(returnUrl
) pada saat setelah pembayaran atau melalui tombol kembali.
Dan pada saat redirect tersebut Duitku akan menyertakan beberapa parameter tagihan yang bersangkutan.
Contoh
GET: http://www.merchantweb.com/redirect.php?merchantOrderId=abcde12345&resultCode=00&reference=D0010E65V0MLAI4M2O4S
Parameter
Parameter | Deskripsi | Contoh |
---|---|---|
merchantOrderId | Order ID dari merchant. | abcde12345 |
reference | Nomor referensi dari Duitku. | D0010E65V0MLAI4M2O4S |
resultCode | Kode informasi hasil proses. | 00 |
Integrasi Frontend
Tinjauan Umum
Tujuan dari Integrasi Frontend adalah untuk menampilkan halaman pembayaran Duitku di dalam situs merchant.
Sertakan duitku.js
pada halaman situs anda, sehingga modul checkout
Duitku dapat digunakan.
Merchant dapat memulai proses pembayaran dengan memanggil fungsi checkout.process
menggunakan DUITKU_REFERENCE
yang didapat dari integrasi backend sebagai parameter.
Lokasi Modul Duitku JS
- Production:
https://app-prod.duitku.com/lib/js/duitku.js
- Sandbox:
https://app-sandbox.duitku.com/lib/js/duitku.js
Viewport Meta Tag
Untuk memastikan popup modal ditampilkan dengan baik pada perangkat mobile, sertakan viewport meta tag pada elemen<head>
.
Contoh:
<meta name="viewport" content="width=device-width, initial-scale=1">
Duitku JS
Berikut ini adalah penjelasan dari obyek checkout
.
process(duitkuReference, options)
$.ajax({
type: "POST",
data:{
paymentAmount: amount,
},
url: 'http://domain-anda.com/integrasiDuitkuBackend.php',
dataType: "json",
cache: false,
success: function (result) {
console.log(result.reference);
console.log(result);
checkout.process(result.reference, {
successEvent: function(result){
// tambahkan fungsi sesuai kebutuhan anda
console.log('success');
console.log(result);
alert('Payment Success');
},
pendingEvent: function(result){
// tambahkan fungsi sesuai kebutuhan anda
console.log('pending');
console.log(result);
alert('Payment Pending');
},
errorEvent: function(result){
// tambahkan fungsi sesuai kebutuhan anda
console.log('error');
console.log(result);
alert('Payment Error');
},
closeEvent: function(result){
// tambahkan fungsi sesuai kebutuhan anda
console.log('customer closed the popup without finishing the payment');
console.log(result);
alert('customer closed the popup without finishing the payment');
}
});
}
});
Mulai halaman pembayaran Duitku.
Parameter:
Nama | Tipe | Deskripsi |
---|---|---|
duitkuReference | string | Nomor referensi Duitku didapat pada integrasi backend. |
options.successEvent | function (opsional) | Callback pembayaran sukses (00). |
options.pendingEvent | function (opsional) | Callback pembayaran pending (01). |
options.errorEvent | function (opsional) | Callback pembayaran error. |
options.closeEvent | function (opsional) | Digunakan ketika pelanggan menutup popup pembayaran tanpa menyelesaikan pembayaran (02). |
JS Callback
Respon Transaksi
{
"resultCode": "00",
"merchantOrderId": "abcde12345",
"reference": "qwerty12345"
}
Obyek yang mewakili respon transaksi dari callback Duitku.
Name | Tipe | Deskripsi |
---|---|---|
resultCode | string | Result code dari Duitku. |
merchantOrderId | string | Order ID dari merchant. |
reference | string | Reference dari Duitku. |
Window Redirection
Duitku menyediakan alternatif lain untuk menampilkan halaman transaksi selain menggunakan duitku.js
, yaitu window redirection. Merchant dapat menggunakan response value paymentUrl
dari API CreateInvoice
. Merchant tidak perlu menyertakan duitku.js pada halaman situs, sehingga pelanggan langsung diarahkan pada halaman pembayaran di situs Duitku.
Dengan menggunakan metode ini, merchant dapat langsung menampilkan halaman pembayaran secara penuh seperti berikut ini:
Payment Method
Berikut ini payment method yang tersedia di Duitku dan dapat anda gunakan. Anda dapat memasukan payment method('paymentMethod') pada parameter create invoice, sebagai langkah pembayaran langsung ke satu pembayaran tertentu. Pelanggan akan langsung di arahkan pada pembayaran yang dituju tanpa memilih.
Payment Method | Description |
---|---|
VC | Credit Card (Visa / Master / JCB) |
BK | BCA KlikPay |
BC | BCA Virtual Account |
M2 | Mandiri Virtual Account |
BT | Permata Bank Virtual Account |
A1 | ATM Bersama |
B1 | CIMB Niaga Virtual Account |
I1 | BNI Virtual Account |
VA | Maybank Virtual Account |
FT | Ritel |
OV | OVO |
DN | Indodana Paylater |
SP | Shopee Pay |
SA | Shopee Pay Apps |
AG | Bank Artha Graha |
S1 | Bank Sahabat Sampoerna |
LA | LinkAja Apps (Percentage Fee) |
LF | LinkAja Apps (Fixed Fee) |
LQ | LinkAja QRIS |
DA | DANA |
IR | Indomaret |
A2 | POS Indonesia |
Errors
Respon HTTP
Kode Error | Nama Error | Keterangan |
---|---|---|
400 | Bad Request | Ada kesalahan pada saat mengirimkan permohonan pada API. |
401 | Unauthorized | Akses di tolak batasan kewenangan. |
404 | Not Found | Halaman atau API yang di mohon tidak di temukan. |
500 | Internal Server Error | Error pada saat melakukan proses permohonan. |
Respon API
Callback
Kode Respon | Nama Respon | Deskripsi |
---|---|---|
00 | Success | Berhasil di bayar. |
01 | Failed | Gagal di bayar. |
Redirect
Kode Respon | Nama Respon | Deskripsi |
---|---|---|
00 | Success | Telah di bayar. |
01 | Pending | Belum di bayar. |
02 | Canceled/Failed | Gagal di bayar atau tidak terbayarkan. |
Uji Coba
Berikut adalah daftar kredensial transaksi dummy yang dapat digunakan untuk melakukan transaksi di sandbox.
Kartu Kredit
3D Secure Transaction
Tipe Kartu | Nomor Kartu Kredit | Masa Berlaku | CVV |
---|---|---|---|
VISA | 4000 0000 0000 0044 | 03/33 | 123 |
MASTERCARD | 5500 0000 0000 0004 | 03/33 | 123 |
Virtual Akun
Demo transaction virtual account sandbox klik-disini.
Indodana Pay Later
Nomor Ponsel | PIN |
---|---|
081282325566 | 000000 |
Pop API Demo
Pop API Demo klik-disini.
Contoh Proyek
Untuk contoh proyek, anda dapat mengakses tautan Github disini.
Plugins
Tutorial di bawah ini akan membantu anda dalam mengubah konfigurasi dari sandbox ke production. Silakan pilih metode integrasi berikut. Jika diperlukan bantuan lebih lanjut, silakan hubungi kami melalui live chat atau [email protected].
Magento
Unduh plugin Duitku untuk Magento.
Unggah folder
app
ke root folder Magento (folder instalasi Magento) anda menggunakan FTP client pilihan anda.(Secara default root folder ada pada
SERVER_HOST/Magento
)Buka menu Admin Panel (umumnya di
/admin
). Pada menu System, pilih Cache Management di admin Magento anda.- Untuk versi 1.9.xx:
- Untuk versi 2.3.xx:
- Untuk versi 1.9.xx:
Perbarui seluruh cache, pilih yang bernilai ‘All’ pada combo-box. lalu tekan tombol submit.
- Untuk versi 1.9.xx:
- Untuk versi 2.3.xx:
- Untuk versi 1.9.xx:
Buka menu Admin Panel. Pada menu System pilih Configuration.
- Untuk versi 1.9.xx:
- Untuk versi 2.3.xx:
- Untuk versi 1.9.xx:
Pada bagian Sales, pilih menu Payment Method.
- Untuk versi 1.9.xx:
- Untuk versi 2.3.xx:
- Untuk versi 1.9.xx:
Pilih Duitku pada pilihan metode pembayaran dan isi konfigurasi lalu klik save config.
Parameter-parameter tersebut dibuat pada halaman utama merchant Duitku di bagian menu Proyek Saya. Keterangan:
- merchant code: masukkan kode merchant anda yang anda dapatkan dari Project di halaman utama merchant Duitku.
- API Key: masukkan project API key yang anda dapatkan dari Project di halaman utama merchant Duitku.
- Environtment/Production Use: pilih 'Sandbox'/'No' sebagai penggunaan pengembangan atau 'Production'/'Yes' untuk penggunaan live. anda perlu mengatur Status Plugin sama seperti URL Endpoint yang ingin anda gunakan.
- UI Mode/Popup Mode: anda dapat memilih antara tampilan Pop-up payment atau tampilan Redirection payment.
- URL Endpoint:
- Apabila integrasi masih dalam tahap development, gunakan alamat ini:
https://api-sandbox.duitku.com
- Duitku Endpoint: Apabila integrasi sudah dalam tahap production, gunakan alamat ini:
https://api-prod.duitku.com
- Apabila integrasi masih dalam tahap development, gunakan alamat ini:
- Expiry Period: Masa berlaku transaksi sebelum habis masa berlakunya. Nilai input adalah bilangan bulat antara 1 - 1440 dihitung sebagai menit.
Atur konfigurasi plugin Magento dengan menggunakan merchant code dan API key production.
- Untuk versi 1.9.xx:
- Untuk versi 2.3.xx:
OpenCart
Unduh plugin Duitku untuk Opencart.
Extract file yang telah di unduh.
Buka folder root Opencart (folder instalasi Opencart) anda menggunakan FTP client lalu unggah folder
Admin
danCatalog
.Buka Admin Opencart anda (umumnya di
/admin
) lalu buka halaman utama Payment.
Pada Opencart Versi 1.5 & 2.0 anda dapat menemukan halaman utama Payment di Extensions -> Payments.- OpenCart 1.5:
- OpenCart 2.0:
Pada Opencart Versi 2.3 & 3.0 anda dapat menemukan halaman utama Payment di menu Extensions -> Extensions. Lalu pilih Payment Type Payments. - OpenCart 2.3:
- OpenCart 3.0:
- OpenCart 1.5:
Pada list temukan Duitku Payment. Lalu, klik Install.
- OpenCart 1.5:
- OpenCart 2.0:
- OpenCart 2.3:
- OpenCart 3.0:
- OpenCart 1.5:
Setelah plugin terpasang, anda tinggal konfigurasi plugin Duitku.
- OpenCart 1.5:
- OpenCart 2.0:
- OpenCart 2.3:
- OpenCart 3.0:
- OpenCart 1.5:
Buka halaman utama konfigurasi dan masukkan kode Merchant, API Key dan parameter yg diperlukan lainnya. Parameter-parameter tersebut dibuat pada halaman utama merchant Duitku di bagian menu Proyek Saya.
- OpenCart 1.5:
- OpenCart 2.0:
- OpenCart 2.3:
- OpenCart 3.0:
Keterangan:
- Plugin Status: pilih 'Sandbox' sebagai penggunaan pengembangan atau 'Production' untuk penggunaan live. anda perlu mengatur Status Plugin sama seperti URL Endpoint yang ingin anda gunakan.
- UI Mode: anda dapat memilih antara tampilan Pop-up payment atau tampilan Redirection payment.
- Endpoint URL:
- Apabila integrasi masih dalam tahap development, gunakan alamat ini:
https://api-sandbox.duitku.com
- Duitku Endpoint: Apabila integrasi sudah dalam tahap production, gunakan alamat ini:
https://api-prod.duitku.com
- Apabila integrasi masih dalam tahap development, gunakan alamat ini:
- merchant code: masukkan kode merchant anda yang anda dapatkan dari Project di halaman utama merchant Duitku.
- Merchant API Key: masukkan project API key yang anda dapatkan dari Project di halaman utama merchant Duitku.
- Expiry Period: Masa berlaku transaksi sebelum habis masa berlakunya. Nilai input adalah bilangan bulat antara 1 - 1440 dihitung sebagai menit.
- OpenCart 1.5:
Pastikan mata uang utama yang dipakai adalah IDR
Setelah kanal pembayaran diaktifkan, maka pilihan tersebut akan muncul pada halaman utama depan situs anda seperti contoh di bawah ini:
Prestashop
Unduh plugin Duitku untuk Prestashop
Login ke area Admin Prestashop anda (umumnya di
/admin
).Buka menu Modules -> Module Manager.
Klik tombol Upload a module.
Pilih file plugin Duitku yang telah di download sebelumnya.
Setelah selesai di unggah akan muncul tombol Configure. Klik tombol Configure untuk masuk halaman konfigurasi Duitku.
Isikan seluruh informasi yang dibutuhkan lalu klik tombol Save Configuration.
Keterangan:
- Plugin Status: pilih 'Sandbox' sebagai penggunaan pengembangan atau 'Production' untuk penggunaan live. anda perlu mengatur Status Plugin sama seperti URL Endpoint yang ingin anda gunakan.
- UI Mode: anda dapat memilih antara tampilan Pop-up payment atau tampilan Redirection payment.
- merchant code: masukkan kode merchant anda yang anda dapatkan dari Project di halaman utama merchant Duitku.
- API Key: masukkan project API key yang anda dapatkan dari Project di halaman utama merchant Duitku.
- Endpoint URL:
- Apabila integrasi masih dalam tahap development, gunakan alamat ini:
https://api-sandbox.duitku.com
- Duitku Endpoint: Apabila integrasi sudah dalam tahap production, gunakan alamat ini:
https://api-prod.duitku.com
- Apabila integrasi masih dalam tahap development, gunakan alamat ini:
- Expiry Period: Masa berlaku transaksi sebelum habis masa berlakunya. Nilai input adalah bilangan bulat antara 1 - 1440 dihitung sebagai menit.
Atur konfigurasi plugin Prestashop dengan menggunakan merchant code, API key dan URL endpoint production.
Woocommerce
Unduh plugin Duitku untuk Woocommerce.
Buka menu Admin WordPress anda (umumnya di
/wp-admin
).Buka menu Plugins -> halaman Add New.
Unggah file plugin Duitku (pastikan Woocommerce sudah terpasang sebelum menambahkan plugin Duitku).
Setelah plugin terpasang, anda akan melihat tombol Activate Plugin. Jika tombol tidak tampil, maka silahkan buka halaman utama plugin -> Installled Plugins kemudian aktifkan plugin Duitku tersebut.
Pada halaman Installed Plugins anda akan melihat plugin Duitku pada daftar plugin.
Buka Woocommerce -> Settings.
lalu pilih tab 'Payment'.
Pilih ‘Duitku Payment’ dan klik Manage.
Masukkan merchant code dan API key, parameter tersebut dibuat pada halaman utama merchant Duitku di bagian menu Proyek Saya. Jika sudah silahkan tekan tombol Save untuk menyimpan.
Keterangan:
- Plugin Status: pilih 'Sandbox' sebagai penggunaan pengembangan atau 'Production' untuk penggunaan live. anda perlu mengatur Status Plugin sama seperti URL Endpoint yang ingin anda gunakan.
- UI Mode: anda dapat memilih antara tampilan Pop-up payment atau tampilan Redirection payment.
- Duitku merchant code: masukkan kode merchant anda yang anda dapatkan dari Project di halaman utama merchant Duitku.
- Duitku API Key: masukkan project API key yang anda dapatkan dari Project di halaman utama merchant Duitku.
- URL Endpoint:
- Apabila integrasi masih dalam tahap development, gunakan alamat ini:
https://api-sandbox.duitku.com
- Duitku Endpoint: Apabila integrasi sudah dalam tahap production, gunakan alamat ini:
https://api-prod.duitku.com
- Apabila integrasi masih dalam tahap development, gunakan alamat ini:
- Expiry Period: Masa berlaku transaksi sebelum habis masa berlakunya. Nilai input adalah bilangan bulat antara 1 - 1440 dihitung sebagai menit.
Berikut ini contoh kanal pembayaran Duitku di halaman utama Check Out Woocommerce:
WHMCS
Unduh plugin Duitku untuk WHMCS.
Extract file yang anda unduh.
Buka folder hasil extract file, lalu copy folder
modules
kedalam folder instalasi WHMCS pada server anda.Setelah proses copy selesai, login ke dalam admin WHMCS anda.
Pada halaman admin WHMCS anda, klik menu Setup, arahkan kursor ke submenu Payments lalu pilih Payment Gateways.
Pada halaman Payment Gateways, klik tab All Payment Gateways, lalu klik pada Duitku Payment.
Apabila payment gateway sudah berubah menjadi hijau, maka payment gateway tersebut sudah di aktifkan.
Setelah payment gateway diaktifkan, klik tab Manage Existing Gateway.
Akan muncul tampilan konfigurasi untuk payment gateway yang anda aktifkan, apabila payment gateway yang anda aktifkan belum muncul, mohon untuk melakukan refresh pada halaman Payment Gateways.
Keterangan:
- Plugin Status: pilih 'Sandbox' sebagai penggunaan pengembangan atau 'Production' untuk penggunaan live. anda perlu mengatur Status Plugin sama seperti URL Endpoint yang ingin anda gunakan.
- UI Mode: anda dapat memilih antara tampilan Pop-up payment atau tampilan Redirection payment.
- Duitku merchant code: masukkan kode merchant anda yang anda dapatkan dari Project di halaman utama merchant Duitku.
- Duitku API Key: masukkan project API key yang anda dapatkan dari Project di halaman utama merchant Duitku.
- URL Endpoint:
- Apabila integrasi masih dalam tahap development, gunakan alamat ini:
https://api-sandbox.duitku.com
- Duitku Endpoint: Apabila integrasi sudah dalam tahap production, gunakan alamat ini:
https://api-prod.duitku.com
- Apabila integrasi masih dalam tahap development, gunakan alamat ini:
Setelah selesai mengisi form konfigurasi, klik Save Changes.
Selamat anda telah berhasil memasang plugin Duitku pada situs berbasis WHMCS anda. Jika ada kesulitan atau pertanyaan lebih lanjut, silakan hubungi kami di live chat atau email di [email protected].
Atur konfigurasi plugin WHMCS dengan menggunakan merchant code, API key dan URL endpoint production.