Payment

Pembayaran Langsung (Direct)

PostmanTest on Postman

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

Step 1POST Direct

Request Direct Payment

Merchant mengirim HTTP POST ke /api/v2/payment/direct berisi detail transaksi, paymentMethod & paymentChannel.

1 of 6
Step 2API Validation

Validasi & Proses iPaymu

Server iPaymu memverifikasi signature header & membuat nomor pembayaran / QR / URL e-Wallet.

2 of 6
Step 3200 OK Response

Terima Respon Pembayaran

iPaymu mengembalikan PaymentNo (Virtual Account) atau Url redirect/QR (e-Wallet/QRIS) kepada Merchant.

3 of 6
Step 4Payment Action

Pelanggan Melakukan Pembayaran

Pelanggan membayar via M-Banking / minimarket / scan QRIS / buka aplikasi e-Wallet.

4 of 6
Step 5HTTP POST Callback

Notifikasi Webhook (Callback)

iPaymu secara otomatis mengirimkan HTTP POST notifikasi callback ke notifyUrl Merchant.

5 of 6
Step 6PAID Completed

Update Status Transaksi

Merchant mengunci status transaksi menjadi PAID di database & memberikan produk/layanan.

6 of 6
DONE

Endpoint: POST https://my.ipaymu.com/api/v2/payment/direct

Headers

KunciNilaiDeskripsi
Content-Typeapplication/json
signaturestringSignature yang dihasilkan
vastringNomor Virtual Account
timestampstringWaktu request

Parameter Body

KunciTipeWajibDeskripsi
namestringYaNama pembeli
phonestringYaNomor HP pembeli
emailstringYaEmail pembeli
amountnumberYaTotal jumlah pembayaran
notifyUrlstringYaURL callback untuk menerima notifikasi status pembayaran
expirednumberTidakDurasi kadaluarsa pembayaran (default: 24)
expiredTypestringTidakTipe durasi kadaluarsa: days, hours, minutes
commentsstringTidakCatatan transaksi
referenceIdstringTidakID referensi transaksi dari sistem Anda
paymentMethodstringYaMetode pembayaran. Nilai: va, cstore, cod, qris, cc, paylater, ewallet.
paymentChannelstringYaSaluran berdasarkan metode pembayaran. Lihat rinciannya di bawah tabel.
product[]arrayYaNama produk
qty[]arrayYaJumlah produk
price[]arrayYaHarga produk per unit
weight[]arrayKondisionalBerat barang dalam kg (wajib jika COD).
width[]arrayKondisionalLebar dimensi barang dalam cm (wajib jika COD).
height[]arrayKondisionalTinggi dimensi barang dalam cm (opsional jika COD).
length[]arrayKondisionalPanjang barang dalam cm (wajib jika COD).
deliveryAreastringKondisionalKode pos pengiriman (wajib jika COD).
deliveryAddressstringKondisionalAlamat 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):

  1. Set paymentMethod: "ewallet"
  2. Set paymentChannel: "dana" atau "shopeepay"
  3. Pengguna akan mendapatkan Url redirect 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"
  }
}

On this page