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
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
- Masuk ke dashboard admin Wordpress Anda
- Silahkan download plugin Paydisini : Klik disini
- Upload plugin dan aktifkan plugin
- Setelah proses pemasangan berhasil, klik tombol Aktifkan
Proses instalasi telah berhasil. Langkah selanjutnya yaitu melakukan konfigurasi plugin agar terhubung dengan Paydisini.
- Masuk ke menu WooCommerce > Pengaturan lalu klik tab Paydisini Global Configuration
- Di halaman selanjutnya, tersedia form yang telah dilengkapi petunjuk untuk melakukan pengisian seperti misal Merchant Code, API Key, Private Key dll
- Selanjutnya silahkan klik tab Pembayaran
- 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.
- Masuk ke menu WooCommerce > Pengaturan > Paydisini Global Configuration
- Salin URL Callback yang tersedia
- Masuk ke akun Paydisini lalu klik menu Pengaturan Akun lalu klik Edit sesuai data Anda
- Paste/Tempel URL Callback yang telah Anda salin sebelumnya ke kolom URL Callback
- 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.