Checkout and Payment Links
Run checkout and payment-link workflows with clear confirmation handling, expiry behavior, and retry controls.
#Purpose
Explains how to create and operate checkout or payment-link collection flows from creation through final confirmation.
#
- Onboarding and settlement setup are complete for production use.
- Order references and amount calculation rules are finalized before link creation.
- Operators can access payment status queues and webhook monitoring dashboards.
#
- Create checkout session or payment link with amount, currency, customer reference, and expiration.
- Present link to customer through approved channel and store the generated payment identifier.
- Monitor status transitions from created to pending, confirmed, failed, or expired.
- On expiry, generate a replacement link tied to the same merchant order context when appropriate.
- On payment confirmation, lock fulfillment to the confirmed payment identifier and timestamp.
#Expected outcomes and confirmations
- Each checkout attempt has a unique payment reference and clear status history.
- Expired links are not fulfilled and are replaced through controlled retry flow.
- Confirmed payments are matched to order records before fulfillment release.
#Common failure states
- Customer attempts payment after link expiry window closes.
- Duplicate customer submissions create multiple pending attempts for one order.
- Webhook delivery delay causes temporary mismatch between UI and backend status.
#
- Use payment status endpoint and event history to resolve the current canonical state.
- Reissue link with explicit expiry and customer communication when prior attempt expires or fails.
- Escalate unresolved confirmation conflicts with payment IDs, event IDs, and order references.
#Risk and compliance notes
- Set practical expiry windows to reduce stale-link misuse risk.
- Do not accept fulfillment triggers from unverified external notifications.
- Retain customer communication logs for dispute response and audit review.