- Beranda
- Referensi API
- Pembayaran
- Batalkan pembayaran
Batalkan pembayaran
Membatalkan pembayaran yang belum lunas, mengubah statusnya menjadi gagal, dan mengirim payment.failed. Mengembalikan 409 jika pembayaran sudah lunas atau selesai.
/v1/payments/{id}/cancelpayments:write.Header
Section titled “Header”Idempotency-KeystringwajibContoh: order-1001-attempt-1
Wajib. String unik untuk request ini. Lihat Idempotensi.
Parameter path
Section titled “Parameter path”idstringwajibId pembayaran (pay_…).
Contoh: pay_01k7q3m8x2v5t9n4b6c1d0e7fa
Diawali pay_.
Respons (200)
Section titled “Respons (200)”dataobjectwajibObjek yang dikembalikan, atau array objek untuk operasi daftar.
idstringwajibId pembayaran (pay_…).
Contoh: pay_01k7q3m8x2v5t9n4b6c1d0e7fa
Diawali pay_.
livemodebooleanwajibtrue berarti objek ini ada di live dan bisa melibatkan pembayaran sungguhan; false berarti objek ini ada di sandbox.
statusstringwajibcreated (belum memilih metode), pending (menunggu pembayar), paid, failed, atau expired.
Contoh: pending
Nilai yang mungkin: created, pending, paid, failed, expired
project_idstringwajibProyek tempat objek ini berada. Pengaturannya menentukan metode pembayaran dan batas yang berlaku.
Contoh: prj_01k7q3m8x2v5t9n4b6c1d0e7fa
Diawali prj_.
payment_link_idstring | nullwajibPayment link tempat pembayaran ini dibuat; null kalau bukan dari link.
Contoh: lnk_01k7q3m8x2v5t9n4b6c1d0e7fa
Diawali lnk_.
amountintegerwajibNominal dasar pembayaran sebelum biaya, dalam satuan terkecil currency (Rp125.000 adalah 12500000).
Contoh: 12500000
currencystringwajibMata uang, kode ISO 4217. Saat ini hanya IDR.
Contoh: IDR
Nilai: IDR
payment_methodstring | nullwajibMetode yang dipakai pembayar: payment.qris, payment.va.<bank>, payment.ewallet.<wallet>, atau payment.retail.<gerai>. Lihat Daftar metode pembayaran.
Contoh: payment.qris
feeobject | nullwajibBiaya Baiyar yang ditetapkan saat pembayar melihat nominal. Null sampai metode pembayaran dipilih.
amountintegerwajibBiayanya, dalam satuan terkecil currency (Rp125.000 adalah 12500000).
Contoh: 7000
bearerstringwajibSiapa yang menanggung biaya: merchant atau customer.
Contoh: merchant
Nilai yang mungkin: merchant, customer
charged_amountinteger | nullwajibTotal yang dibayar pembayar, termasuk biaya jika ditanggung pembayar, dalam satuan terkecil currency (Rp125.000 adalah 12500000).
Contoh: 1000000
net_amountinteger | nullwajibNominal yang dikreditkan setelah biaya Baiyar, dalam satuan terkecil currency (Rp125.000 adalah 12500000).
Contoh: 993000
merchant_referencestring | nullwajibReferensimu sendiri untuk pembayaran ini, misalnya nomor order, sampai 100 karakter. Pakai untuk menemukan pembayarannya lagi.
Contoh: order-1001
descriptionstring | nullwajibCatatan tentang pembayaran yang dilihat pembayar, sampai 500 karakter.
Contoh: Pesanan kopi 1001
instructionobject | nullwajibKode QR, nomor rekening, atau detail lain yang dibutuhkan pembayar. Null jika tidak ada instruksi yang perlu ditampilkan.
typestringwajibva, qr, ewallet_link, ewallet_push, atau retail_code. Menentukan field lain yang ada.
Nilai yang mungkin: va, qr, ewallet_link, ewallet_push, retail_code
bank_codestringwajibBank virtual account, misalnya bca.
Contoh: bca
Jika type adalah va.
account_numberstringwajibNomor virtual account tujuan transfer pembayar.
Contoh: 8277012345678901
Jika type adalah va.
expires_atstringwajibKapan instruksi berhenti berlaku (RFC 3339, UTC).
Contoh: 2026-10-26T03:04:05.000Z
Format: date-time
qr_contentstringwajibIsi QRIS: gambar sebagai kode QR untuk dipindai pembayar.
Contoh: 00020101021226670016COM.BAIYAR.WWW01189360091400000001230210000000000303UMI51440014ID.CO.QRIS.WWW0215ID10200000000010303UMI5204581253033605802ID5906Toko6007Jakarta6304ABCD
Jika type adalah qr.
payment_urlstringwajibKe mana mengarahkan pembayar untuk menyetujui pembayaran di dompetnya.
Contoh: https://pay.example.com/wallet/abc123
Jika type adalah ewallet_link.
wallet_codestringwajibDompet yang meminta pembayar menyetujui di aplikasinya sendiri, misalnya ovo.
Contoh: ovo
Jika type adalah ewallet_push.
phone_last4string | nullwajibEmpat digit terakhir nomor telepon yang menerima permintaan persetujuan wallet.
Contoh: 6789
Jika type adalah ewallet_push.
payment_codestringwajibKode yang disebutkan pembayar di gerai.
Contoh: ALFA123456
Jika type adalah retail_code.
expires_atstring | nullwajibWaktu objek ini kedaluwarsa (RFC 3339, UTC). Pada pembayaran, ini batas waktu pembayar; pada link, ini waktu link berhenti menerima pembayaran.
Contoh: 2026-10-26T03:04:05.000Z
Format: date-time
paid_atstring | nullwajibWaktu pembayaran dikonfirmasi lunas (RFC 3339, UTC); null sebelum itu.
Contoh: 2026-10-26T03:04:05.000Z
Format: date-time
settlement_statusstringwajibnot_applicable (belum dibayar), awaiting (sudah dibayar, settlement belum cocok), atau settled (sudah cocok dan masuk saldo tersedia).
Contoh: awaiting
Nilai yang mungkin: not_applicable, awaiting, settled
reversalobject | nullwajibRincian nominal pembayaran lunas yang dibalik oleh penyedia atau tim operasi Baiyar; null jika tidak ada reversal.
amountintegerwajibNominal yang dikurangi dari saldo karena reversal, dalam satuan terkecil currency (Rp125.000 adalah 12500000).
Contoh: 993000
reversed_atstringwajibWaktu reversal dicatat (RFC 3339, UTC).
Contoh: 2026-10-26T03:04:05.000Z
Format: date-time
metadataobjectwajibSampai 20 pasangan milikmu (nama sampai 40 karakter, nilai sampai 500) yang ikut kembali bersama pembayaran dan event-nya.
Nilai: string
Key maksimum: 20
created_atstringwajibWaktu objek ini dibuat (RFC 3339, UTC). Gunakan untuk mengurutkan objek berdasarkan waktu pembuatan.
Contoh: 2026-10-26T03:04:05.000Z
Format: date-time
metaobjectwajibDetail request seperti id dan kursor paginasi.
request_idstringwajibId request ini. Sebutkan saat bertanya ke dukungan.
Contoh: req_Hy3k9QzT2LmN8vXa
Request yang gagal dijawab dengan bentuk error yang sama; lihat Error.
curl -X POST "https://api.baiyar.com/v1/payments/{id}/cancel" \ -H "Authorization: Bearer $BAIYAR_KEY" \ -H "Idempotency-Key: order-1001-attempt-1"{ "data": { "id": "pay_01k7q3m8x2v5t9n4b6c1d0e7fa", "livemode": false, "status": "pending", "project_id": "prj_01k7q3m8x2v5t9n4b6c1d0e7fa", "payment_link_id": "lnk_01k7q3m8x2v5t9n4b6c1d0e7fa", "amount": 12500000, "currency": "IDR", "payment_method": "payment.qris", "fee": { "amount": 7000, "bearer": "merchant" }, "charged_amount": 1000000, "net_amount": 993000, "merchant_reference": "order-1001", "description": "Pesanan kopi 1001", "instruction": { "type": "qr", "bank_code": "bca", "account_number": "8277012345678901", "expires_at": "2026-10-26T03:04:05.000Z" }, "expires_at": "2026-10-26T03:04:05.000Z", "paid_at": "2026-10-26T03:04:05.000Z", "settlement_status": "awaiting", "reversal": { "amount": 993000, "reversed_at": "2026-10-26T03:04:05.000Z" }, "metadata": { "order_id": "1001" }, "created_at": "2026-10-26T03:04:05.000Z" }, "meta": { "request_id": "req_Hy3k9QzT2LmN8vXa" }}