Pending payments
When Paymend requires additional time to process a payment, we respond to the payment creation request with aPENDING status.
A PENDING status means:
- The payment has been successfully created
- No final authorization decision has been made yet
- Paymend is actively managing recovery attempts
PENDING is always a temporary state. Without any further action from the merchant, the payment will eventually transition to one of the following final statuses:
AUTHORIZEDCAPTUREDFAILED
FAILED and no further attempts are made.
You can see the lifecycle for payments with Paymend here.
Best practices for PENDING payments
While a payment is in PENDING state with Paymend, merchants may continue to attempt recovery outside of Paymend.
To avoid conflicts or double charges, please follow these rules:
- Do not retry the same payment via Paymend while it remains in
PENDINGstate. - If circumstances change such that no further authorization attempts should be made for a
PENDINGpayment (for example, the order is canceled or the consumer is successfully charged elsewhere), the payment with Paymend must be voided to prevent a double charge.
In the event of a race condition where Paymend has already recovered the payment, resulting in a temporary double charge, you must issue a refund.
Webhooks
Merchants should rely on Paymend webhooks to receive real-time notifications when a payment’s status changes (for example, when a payment moves fromPENDING to AUTHORIZED). This avoids the need to poll the query endpoint for updates.
You can find more details on Paymend webhooks here.
Previous failure details
The more information you can provide about previous attempts to process a payment, the more effectively Paymend can recover it. Paymend supports a PreviousFailure object that allows you to pass details about earlier attempts and their failure reasons. This information helps route the payment onto the most effective recovery path more quickly.Integration checklist
To ensure your integration to Paymend is of the highest quality, ensure that you:- Subscribe to webhooks (link to webhooks docs)
- Handle
PENDINGas a non-terminal state - Void
PENDINGpayments if no further authorization attempts should be made - Provide PreviousFailure data where available

