NAV Navbar
json php shell

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

  1. Pelanggan melakukan checkout pembayaran.
  2. Server merchant melakukan request transaksi ke API Duitku untuk mendapatkan DUITKU_REFERENCE.
  3. API Duitku merespon request dengan memberikan DUITKU_REFERENCE.
  4. Server merchant menampilkan halaman pembayaran pada situs mereka untuk ditampilkan pada pelanggan.
  5. Pelanggan memverifikasi detail transaksi dan klik tombol pembayaran. Sistem merchant memanggil fungsi checkout.process(DUITKU_REFERENCE, options).
  6. Sistem pembayaran Duitku memproses transaksi dan merespon status pembayaran. Duitku JS lalu melakukan callback yang telah disediakan di sisi merchant.
  7. 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

Sistem Pembayaran

Konfigurasi Sistem Pembayaran

  1. Masuk ke akun Duitku anda yang telah terdaftar.

  2. Pada menu di sebelah kiri, klik menu Proyek Saya.

    Project menu

  3. Pada daftar proyek, klik tombol sistem pembayaran pada baris proyek yang ingin anda atur.

    Project setting payment system

  4. 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. Payment system

  5. 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 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 adalah timestamp UNIX dalam milidetik dalam zona waktu kami (Jakarta). Timestamp UNIX adalah cara untuk melacak waktu sebagai total detik yang berjalan.

Merchant code adalah proyek ID yang telah dibuat dan didaftarkan di halaman merchant Duitku.

Endpoint

https://api-prod.duitku.com/api/merchant/createInvoice

https://api-sandbox.duitku.com/api/merchant/createInvoice

Request Headers

Untuk membuat HTTP request, merchant harus menyertakan header seperti berikut:

Request Parameter

<?php
    $merchantCode = 'D0001'; // dari duitku
    $merchantKey = '732B39FC61796845775D2C4FB05332AF'; // 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 = sha256($merchantCode . $merchantOrderId . $paymentAmount . $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 :' . hash('sha256', $merchantCode.$timestamp.$merchantKey) ,
        '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
email string{255} N 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
email string(50) N 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 = sha256($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

https://app-prod.duitku.com/lib/js/duitku.js

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 02/22 123
MASTERCARD 5500 0000 0000 0004 02/22 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

  1. Unduh plugin Duitku untuk Magento.

  2. 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)

  3. Buka menu Admin Panel (umumnya di /admin). Pada menu System, pilih Cache Management di admin Magento anda.

    • Untuk versi 1.9.xx:
      Menu cache management
    • Untuk versi 2.3.xx:
      Menu cache management
  4. Perbarui seluruh cache, pilih yang bernilai ‘All’ pada combo-box. lalu tekan tombol submit.

    • Untuk versi 1.9.xx:

    • Untuk versi 2.3.xx:
      Clear cache
  5. Buka menu Admin Panel. Pada menu System pilih Configuration.

    • Untuk versi 1.9.xx:
      Menu configuration
    • Untuk versi 2.3.xx:
      Menu configuration
  6. Pada bagian Sales, pilih menu Payment Method.

    • Untuk versi 1.9.xx:
      Payment method
    • Untuk versi 2.3.xx:
      Payment method
  7. 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
    • 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:
    Configuration
    - Untuk versi 2.3.xx:
    Configuration

OpenCart

  1. Unduh plugin Duitku untuk Opencart.

  2. Extract file yang telah di unduh.

  3. Buka folder root Opencart (folder instalasi Opencart) anda menggunakan FTP client lalu unggah folder Admin dan Catalog.

  4. 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:
      Menu payment
    • OpenCart 2.0:
      Menu payment
      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:
      Menu extension Extension type payment
    • OpenCart 3.0:
      Menu extension Extension type payment
  5. Pada list temukan Duitku Payment. Lalu, klik Install.

    • OpenCart 1.5:
      Install
    • OpenCart 2.0:
      Install
    • OpenCart 2.3:
      Install
    • OpenCart 3.0:
      Install
  6. Setelah plugin terpasang, anda tinggal konfigurasi plugin Duitku.

    • OpenCart 1.5:
      Edit
    • OpenCart 2.0:
      Edit
    • OpenCart 2.3:
      Edit
    • OpenCart 3.0:
      Edit
  7. 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:
      Config
    • OpenCart 2.0:
      Config
    • OpenCart 2.3:
      Config
    • OpenCart 3.0:
      Config 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
    • 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.
  8. Pastikan mata uang utama yang dipakai adalah IDR

  9. Setelah kanal pembayaran diaktifkan, maka pilihan tersebut akan muncul pada halaman utama depan situs anda seperti contoh di bawah ini:

    Opencart4

Prestashop

  1. Unduh plugin Duitku untuk Prestashop

  2. Login ke area Admin Prestashop anda (umumnya di /admin).

  3. Buka menu Modules -> Module Manager.

    Menu module manager

  4. Klik tombol Upload a module.

    Button upload a module

  5. Pilih file plugin Duitku yang telah di download sebelumnya.

  6. Setelah selesai di unggah akan muncul tombol Configure. Klik tombol Configure untuk masuk halaman konfigurasi Duitku.

    Configure button

  7. 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
    • 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.

    Prestashop payment configure

Woocommerce

  1. Unduh plugin Duitku untuk Woocommerce.

  2. Buka menu Admin WordPress anda (umumnya di /wp-admin).

  3. Buka menu Plugins -> halaman Add New.

    Menu add new

  4. Unggah file plugin Duitku (pastikan Woocommerce sudah terpasang sebelum menambahkan plugin Duitku).

  5. 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.

    Button activate

  6. Pada halaman Installed Plugins anda akan melihat plugin Duitku pada daftar plugin.

    Installed

  7. Buka Woocommerce -> Settings.

    Menu setting

  8. lalu pilih tab 'Payment'.

    Tab payment

  9. Pilih ‘Duitku Payment’ dan klik Manage.

    Button manage

  10. 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.

    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.
    • 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
    • Expiry Period: Masa berlaku transaksi sebelum habis masa berlakunya. Nilai input adalah bilangan bulat antara 1 - 1440 dihitung sebagai menit.
  11. Berikut ini contoh kanal pembayaran Duitku di halaman utama Check Out Woocommerce:

    Wp3

WHMCS

  1. Unduh plugin Duitku untuk WHMCS.

  2. Extract file yang anda unduh.

  3. Buka folder hasil extract file, lalu copy folder modules kedalam folder instalasi WHMCS pada server anda.

  4. Setelah proses copy selesai, login ke dalam admin WHMCS anda.

  5. Pada halaman admin WHMCS anda, klik menu Setup, arahkan kursor ke submenu Payments lalu pilih Payment Gateways.

    Whmcs1

  6. Pada halaman Payment Gateways, klik tab All Payment Gateways, lalu klik pada Duitku Payment.

  7. Apabila payment gateway sudah berubah menjadi hijau, maka payment gateway tersebut sudah di aktifkan.

    Whmcs2

  8. Setelah payment gateway diaktifkan, klik tab Manage Existing Gateway.

  9. 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.

    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.
    • 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
  10. Setelah selesai mengisi form konfigurasi, klik Save Changes.

  11. 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.