Skip to content

Payment methods

A payment method is the channel your customers use to pay. Byl currently supports QPay, Golomt Bank (including SocialPay), and Pocket, and you choose which channels to enable on each project.

All enabled payment methods are automatically offered to customers on invoice and checkout pages — no code changes required.

Configure them in the dashboard under your project's Payment methods (Төлбөрийн хэлбэр) menu.

WARNING

An API request that creates a payment with an inactive payment method returns an inactive_payment_method_type error. See the API overview page for error details.

QPay

With QPay, customers pay by scanning a QR code from any bank's app.

You don't need to create a QPay merchant account manually — once business verification succeeds, it is created automatically from your verified information. After it's created, your merchant number appears on the Payment methods page and the status switches to "Active".

If merchant creation fails, retry from the business verification page.

QPay fees and e-receipts (info)

QPay withholds a percentage fee agreed in your contract (commonly 1%) from every QR transaction and transfers the remainder to your account. This is QPay's payment-processing charge — not a byl fee. Byl uses a subscription model and does not charge transaction fees.

For accounting and tax reporting:

  • Issue e-receipts (VAT receipts) to buyers for the full amount — the buyer paid the full amount, so there is no need to deduct the fee from the receipt.
  • QPay itself issues a receipt for the fee and records it to your ebarimt account — twice per month (mid-month and end of month), separate from transactions. Book these receipts as expenses.
  • As a result, sales revenue (full amount) − QPay fee (receipted expense) = amount credited to your account, so no income discrepancy arises for tax purposes.

TIP

Receipts sent by byl are payment confirmations, not VAT receipts. Issuing VAT receipts (e-receipts) to buyers through the ebarimt system remains your responsibility.

Golomt Bank (SocialPay)

A Golomt Bank merchant account lets you accept card payments and SocialPay. You'll need merchant credentials issued by Golomt Bank:

  1. Obtain an e-commerce merchant account from Golomt Bank.
  2. On the Payment methods page, click Connect (Холбох) in the Golomt section.
  3. Enter the following:
    • Environmentproduction (live) or development (testing).
    • Access token — the token provided by Golomt Bank.
    • Hash key — the key provided by Golomt Bank.
  4. On save, the connection is verified and, if successful, becomes "Active".

Pocket

Accept payments through the Pocket app. You'll need merchant credentials from Pocket:

  1. Obtain a merchant account from Pocket.
  2. On the Payment methods page, click Connect (Холбох) in the Pocket section.
  3. Enter your Client ID and Client secret.
  4. On save, the connection is verified and branch and terminal setup happens automatically.

Minimum amount

Payments made through Pocket must be greater than 500₮. The Pocket option is unavailable for smaller amounts (invalid_payment_amount_for_pocket_driver error).

Bank transfer

The customer transfers money straight to your bank account and you confirm the payment by hand after checking your statement. No gateway fees and no merchant account needed — the project only has to have at least one bank account.

  1. On the Payment methods page, click Connect (Холбох) in the Bank transfer section.
  2. Pick the account to show customers (defaults to the primary account).

The customer flow:

  1. Choosing "Bank transfer" on the payment page shows your account, the amount and a 6-digit reference code to write in the transfer description.
  2. After transferring, the customer clicks "I've transferred"; the checkout moves to pending and you receive a payment.awaiting_verification notification (to the project email when no Telegram/Discord channel is connected).
  3. Open the Payments page, filter by "Awaiting verification", enter the amount that arrived and Confirm — or Reject with a reason.
  4. Once confirmed the payment counts as paid and the usual checkout.completed / invoice.paid webhooks, notifications and receipts go out. A rejection reopens the checkout so the customer can transfer again (with a new reference) or pay another way.

Waiting window

You have 3 days to verify after the customer reports the transfer; a payment.verification_due reminder arrives 24 hours before the window closes, after which the checkout expires. You can confirm a transfer you found on your statement even if the customer never clicked the button.

Limitations

Bank transfer is not offered on subscription checkouts — renewals have to happen automatically. When the received amount differs, acknowledge the difference to confirm or reject; partial payments are not supported.

Editing and disconnecting

  • To update connection credentials, re-enter them via the Edit settings (Тохиргоог засах) button. If you leave a secret field (access token, hash key, client secret) empty, the previous value is kept.
  • If invalid credentials are detected, the payment method is automatically deactivated and your team members are notified by email.
  • You can remove a payment method with the Disconnect (Салгах) button — but if payments have been made through it, it can't be deleted, to preserve the payment history.

Next steps