Pembayaran Langsung (Direct)
Endpoint ini digunakan untuk memproses pembayaran langsung.
Coba di Postman
Persyaratan Production
Dalam mode Production, pastikan server Anda menggunakan IP Statis dan domain Anda terdaftar. Lihat Validasi IP & Domain.
Endpoint ini digunakan untuk memproses pembayaran langsung (Direct Payment).
Alur Integrasi Pembayaran Langsung (Direct)
6 tahapan dari request API pembayaran hingga konfirmasi lunas
Request Direct Payment
Merchant mengirim HTTP POST ke /api/v2/payment/direct berisi detail transaksi, paymentMethod & paymentChannel.
Validasi & Proses iPaymu
Server iPaymu memverifikasi signature header & membuat nomor pembayaran / QR / URL e-Wallet.
Terima Respon Pembayaran
iPaymu mengembalikan PaymentNo (Virtual Account) atau Url redirect/QR (e-Wallet/QRIS) kepada Merchant.
Pelanggan Melakukan Pembayaran
Pelanggan membayar via M-Banking / minimarket / scan QRIS / buka aplikasi e-Wallet.
Notifikasi Webhook (Callback)
iPaymu secara otomatis mengirimkan HTTP POST notifikasi callback ke notifyUrl Merchant.
Update Status Transaksi
Merchant mengunci status transaksi menjadi PAID di database & memberikan produk/layanan.
Endpoint: POST https://my.ipaymu.com/api/v2/payment/direct
Headers
| Kunci | Nilai | Deskripsi |
|---|---|---|
Content-Type | application/json | |
signature | string | Signature yang dihasilkan |
va | string | Nomor Virtual Account |
timestamp | string | Waktu request |
Parameter Body
| Kunci | Tipe | Wajib | Deskripsi |
|---|---|---|---|
name | string | Ya | Nama pembeli |
phone | string | Ya | Nomor HP pembeli |
email | string | Ya | Email pembeli |
amount | number | Ya | Total jumlah pembayaran |
notifyUrl | string | Ya | URL callback untuk menerima notifikasi status pembayaran |
expired | number | Tidak | Durasi kadaluarsa pembayaran (default: 24) |
expiredType | string | Tidak | Tipe durasi kadaluarsa: days, hours, minutes |
comments | string | Tidak | Catatan transaksi |
referenceId | string | Tidak | ID referensi transaksi dari sistem Anda |
paymentMethod | string | Ya | Metode pembayaran. Nilai: va, cstore, cod, qris, cc, paylater, ewallet. |
paymentChannel | string | Ya | Saluran berdasarkan metode pembayaran. Lihat rinciannya di bawah tabel. |
product[] | array | Ya | Nama produk |
qty[] | array | Ya | Jumlah produk |
price[] | array | Ya | Harga produk per unit |
weight[] | array | Kondisional | Berat barang dalam kg (wajib jika COD). |
width[] | array | Kondisional | Lebar dimensi barang dalam cm (wajib jika COD). |
height[] | array | Kondisional | Tinggi dimensi barang dalam cm (opsional jika COD). |
length[] | array | Kondisional | Panjang barang dalam cm (wajib jika COD). |
deliveryArea | string | Kondisional | Kode pos pengiriman (wajib jika COD). |
deliveryAddress | string | Kondisional | Alamat pengiriman (wajib jika COD). |
Daftar paymentChannel yang tersedia berdasarkan paymentMethod
Metode Pembayaran (paymentMethod) | Daftar Saluran (paymentChannel) |
|---|---|
Virtual Account (va) | bag, bca, bpd_bali, bni, cimb, mandiri, bmi, bri, bsi, permata, danamon,btn |
Convenience Store (cstore) | alfamart, indomaret |
Cash On Delivery (cod) | rpx (Kurir RPX) |
QRIS (qris) | mpm |
Credit Card (cc) | cc |
Pay Later (paylater) | akulaku |
e-Wallet (ewallet) | dana, shopeepay |
Panduan Integrasi e-Wallet (ewallet)
Untuk memproses pembayaran via e-Wallet (DANA & ShopeePay):
- Set
paymentMethod:"ewallet" - Set
paymentChannel:"dana"atau"shopeepay" - Pengguna akan mendapatkan
Urlredirect atau QR/deep link pembayaran pada respon data untuk menyelesaikannya.
{
"name": "Pelanggan",
"phone": "08123456789",
"email": "buyer@mail.com",
"amount": 50000,
"notifyUrl": "https://mywebsite.com/callback",
"paymentMethod": "ewallet",
"paymentChannel": "dana",
"product": ["Layanan Premium"],
"qty": [1],
"price": [50000]
}Contoh Request
{
"name": "Buyer",
"phone": "08123456789",
"email": "buyer@mail.com",
"amount": 10000,
"notifyUrl": "https://mywebsite.com/callback",
"expired": 24,
"expiredType": "hours",
"comments": "Payment for Order #123",
"referenceId": "REF123456",
"paymentMethod": "va",
"paymentChannel": "bca",
"product": ["Product A"],
"qty": [1],
"price": [10000],
"weight": [1],
"width": [1],
"height": [1],
"length": [1],
"deliveryArea": "76111",
"deliveryAddress": "Jalan Raya No. 1"
}Contoh Response
{
"Status": 200,
"Success": true,
"Message": "Success",
"Data": {
"TransactionId": 12345,
"ReferenceId": "REF123456",
"Via": "va",
"Channel": "bca",
"PaymentNo": "1234567890",
"PaymentName": "BCA Virtual Account",
"Total": 10000,
"Fee": 0,
"Expired": "2023-12-31 23:59:59",
"Note": null,
"Url": "https://my.ipaymu.com/payment/12345"
}
}