# Shopify Limitations

**The following limitations and considerations for post-purchase checkout extensions apply:**

| **Area**                                            | **Context**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Credit Card Processors**                          | Post-purchase offers are shown only when the customer pays through a **direct credit-card processor** supported by Shopify Checkout. Fully supported: **Shopify Payments**. Supported if configured correctly: **Braintree**, **PayPal Payments Pro**, **Payflow Pro** (CVV not required for every transaction). Unsupported: **Airwallex**, **PSIgate**, **Safeweb Services (NMI Network Merchants, Inc.)**, or any external/off-site processor without vaulting support.                          |
| **Third-party Payment Providers Requiring CVV/CVN** | Payment providers that require the customer’s CVV/CVN for each transaction can’t support post-purchase offers. This includes but isn’t limited to **Braintree**, **Payflow Pro**, **PayPal Payments Pro**, and **Eway**. To enable post-purchase offers, disable “require CVV for each transaction.”                                                                                                                                                                                                |
| **Digital Wallets (Supported)**                     | **Shop Pay** and **PayPal Express** (only if approved for **Reference Transactions**) are supported for one-click post-purchase upsells. **PayPal Wallet** via Shopify Payments might also be supported depending on your region and PayPal setup.                                                                                                                                                                                                                                                  |
| **Digital Wallets (Unsupported)**                   | Other wallets and installment services are not supported, including **Amazon Pay**, **Google Pay**, **Apple Pay**, **Klarna**, **Affirm**, **AfterPay**, **Sezzle**, **QuadPay**, **Checkout.com**, and **Mollie**.                                                                                                                                                                                                                                                                                 |
| **PayPal Express (Reference Transactions)**         | To process post-purchase upsells, PayPal Express requires **Automatic Payments / Reference Transactions** to be enabled by PayPal. If the *BillingAgreementID* parameter isn’t present in the PayPal transaction details, contact PayPal to activate Reference Transactions. Shopify requests approval automatically when **AOV.ai Post Purchase Upsell** is selected as the Post-Purchase App.                                                                                                     |
| **PayPal Payments Pro / Payflow Pro**               | Works only when the customer pays with a **credit card** (not wallet mode). Make sure CVV requirement is disabled. Express/Wallet mode through these processors isn’t supported.                                                                                                                                                                                                                                                                                                                    |
| **Shop Pay Installments**                           | The 4-installment payment method in Shop Pay is not supported for post-purchase offers. Only full-payment Shop Pay checkouts qualify.                                                                                                                                                                                                                                                                                                                                                               |
| **Gift Card & Manual Payments**                     | Post-purchase upsells won’t appear if the order was fully paid with a **gift card** or **manual payment** method such as Cash on Delivery or Bank Transfer.                                                                                                                                                                                                                                                                                                                                         |
| **Orders Without Shipping Address**                 | Post-purchase upsells won’t appear if no shipping address exists (for example, digital-only purchases or local pickup).                                                                                                                                                                                                                                                                                                                                                                             |
| **Orders for Local Delivery**                       | Orders using the “Local Delivery” method are skipped because payment vaulting isn’t supported.                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Multi-currency & Duties**                         | Post-purchase upsells are skipped for orders involving **duties** or **multi-currency** checkouts. Offers appear only when payment is in the store’s **base currency**.                                                                                                                                                                                                                                                                                                                             |
| **Minimum Order Price**                             | Orders must be **$0.50 USD or more** to qualify for post-purchase offers. Free ($0) orders skip the post-purchase page.                                                                                                                                                                                                                                                                                                                                                                             |
| **Installment & Wallet Services**                   | Installment payments or unsupported digital wallets will skip post-purchase upsell (e.g., Klarna, Affirm, AfterPay, Apple Pay, etc.).                                                                                                                                                                                                                                                                                                                                                               |
| **Purchase Events (Analytics Limitation)**          | Third-party analytics (Google, Meta, Pinterest, Snap) using the Shopify Pixel API will record only the **initial checkout purchase**, not the upsell purchase value.                                                                                                                                                                                                                                                                                                                                |
| **Order Creation Delays**                           | In flash sales or high-traffic events, Shopify may delay order creation for performance optimization. In these cases, the post-purchase page request may be skipped even when properly triggered.                                                                                                                                                                                                                                                                                                   |
| **Multiple Apps**                                   | Only one app can control the Post-Purchase Checkout Extension at a time. Merchants must select **AOV.ai Post-Purchase Upsell** in **Settings → Checkout → Post-purchase page**.                                                                                                                                                                                                                                                                                                                     |
| **Fulfillment Holds**                               | Shopify places a **temporary fulfillment hold** on all orders in a post-purchase flow. The hold is lifted either when the buyer reaches the **Order Status Page**, or **1 hour** after checkout if they close before completing the flow.                                                                                                                                                                                                                                                           |
| **Interaction with the Order Status Page**          | The Post-Purchase Page is separate and should not replace the **Order Status Page**. Both serve different stages in the buyer journey.                                                                                                                                                                                                                                                                                                                                                              |
| **API Versioning**                                  | The **Post-Purchase Checkout Extension APIs** are not versioned and do not follow Shopify’s quarterly API release cycle.                                                                                                                                                                                                                                                                                                                                                                            |
| **Number of Post-Purchase Offers**                  | Customers can accept up to **two post-purchase offers** per checkout. Additional offers will not be displayed.                                                                                                                                                                                                                                                                                                                                                                                      |
| **Number of Post-Purchase Pages**                   | Each app can only create **one Post-Purchase page**, but you can paginate within it to show multiple sequential offers.                                                                                                                                                                                                                                                                                                                                                                             |
| **Sales Channel**                                   | Post-purchase upsells are supported only on the **Online Store** sales channel. Other channels (Shop App, POS, etc.) will not render the page.                                                                                                                                                                                                                                                                                                                                                      |
| **Unsupported Scenarios (Summary)**                 | <p>Post-purchase offers won’t appear when:<br>1️⃣ Payment gateway is external/off-site.<br>2️⃣ Payment method requires re-entering CVV.<br>3️⃣ Wallet used isn’t Shop Pay or PayPal Express.<br>4️⃣ Installment or third-party payment used.<br>5️⃣ Order is free ($0) or gift-card-only.<br>6️⃣ Local pickup or delivery used.<br>7️⃣ Multi-currency or duties applied.<br>8️⃣ A different app owns the post-purchase extension.<br>9️⃣ Order created via unsupported channel (POS, Shop App).</p> |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.aov.ai/aov-post-purchase-upsell/reference/shopify-limitations-and-considerations-for-post-purchase-checkout-extensions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
