Payment Status
The status field indicates the current state of a transaction.
Status Values
| Status | Description |
|---|---|
pending | Waiting for customer payment |
paid | Payment completed successfully (payment.success webhook) |
failed | Payment failed or was rejected (payment.failed webhook) |
expired | Not paid before expiredAt (payment.expired webhook) |
Expiry
A pending transaction becomes expired once it passes its expiredAt time, and a payment.expired webhook is sent. The expiry window is set with expiryPeriod when creating the payment (default 60 minutes).
Paying Again
On the hosted payment page, if the latest attempt is failed or expired and the payment link itself has not expired, the payer can choose a payment method and pay again. Each attempt is a separate transaction, so always rely on the latest status or webhook event.