Skip to main content

Payment Create

Endpoint ini digunakan untuk membuat invoice pembayaran baru. Setelah Anda mendapatkan account_id yang aktif dari endpoint Payment Account, Anda dapat melanjutkan ke langkah ini untuk menerbitkan invoice kepada customer.

Konsep Penting:

  • Nominal Unik: Sistem akan secara otomatis menambahkan angka acak antara 1 hingga 999 pada nominal transaksi. Customer WAJIB mentransfer sebesar nilai payment_total (gabungan payment_amount + kode unik), bukan payment_amount saja. Hal ini sangat penting agar transfer dari customer dapat dideteksi dan diverifikasi secara otomatis oleh sistem.
  • Idempotency Key: Parameter payment_code berfungsi sebagai idempotency key. Jika Anda mengirimkan request dengan kode invoice yang sama berulang kali, sistem akan menolaknya dengan status error 409 Conflict guna mencegah terjadinya duplikasi pembuatan invoice.

Contoh Tagihan: Total yang harus dibayar: Rp 50.123 (Rincian: Tagihan utama Rp 50.000 + Kode unik Rp 123)


Request​

curl -X POST https://api.bayar.digital/gateway/payments \
-H "X-Api-Key: pk_..." \
-H "Content-Type: application/json" \
-d '{
"account_id": "550e8400-e29b-41d4-a716-446655440000",
"payment_code": "INV-2026-0001",
"payment_amount": 50000,
"payment_expired_at": "2026-10-11T12:00:00Z",
"customer_name": "Budi Santoso",
"customer_email": "budi@example.com",
"customer_phone": "081234567890",
"customer_orders": [
{
"sku": "SKU001",
"name": "Produk A",
"price": 50000,
"quantity": 1,
"subtotal": 50000
}
]
}'

Response​

FieldTipeDeskripsi
payment_iduuidID unik invoice yang dihasilkan sistem
payment_codestringKode invoice referensi dari sistem Anda
payment_amountint64Nominal tagihan asli (tanpa tambahan kode unik)
payment_uniqueint64Nominal kode unik yang di-generate (1-999)
payment_totalint64Total tagihan akhir yang harus dibayar (amount + unique)
payment_statusstringStatus pembayaran awal, umumnya PENDING
payment_expired_atdatetimeBatas akhir waktu pembayaran invoice
payment_updated_atdatetimeWaktu pembaruan data terakhir
payment_webhook_urlstring / nullURL webhook khusus untuk invoice ini
payment_checkout_urlstringTautan publik menuju halaman checkout pembayaran
payment_return_urlstring / nullURL redirect setelah pembayaran sukses
customer_namestringNama customer
customer_emailstring / nullAlamat email customer
customer_phonestring / nullNomor telepon customer
customer_ordersarrayDaftar detail pesanan (order items)
account_iduuidID akun pembayaran tujuan
account_numberstringNomor rekening bank tujuan
account_namestringNama pemilik rekening bank
channel_iduuidID channel perbankan di sistem
channel_namestringNama institusi bank terkait
channel_typestringTipe pembayaran (TRANSFER atau QRIS)
channel_instructionsarrayPanduan atau instruksi pembayaran untuk customer
is_manual_matchboolIndikator apakah pembayaran dicocokkan secara manual
manual_matched_mutation_iduuid / nullID mutasi apabila pencocokan dilakukan secara manual

Detail customer_orders (Order Item):

FieldTipeDeskripsi
skustringSKU (Stock Keeping Unit) produk
namestringNama produk
priceint64Harga satuan produk
quantityintJumlah item yang dibeli
subtotalint64Total harga (price × quantity)
product_urlstring / nullTautan menuju halaman detail produk
image_urlstring / nullTautan gambar produk

201 Created

{
"success": true,
"message": "created",
"data": {
"payment_id": "660e8400-e29b-41d4-a716-446655440010",
"payment_code": "INV-2026-0001",
"payment_amount": 50000,
"payment_unique": 123,
"payment_total": 50123,
"payment_status": "PENDING",
"payment_expired_at": "2026-10-11T12:00:00Z",
"payment_updated_at": "2026-06-11T10:00:00Z",
"payment_webhook_url": "https://yourserver.com/webhooks/bayar",
"payment_checkout_url": "https://bayar.digital/checkout/660e8400-e29b-41d4-a716-446655440010",
"payment_return_url": "https://yourserver.com/orders/INV-2026-0001",
"customer_name": "Budi Santoso",
"customer_email": "budi@example.com",
"customer_phone": "081234567890",
"customer_orders": [
{
"sku": "SKU001",
"name": "Produk A",
"price": 50000,
"quantity": 1,
"subtotal": 50000,
"product_url": "https://yourserver.com/products/produk-a",
"image_url": "https://yourserver.com/images/produk-a.jpg"
}
],
"account_id": "550e8400-e29b-41d4-a716-446655440000",
"account_number": "1234567890",
"account_name": "PT Merchant Contoh",
"channel_id": "660e8400-e29b-41d4-a716-446655440001",
"channel_name": "Bank Central Asia",
"channel_type": "TRANSFER",
"channel_instructions": [],
"is_manual_match": false,
"manual_matched_mutation_id": null
}
}