Help
FAQ
Frequently asked questions about integrating AKD Pay.
Which payment methods are supported?#
QRIS (dynamic QR) and VIRTUAL_ACCOUNT (alias VA), in rupiah (IDR) only, for Indonesia. Cards and e-wallets are not supported yet. Check the methods enabled for your project with GET /v1/integration-context?project_id=….
What is the minimum amount?#
QRIS at least IDR 1, Virtual Account at least IDR 10,000. Amounts are always whole numbers without decimals.
How long is a payment valid?#
Currently 30 minutes (expires_at in the response). After that the payment becomes EXPIRED and you receive payment.expired. To try again, create a new payment with a new external_order_id and Idempotency-Key.
Does the sandbox use real money?#
No. The sandbox uses the payment provider's test mode, and payments are paid by simulation. Real money exists only in live.
Can I use my sandbox API key in live?#
No. Sandbox and live are separate systems, each with its own merchant_id, project_id, API key, webhook endpoint, and secret. See Sandbox vs Live.
Is there a payment page in live?#
No. payment_url and POST /v1/hosted/payments exist only in the sandbox. In live, show checkout.qr_string (QRIS) or checkout.account_number (VA) in your app.
When may an order be marked paid?#
Only from a payment.paid webhook whose signature verifies, or from GET /v1/payments/{id} with status PAID. Never from a browser redirect or return_url.
My webhook does not arrive. What should I do?#
Check the webhook history in Merchant Dashboard → Pengembang. Failed deliveries are retried up to 10 times (about 1.5 days); after that they are DEAD and can be resent from the dashboard. Meanwhile, read the status with GET /v1/payments/{id}. Details: Retry, DEAD, and resend.
What if a create-payment request times out?#
Retry with the same Idempotency-Key and body. AKD returns the same payment, not a new one. See Idempotency.
My API key leaked. What should I do?#
Ask the AKD team to revoke it at once at partnership@algoritmakitadigital.id. A new key can be issued before the old one is revoked, so rotation does not interrupt service.
Can I refund through the API?#
Not in v1.0.x. Refunds are made by the AKD team at your request, and the result is sent through the payment.refunded webhook. See Refunds.
Who processes the payment funds?#
AKD provides technical payment integration services. Payment processing and settlement of funds are carried out by payment service provider partners licensed by Bank Indonesia.