Payment Methods
Overview
Section titled “Overview”Baiyar supports two payment method types, used the same way in both payment links and direct payments:
| Type | What it is | Requires bank |
|---|---|---|
qris |
Indonesia’s unified QR standard — works with any QRIS-enabled e-wallet or mobile banking app | No |
virtual_account |
A bank-specific virtual account number the customer transfers to | Yes |
{ "type": "qris" }{ "type": "virtual_account", "bank": "bca" }Virtual account banks
Section titled “Virtual account banks”bank must be one of the codes below:
| Code | Bank |
|---|---|
bca |
BCA |
bni |
BNI |
bri |
BRI |
mandiri |
Mandiri |
permata |
Permata |
cimb_niaga |
CIMB Niaga |
danamon |
Danamon |
bsi |
BSI |
bjb |
BJB |
btn |
BTN |
bnc |
BNC |
bss |
BSS |
sinarmas |
Sinarmas |
Minimum amount
Section titled “Minimum amount”| Type | Minimum (IDR) |
|---|---|
qris |
100 |
virtual_account |
10,000 |
When a payment link allows both, the higher floor (10,000) applies.
GET /v1/payment-methods returns each method’s total fee as
fee_percentage_bps (basis points — 70 = 0.7%) plus fee_fixed_amount (a
flat amount charged in addition, not instead of the percentage). Both are
already the combined total; there’s no separate provider-fee breakdown to
add on top. Who pays the fee — you or the customer — is controlled by
fee_bearer when you create the payment link or payment.
Choosing methods for a payment link
Section titled “Choosing methods for a payment link”Restrict which methods a payment link accepts with
allowed_payment_methods; omit it to fall back to the project’s defaults:
"allowed_payment_methods": [ { "type": "qris" }, { "type": "virtual_account", "bank": "bca" }, { "type": "virtual_account", "bank": "mandiri" }]See the Payment Links guide and
Direct Payments guide for how each method’s
instructions are shaped in the response.