Dokumentasi API

Silahkan pilih menu di Navigasi untuk melihat dokumentasi.


Daftar Channel Pembayaran

ID Name Minimum Maximum Fee Settlement Type Status
1 Virtual Account Bank BCA Rp 10,000 Rp 10,000,000 Rp 4,900 1x24Jam VA ON
2 Virtual Account Bank BRI Rp 10,000 Rp 50,000,000 Rp 2,500 1x24Jam VA ON
3 Virtual Account Bank CIMB Rp 10,000 Rp 50,000,000 Rp 2,500 1x24Jam VA ON
4 Virtual Account Bank BNI Rp 10,000 Rp 50,000,000 Rp 4,000 1x24Jam VA ON
5 Virtual Account Bank MANDIRI Rp 10,000 Rp 50,000,000 Rp 2,500 1x24Jam VA ON
7 Virtual Account Bank Permata Rp 10,000 Rp 50,000,000 Rp 2,500 1x24Jam VA ON
8 Virtual Account BANK DANAMON Rp 10,000 Rp 50,000,000 Rp 2,500 1x24Jam VA ON
9 Virtual Account BANK BSI Rp 10,000 Rp 50,000,000 Rp 3,500 1x24Jam VA ON
10 Virtual Account BANK BNC (Neo Commerce) Rp 10,000 Rp 50,000,000 Rp 3,500 1x24Jam VA ON
11 QRIS Merchant PayDisini Rp 100 Rp 10,000,000 0.7% 1x24Jam QRIS ON
12 OVO Rp 1,000 Rp 2,000,000 3% 1x24Jam OVO ON
13 DANA Rp 1,000 Rp 2,000,000 3% 1x24Jam EWALLET ON
14 LINKAJA Rp 1,000 Rp 2,000,000 3% 1x24Jam EWALLET ON
17 QRIS Custom [Perlu KTP untuk aktivasi merchant] Rp 100 Rp 10,000,000 0.7% 1x24Jam QRIS ON
18 ALFAMART Rp 10,000 Rp 5,000,000 Rp 2,500 3x24Jam RETAIL ON
19 INDOMARET Rp 10,000 Rp 5,000,000 Rp 2,500 3x24Jam RETAIL ON
20 QRIS Merchant PayDisini by danamon Rp 1,000 Rp 10,000,000 0.9% 1x24Jam QRIS ON
21 Virtual Account Bank OCBC Rp 10,000 Rp 50,000,000 Rp 1,500 1x24Jam VA ON
22 Virtual Account Bank Muamalat Rp 10,000 Rp 50,000,000 Rp 3,500 1x24Jam VA ON
23 QRIS Paydisini Realtime Rp 1,000 Rp 10,000,000 2% 0x24Jam QRIS ON
Melihat Informasi Pengguna

API ini digunakan untuk melihat data pengguna

HTTP Method POST
API URL https://api.paydisini.co.id/v1/
Response JSON
Parameter Deskripsi
key API Key Anda.
request profile untuk melihat informasi pengguna
signature md5(key . 'Profile')
<?php
$ch = curl_init();
                                                                            
curl_setopt($ch, CURLOPT_URL, 'https://api.paydisini.co.id/v1/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$post = array(
    'key' => 'YOUR_API_KEY',
    'request' => 'profile',
    'signature' => '610b2eccc9020d95e427c116f29af54c'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
                                                                            
$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);
?>

Response API Paydisini

Jenis Respon API yang ditampilkan oleh pihak Paydisini

{
    "success": true,
    "msg": "Berhasil melihat informasi pengguna",
    "data": {
        "full_name": "Nama lengkap",
        "merchant": "Nama merchant",
        "telephone": "08123456789",
        "email": "emailakun@gmail.com",
        "saldo": "1000",
        "saldo_tertahan": "2000",
        "auto_wd": "ON"
    }
}
{
    "success": false,
    "msg": "Signature tidak sesuai."
}
Membuat Transaksi Baru

API ini digunakan untuk membuat transaksi baru di Paydisini

