AKD Pay Docs
Bahasa IndonesiaID Dashboard
LIVE This documentation applies to both sandbox and live.

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.