FAQ

This FAQ covers common questions about Brick integration, including account setup, authentication, environments, callbacks, and troubleshooting steps applicable across all Brick products.

General

1. Account & Access

Q: What must be completed before integration?

You must:
• Pass KYB verification
• Have an active Brick dashboard account
• Obtain API Key & Secret
• Decide environment: Sandbox or Production

References:
• Verify Your Account (KYB)
https://docs.onebrick.io/docs/verify-your-account
• Brick Dashboard Overview
https://docs.onebrick.io/docs/dashboard-overview
• Getting Started With Your API
https://docs.onebrick.io/reference/getting-started-with-your-api-6

Q: Can I use production API before KYB is approved?

No.
Production access is only enabled after KYB approval.

Reference:
• Verify Your Account (KYB)
https://docs.onebrick.io/docs/verify-your-account


2. Environment & Credentials

Q: What is the difference between Sandbox and Production?
• Sandbox: testing only, simulated transactions
• Production: real funds and real bank processing

Sandbox credentials cannot be used in production and vice versa.

References:
• Try Brick API with Postman
https://docs.onebrick.io/docs/postman-collection
• Production Checklist
https://docs.onebrick.io/docs/production-checklist

Q: Why am I getting 401 Unauthorized?

Common causes:
• Wrong API key or secret
• Wrong environment base URL
• Expired JWT token

References:
• API Introduction
https://docs.onebrick.io/reference/api-introduction
• Generate Public Access Token (JWT)
https://docs.onebrick.io/reference/generate-public-access-token-jwt-token


3. Authentication & Security

Q: How does Brick authentication work?

Brick uses:
• API Key and Secret
• Short-lived JWT Public Access Token (5 minutes)
• Signature verification for callbacks

References:
• APIs Security
https://docs.onebrick.io/docs/api-security
• API Response Structure
https://docs.onebrick.io/reference/api-response-structure

Q: Why does my JWT token keep failing?

JWT tokens:
• Expire after 5 minutes
• Are single-use

Always regenerate before retrying a request.

Reference:
• Generate Public Access Token (JWT)
https://docs.onebrick.io/reference/generate-public-access-token-jwt-token


4. Callbacks & Webhooks

Q: Why am I not receiving callbacks?

Check:
• Callback URL is public and HTTPS
• SSL certificate is valid
• No firewall blocking inbound traffic
• Signature verification logic is correct

References:
• API Security
https://docs.onebrick.io/docs/api-security
• Error Handling
https://docs.onebrick.io/docs/error-handling

Q: Should I rely on API response or callback?

Always rely on callback.
API response only confirms the request was accepted, not completed.

References:
• Disbursement Callback
https://docs.onebrick.io/reference/disbursement-async
• Payment Callback
https://docs.onebrick.io/reference/callback-payment-ewallet


5. Reference ID Rules

Q: Can I reuse the same reference ID?

No.
Each transaction must use a unique reference ID.

Reference:
• API Response Structure
https://docs.onebrick.io/reference/api-response-structure


6. Debugging & Support

Q: What should I provide when reporting an issue?

Always include:
• Reference ID
• Timestamp
• API endpoint
• Environment (Sandbox or Production)
• Error response

Reference:
• Error Handling
https://docs.onebrick.io/docs/error-handling


Disbursement

1. Disbursement Failure

Q: Why does my disbursement fail even though balance is sufficient?

Possible causes:
• Invalid recipient bank details
• Bank temporarily unavailable
• Sender detail not configured
• Account validation not performed

Best practice:
• Always call Account Validation API before disbursement

References:
• Disbursement via API
https://docs.onebrick.io/docs/payment-out-via-api
• Account Validation API
https://docs.onebrick.io/reference/account-validation-api
• Sender Detail
https://docs.onebrick.io/docs/sender-detail


2. Disbursement Method

Q: What’s the difference between Regular and BIFAST disbursement?

  • BIFAST: real-time, lower cost, limited bank coverage
  • Regular: wider bank coverage, near real-time

If the destination bank does not support BIFAST, the transaction will fail.

