Skip to main content

Understanding how payments work on the Agentic Storefront

How the checkout flow works, what payment methods are accepted, and how to issue a refund for Agentic Storefront orders.

J
Written by Jemma O'Leary

Payments on the Agentic Storefront are processed through Adyen, Swap's payment provider. This article explains how the checkout flow works, what payment methods are accepted, and how to issue a refund.


How checkout works

When a customer completes a purchase through your Agentic Storefront, this is the sequence of events:

  1. The customer adds items to their cart and proceeds to checkout.

  2. A draft order is created and stock is locked for approximately 10 minutes to prevent the same item being sold twice.

  3. The customer selects a payment method and completes payment.

  4. Payment is processed through Adyen.

  5. On successful payment, an order is created in both your Agentic merchant dashboard and Shopify.

Shopify remains your source of truth for inventory, pricing, and order management. Before checkout is completed, Agentic performs a live check with Shopify to confirm the item is still in stock — even if it appeared available earlier in the chat session.

What happens if a customer leaves before paying?

If a customer reaches checkout but does not complete payment, the draft order expires after approximately 10 minutes and the stock lock is released.


Accepted payment methods

Your Agentic Storefront supports the following payment methods via Adyen:

  • Credit and debit cards (Visa, Mastercard)

  • Apple Pay

  • Google Pay

If a specific payment method, e.g. American Express, is not working for your customers, this is usually down to a configuration setting. Contact Swap support to investigate.


How to issue a refund

We recommend processing refunds through your Agentic merchant dashboard in Swap to ensure they are handled properly by Adyen. Refunds made through Shopify will reach the customer via Adyen, but will not show up in the Swap dashboard if a Swap RMA was not used to trigger them, resulting in inconsistent data and making it harder for our team to debug any issues with your returns.

Did this answer your question?