Lompat ke konten

Payment Links

Payment link adalah halaman checkout yang di-hosting oleh Baiyar. Anda membuatnya dengan satu panggilan API dan mendapatkan url — kirim itu ke pelanggan (chat, email, invoice, poster QR) dan mereka menyelesaikan pembayaran di sana. Anda tidak perlu menampilkan UI pembayaran apa pun sendiri.

Ini berbeda dari pembayaran langsung, di mana Anda menampilkan kode QRIS atau nomor virtual account di aplikasi Anda sendiri.

  1. Anda memanggil POST /v1/payment-links dengan amount dan, opsional, metode pembayaran mana yang diizinkan.
  2. Pelanggan membuka url yang dikembalikan, memilih metode pembayaran, dan membayar.
  3. Baiyar melaporkan hasilnya lewat webhook (payment.paid atau payment.failed) jika Anda sudah mengonfigurasinya — atau Anda bisa polling GET /v1/payments/{paymentID}.
POST /v1/payment-links
{
"project_id": "018f1f29-7c00-73e4-a310-744d2167fc60",
"reference": "ORDER-2026-0001",
"title": "Invoice Agustus",
"description": "Pembayaran langganan bulanan",
"amount": 125000,
"allowed_payment_methods": [
{ "type": "qris" },
{ "type": "virtual_account", "bank": "bca" }
],
"allow_multiple_payments": true,
"customer_fields": { "name": true, "email": true, "phone": false, "address": false }
}
  • amount dalam IDR (rupiah utuh — tidak ada unit yang lebih kecil untuk dibagi). Minimum-nya 100 untuk qris dan 10.000 untuk virtual_account; saat sebuah link mengizinkan keduanya, batas yang lebih tinggi berlaku.
  • allowed_payment_methods opsional — kosongkan untuk memakai metode pembayaran default project.
  • allow_multiple_payments: true membuat link tetap bisa dipakai berulang (misal link donasi) alih-alih dinonaktifkan setelah pembayaran pertama.

Lihat Referensi API Payment Links untuk setiap field.

status sebuah payment link adalah salah satu dari:

Status Arti
active Bisa dibayar sekarang — link sekali pakai tetap active walau pembayarannya sudah berhasil; claim-ability ditentukan oleh payment session, bukan oleh field ini
cancelled Dibatalkan lewat POST /v1/payment-links/{id}/cancel
inactive Sudah melewati expires_at

Lihat Status Pembayaran untuk cara mengetahui apakah link sekali pakai sudah benar-benar dibayar.

  • Menjual barang satuan atau mengirim tagihan tanpa membangun alur checkout.
  • Anda tidak ingin menangani rendering QR, tampilan virtual account, atau wiring polling/webhook status payment di UI Anda sendiri.

Untuk kontrol lebih besar atas UI pembayaran itu sendiri, lihat Pembayaran Langsung.

Atur URL webhook pada project (dashboard → Project → tab Notifications) untuk mendapat notifikasi saat pembayaran berhasil atau gagal, alih-alih polling — lihat Webhooks.