References:
• BIFAST Disbursement API
https://docs.onebrick.io/reference/disbursement-bifast
• Regular Disbursement API
https://docs.onebrick.io/reference/disbursement-api

3. Disbursement Status

Q: Why is my disbursement stuck in PENDING?

Possible causes:
• Bank processing delay
• Awaiting partner callback

Recommended actions:
• Check Disbursement Status API
• Treat callback as final confirmation

References:
• Checking Disbursement Status
https://docs.onebrick.io/docs/get-payment-out-transaction-status
• Disbursement Callback
https://docs.onebrick.io/reference/disbursement-async


4. Retry Rules

Q: Can I retry a failed disbursement?

Yes, but:
• Use a new reference ID
• Ensure the failure cause has been resolved

Reference:
• API Response Structure
https://docs.onebrick.io/reference/api-response-structure


5. Ledger & Reconciliation (BrickFast)

Q: Why does my dashboard balance differ from Ledger API?
• Dashboard shows available balance
• Ledger API shows transaction movements

Pending or reversed transactions may cause differences.

Reference:
• Transactions History and Ledger API
https://docs.onebrick.io/docs/ledger-api-and-transactions-history

Q: How should finance teams reconcile disbursement transactions?

Use:
• Ledger API
• Dashboard transaction history
• Transfer Proof API

References:
• Ledger API
https://docs.onebrick.io/reference/ledger-api
• Download Transfer Proof
https://docs.onebrick.io/reference/download-transfer-proof-api


Acceptance

1. Virtual Account (VA)

Q: What is the difference between Open VA and Closed VA?
• Open VA: reusable, flexible amount
• Closed VA: one-time use, fixed amount

Reference:
• Virtual Account Overview
https://docs.onebrick.io/docs/virtual-account

Q: Why is my VA payment not reflected yet?

Possible causes:
• Bank settlement delay
• Callback not delivered yet

Recommended actions:
• Listen to VA callback
• Use VA Status API as fallback

References:
• VA Callback
https://docs.onebrick.io/reference/callback-e-wallet-payment-copy
• VA Status API
https://docs.onebrick.io/reference/status-of-open-va

Q: Why did my Closed VA payment fail?

Most common reason:
• Paid amount does not match the fixed VA amount

Reference:
• Generate Closed VA
https://docs.onebrick.io/reference/generate-closed-va


2. QRIS

Q: Why can’t I generate QRIS?

Possible reasons:
• Merchant not registered or approved
• QRIS not activated
• Invalid SNAP token or signature

QRIS requires merchant approval before usage.

References:
• QRIS Overview
https://docs.onebrick.io/docs/qris
• Registering for QRIS
https://docs.onebrick.io/docs/merchant-creation

Q: What’s the difference between Static and Dynamic QRIS?
• Static QRIS: reusable QR
• Dynamic QRIS: generated per transaction with fixed amount

Reference:
• Generate Dynamic QRIS
https://docs.onebrick.io/reference/generate-dynamic-qris

Q: Why is QRIS payment successful but not updated in my system?

Possible causes:
• Callback not processed
• Signature verification failed

Always treat callback as the final status.

Reference:
• QRIS Callback
https://docs.onebrick.io/reference/qris-callback-dynamic-qris


3. Payment Link

Q: Why does my payment link show “expired”?

Possible causes:
• Link has passed its expiration time
• Payment already completed or canceled

Generate a new payment link for retry.

References:
• Payment Link Overview
https://docs.onebrick.io/docs/payment-link
• Cancel Payment Link
https://docs.onebrick.io/reference/cancel-payment-link

Q: Can a payment link be reused?

No.
Each payment link is tied to a single transaction lifecycle.

Reference:
• Generate Payment Link
https://docs.onebrick.io/reference/generate-open-va-via-payment-link


4. E-Wallet Acceptance

Q: E-wallet redirect opens but payment fails—why?

Possible causes:
• User closes app mid-flow
• E-wallet service downtime
• Amount mismatch

Recommended actions:
• Check Status E-wallet API
• Rely on callback result

References:
• Status E-wallet Payment
https://docs.onebrick.io/reference/status-ewallet-payment
• Callback E-wallet Payment
https://docs.onebrick.io/reference/callback-payment-ewallet