HTTP Method POST
API URL https://api.paydisini.co.id/v1/
Response JSON
Parameter Wajib Deskripsi
key Ya API Key Anda.
request Ya new untuk membuat transaksi baru
merchant_id Tidak Jika sudah melakukan aktivasi merchant, dapat ditambahkan paramenter ini Klik Disini
unique_code Ya Kode unik pembayaran dari merchant (maximal 32 character)
service Ya ID layanan pembayaran yang digunakan Klik Disini
amount Ya Jumlah pembayaran (minimal dan maksimal dapat dilihat Klik Disini)
note Ya Catatan dari merchant (maximal 250 character)
valid_time Ya Batas waktu pembayaran (detik) minimal 300 5 menit dan maximal 10800 3 jam
ewallet_phone Tidak Paramenter hanya untuk E-Wallet isi dengan nomor hp pembeli 08XXXXXXXXX
customer_email Tidak Isi dengan email pelanggan
type_fee Ya 1 fee ditanggung customer 2 fee ditanggung merchant
payment_guide Tidak Menampilkan panduan pembayaran isi dengan TRUE atau FALSE
callback_count Tidak jumlah callback yang akan dikirim ulang jika gagal hit (max 3x)
return_url Tidak Isi dengan return url
signature Ya md5(key . unique_code . service . amount . valid_time . 'NewTransaction')
<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://api.paydisini.co.id/v1/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$post = array(
    'key' => 'YOUR_API_KEY',
    'request' => 'new',
    'unique_code' => 'postman123unikcode',
    'service' => '11',
    'amount' => '1000',
    'note' => 'Pembayaran pertama',
    'valid_time' => '1800',
    'type_fee' => '1',
    'payment_guide' => TRUE, // Pilih TRUE jika ingin menampilkan panduan pembayaran
    'signature' => 'ba8427311e3d002bfa52a48ad46c04d2',
    'return_url' => 'https://yourwebsite.com/'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);
?>

Response API Paydisini

Jenis Respon API yang ditampilkan oleh pihak Paydisini

{
    "success": false,
    "msg": "Signature tidak sesuai."
}
Memeriksa Status Transaksi

API ini digunakan untuk melihat data transaksi

HTTP Method POST
API URL https://api.paydisini.co.id/v1/
Response JSON
Parameter Deskripsi
key API Key Anda.
request status untuk melihat detail transaksi
unique_code Kode unik pembayaran dari merchant
signature md5(key . unique_code . 'StatusTransaction')
<?php
$ch = curl_init();
                                                                            
curl_setopt($ch, CURLOPT_URL, 'https://api.paydisini.co.id/v1/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$post = array(
    'key' => 'YOUR_API_KEY',
    'request' => 'status',
    'unique_code' => 'unique_code',
    'signature' => '610b2eccc9020d95e427c116f29af54c'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
                                                                            
$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);
?>

Response API Paydisini

Jenis Respon API yang ditampilkan oleh pihak Paydisini

{
    "success": true,
    "msg": "Berhasil melihat transaksi",
    "data": {
        "pay_id": "1234", // id dari paydisini
        "unique_code": "ABC123",
        "status": "Pending",
        "amount": "10000",
        "balance": "9150",
        "type_fee": "2",
        "fee": "850",
        "note": "Note dari merchant",
        "via": "API",
        "return_url": "https://YOUR_WEBSITE/",
        "checkout_url": "https://paydisini.co.id/payment/?info=xxxxxxx",
        "checkout_url_v2": "https://payment.paydisini.co.id/v2/?info=xxxxxxx",
        "checkout_url_v3": "https://payment.paydisini.co.id/v3/?info=xxxxxxx",
        "expired": "2023-10-08 22:59:57",
        "created_at": "2023-10-08 21:59:57"
    },
    "service": {
        "id": "1",
        "type": "VA",
        "name": "Virtual Account Bank BCA",
        "minimum": "10000",
        "maximum": "2000000000",
        "settlement": "86400"
    }
}
{
    "success": false,
    "msg": "Kode unik tidak ditemukan."
}
Status Keterangan
Pending Menunggu Pembayaran
Canceled Pembayaran Dibatalkan
Success Pembayaran Berhasil
Membatalkan Transaksi

API ini digunakan untuk membatalkan transaksi

HTTP Method POST
API URL https://api.paydisini.co.id/v1/
Response JSON
Parameter Deskripsi
key API Key Anda.
request cancel untuk membatalkan transaksi
unique_code Kode unik pembayaran dari merchant
signature md5(key . unique_code . 'CancelTransaction')
<?php 
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://api.paydisini.co.id/v1/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$post = array(
    'key' => 'YOUR_API_KEY',
    'request' => 'cancel',
    'unique_code' => 'postman123unikcode',
    'signature' => '6cc6403e2a8b69777f386e801a483c86'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);
?>

Response API Paydisini

Jenis Respon API yang ditampilkan oleh pihak Paydisini

