Status Overview

When a user successfully attempts to finish a Checkout Session, Ivy deletes the checkoutSession and creates an order object with the same fields as the checkoutSession and an additional statusfield which is the status of the transaction.

To get the latest payment status, you can either poll the status of an order by calling the /order/details endpoint or by setting up Webhooks. The status set of the Webhooks and the /order/details endpoint are the same. The Ivy API fires the webhook event order_updated with all order fields, including the order.status field. Check for the order.status to update your system accordingly.

Find more about webhhooks and how they work in the section about webhook basics.

Statuses:

StatusDescriptionTerminal status?
processingThe order has been created successfully and the end user started the payment flow.No
canceledThe payment flow has not been completed and the session expired.Terminal for all orders
waiting_for_paymentThe user authorised the payment and completed the session successfully. The bank sent the money, but the money still needs to settle. The payment is not guaranteed.Terminal for payments with direct settlement
failedMoney has not arrived in Ivy's collection account within 6 days and will not arrive anymore.Terminal for all orders
paidMoney has successfully arrived with Ivy's collection account or is being guaranteed by Ivy. The time until the paid status depends on the speed of the bank transfer and can be anything between instant and 48h.

This status only appears for settlement with Ivy and not for direct settlement.
Terminal for orders with settlement with Ivy.
in_refundThe order is currently undergoing the refund process. Money is on the way to the end user's bank account.No
refundedThe order has been successfully refunded. Money has arrived at the end user's bank account.Yes
partially_refundedThe order has been successfully refunded partially. Money has arrived at the end user's bank account.No

Status Flow