Payments FAQ
Frequently asked questions about payments.
How long do payments take to process?
- PromptPay: Instant (confirmed within seconds)
- Bank Transfer: 5-30 minutes (varies by bank)
What happens if a payment fails?
If a payment fails, you'll receive a payment.failed webhook event. The payment status will be updated to payment_failed and you can retry the payment or notify the customer.
Can I cancel a payment?
Yes, you can cancel payments that are in certain statuses (processing, pending, requires_payment_method, etc.). See Cancel Payment for details.
How do I check payment status?
You can check payment status by:
- Retrieving the payment using the payment ID
- Polling the API periodically
- Using webhooks for real-time notifications (recommended)
What is an idempotency key?
An idempotency key ensures that if you retry a request with the same key, it won't create a duplicate payment. Always use unique idempotency keys for each payment attempt.
How do I handle expired payments?
Expired payments cannot be completed. You'll need to create a new payment for the customer.
Can I refund a payment?
Refunds are not currently available via the API. To process a refund, please contact support through your merchant dashboard. See the Refunds Guide for more information.