{
    "success": true,
    "msg": "Berhasil membatalkan transaksi",
    "data": {
        "pay_id": "1234", // id dari paydisini
        "unique_code": "ABC123",
        "status": "Canceled",
        "amount": "10000",
        "balance": "9150",
        "fee": "850",
        "note": "Note dari merchant",
        "created_at": "2023-10-08 21:59:57"
    }
}
{
    "success": false,
    "msg": "Hanya pembayaran Pending yang dapat dibatalkan."
}
Melihat Channel Pembayaran

API ini digunakan untuk melihat channel pembayaran

HTTP Method POST
API URL https://api.paydisini.co.id/v1/
Response JSON
Parameter Deskripsi
key API Key Anda.
request payment_channel untuk membatalkan transaksi
signature md5(key . 'PaymentChannel')
<?php 
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://api.paydisini.co.id/v1/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$post = array(
    'key' => 'YOUR_API_KEY',
    'request' => 'payment_channel',
    'signature' => '5b4cdd3235aab2cb42bfe648bba18412'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);
?>

Response API Paydisini

Jenis Respon API yang ditampilkan oleh pihak Paydisini

{
    "success": true,
    "msg": "Berhasil melihat payment channel",
    "data": [{
            "id": "1",
            "name": "Virtual Account Bank BCA",
            "type": "VA",
            "minimum": "10000",
            "maximum": "2000000000",
            "fee": 4500,
            "settlement": "86400",
            "img": "https:\/\/paydisini.co.id\/payment\/images\/bca.png",
            "status": "ON"
        },
        {
            "id": "11",
            "name": "QRIS Merchant PayDisini",
            "type": "QRIS",
            "minimum": "1000",
            "maximum": "20000000",
            "fee": "0.7%",
            "settlement": "86400",
            "img": "https:\/\/paydisini.co.id\/payment\/images\/qris.png",
            "status": "ON"
        },
        {
            "id": "15",
            "name": "GOPAY",
            "type": "EWALLET",
            "minimum": "10000",
            "maximum": "2000000000",
            "fee": "3%",
            "settlement": "86400",
            "img": "https:\/\/paydisini.co.id\/payment\/images\/gopay.png",
            "status": "OFF"
        }
    ]
}
{
    "success": false,
    "msg": "Payment channel tidak ditemukan."
}
Melihat Panduan Pembayaran

API ini digunakan untuk melihat panduan pembayaran semua metode transaksi

HTTP Method POST
API URL https://api.paydisini.co.id/v1/
Response JSON
Parameter Deskripsi
key API Key Anda.
request payment_guide untuk menampilkan panduan pembayaran
service ID layanan pembayaran yang digunakan Klik Disini
signature md5(key . service . 'PaymentGuide')
<?php 
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://api.paydisini.co.id/v1/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$post = array(
    'key' => 'YOUR_API_KEY',
    'request' => 'payment_guide',
    'signature' => '5b4cdd3235aab2cb42bfe648bba18412'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);
?>

Response API Paydisini

Jenis Respon API yang ditampilkan oleh pihak Paydisini

{
    "success": true,
    "msg": "Berhasil melihat panduan pembayaran",
    "channel_pembayaran": "Virtual Account BANK BNC (Neo Commerce)",
    "data": [{
            "title": "Cara Bayar via Internet Banking",
            "content": [
                "Login ke neobank",
                "Pilih \"VA Payment\"",
                "Pilih \"BNC\" sebagai nama bank penerima",
                "Masukkan kode VA",
                "Masukkan jumlah pembayaran",
                "Konfirmasi informasi pembayaran",
                "Masukkan PIN kamu",
                "Transaksi selesai"
            ],
            "last_update": "2023-11-11 10:27:42"
        },
        {
            "title": "Cara Bayar via Internet Banking Bank Lain:",
            "content": [
                "Login ke Aplikasi Bank",
                "Pilih transfer ke bank lain",
                "Pilih \"BNC\" sebagai nama bank penerima",
                "Masukkan kode VA sebagai akun penerima",
                "Konfirmasi informasi transfer",
                "Masukkan PIN kamu",
                "Transaksi selesai"
            ],
            "last_update": "2023-11-11 10:27:42"
        }
    ]
}
{
    "success": false,
    "msg": "Panduan pembayaran tidak ditemukan."
}
Melihat Panduan Pembayaran

Callback melibatkan pengiriman notifikasi transaksi dari server Paydisini ke server Anda dengan memanggil URL callback Anda yang berisi detail mengenai transaksi tersebut.

