After creating a payment intent, direct the diner to the atlas_pay_url to complete payment. Then poll POST /cart/order to confirm:
1. POST /payment_intents → get atlas_pay_url2. Direct diner to atlas_pay_url3. Poll POST /cart/order - 422 → payment not yet complete, keep polling - 200 → order confirmed, stop polling
POST /cart/order validates the payment in real-time against the payment processor. It does not depend on webhooks
Payment succeeded → cart converts to a confirmed order, full order object returned
Payment not completed → 422 with "Insufficient payment made to the cart"
POST /cart/order is idempotent — if called after the order is already created, it returns the existing order. Safe to retry
Was this page helpful?
Assistant
Responses are generated using AI and may contain mistakes.