Setelah pembayaran pelanggan selesai, sistem Paydisini akan mengirimkan notifikasi berisi detail transaksi. Selain dikirim pada saat pembayaran sukses, callback juga akan dikirim ketika terjadi perubahan status transaksi sehingga sistem pengguna dapat mengambil tindakan yang sesuai dengan status pembayaran

Pastikan anda sudah mengisi URL Callback anda di Pengaturan akun.
HTTP Method POST
Endpoint URL Callback Anda
Response JSON
Parameter Deskripsi
key API Key Anda.
pay_id ID transaksi yang diberikan oleh paydisini.
unique_code Kode unik pembayaran dari merchant.
status Status transaksi (Success / Canceled)
signature md5(key . unique_code . 'CallbackStatus')
{
    "key": "RANDOMK3Y",
    "pay_id": "1234", // id dari paydisini
    "unique_code": "ABC123",
    "status": "Success",
    "signature": "6cc6403e2a8b69777f386e801a483c86",
}
<?php
//simple callback (make sure whitelist paydisini 194.233.92.170)
if($_POST['key'] == 'YOUR_APIKEY' AND $_SERVER['REMOTE_ADDR'] == '194.233.92.170'){
    $payment_id = 'YOUR PAYMENT ID (UNIQUE CODE)';
    $key = $_POST['key'];
    $unique_code = $_POST['unique_code'];
    $status = $_POST['status'];
    $signature = $_POST['signature'];
    $sign = md5('YOUR_APIKEY' . $payment_id . 'CallbackStatus');
    if($signature != $sign){
        $result = array('success' => false);
    } else if($status == 'Success'){
        //mysqli_query('YOUR QUERY IF PAYMENT SUCCESS');
        $result = array('success' => true);
    } else if($status == 'Canceled'){
        //mysqli_query('YOUR QUERY IF PAYMENT CANCELED');
        $result = array('success' => true);
    } else {
        $result = array('success' => false);
    }
}
header('Content-type: application/json');
echo json_encode($result);

Response API Paydisini

Jenis Respon API yang diharapkan jika callback sukses / gagal.

{
    "success": "true"
}
{
    "success": "false"
}
Plugin Untuk WooCommerce

Paydisini menyediakan plugin untuk integrasi pembayaran bagi kamu yang menggunakan Wordpress. Untuk menginstall plugin Paydisini di Wordpress, pastikan spesifikasi Wordpress & WooCommerce Anda sudah memenuhi minimum requirements/persyaratan yang tersedia yaitu:

  • PHP 5.6+
  • WooCommerce 3.1+
  • cURL PHP Extension
Memulai Instalasi
  1. Masuk ke dashboard admin Wordpress Anda
  2. Silahkan download plugin Paydisini : Klik disini
  3. Upload plugin dan aktifkan plugin
  4. Setelah proses pemasangan berhasil, klik tombol Aktifkan
Proses instalasi telah berhasil. Langkah selanjutnya yaitu melakukan konfigurasi plugin agar terhubung dengan Paydisini.
  1. Masuk ke menu WooCommerce > Pengaturan lalu klik tab Paydisini Global Configuration
  2. Di halaman selanjutnya, tersedia form yang telah dilengkapi petunjuk untuk melakukan pengisian seperti misal Merchant Code, API Key, Private Key dll
  3. Selanjutnya silahkan klik tab Pembayaran
  4. Pada daftar metode pembayaran akan tersedia channel-channel pembayaran Paydisini yang siap dipakai. Klik tombol Siapkan
Setting Callback

Langkah yang perlu Anda lakukan selanjutnya adalah mengatur callback agar plugin dapat menerima notifikasi transaksi pembayaran, baik pembayaran Success & Canceled.

  1. Masuk ke menu WooCommerce > Pengaturan > Paydisini Global Configuration
  2. Salin URL Callback yang tersedia
  3. Masuk ke akun Paydisini lalu klik menu Pengaturan Akun lalu klik Edit sesuai data Anda
  4. Paste/Tempel URL Callback yang telah Anda salin sebelumnya ke kolom URL Callback
  5. Simpan Data
Mitigasi

Jika plugin anda mengalami error. Silahkan coba masuk ke menu WooCommerce > Pengaturan > Paydisini Global Configuration, centang opsi Aktifkan Debugging. Setelah itu coba lakukan transaksi kembali, lalu masuk ke menu WooCommerce > Status > Log, di pojok kanan atas pilih log dari Paydisini. Di log tersebut akan diketahui letak kendalanya.

© Paydisini.
Design & Develop by Paydisini