Skip to main content
Working with Shopify Orders [OCU]

Find out all about how OCU interacts with your Shopify Orders!

Jeff Maxfield avatar
Written by Jeff Maxfield
Updated over a week ago


The OCU app uses Shopify's Checkout to process orders and then shows one-click post-purchase offers on the page(s) preceding the Shopify Order Confirmation page. There is a 10-minute countdown timer available for post-purchase offer pages, although the customer has up to 60 minutes to complete the post-purchase offer funnel before the offer(s) expire.
The initial checkout order is created immediately after the Shopify Checkout is completed. When the customer adds a post-purchase offer, the order is then Edited to include the additional offer(s).

An Order Edit email will be sent immediately after accepting the post-purchase offer; if there is a payment failure, then an invoice email will be sent 2 hours later-- this is only an issue if you have NOT enabled the Remove unpaid items from orders setting for Post-Purchase and TY page offers.

Each post-purchase offer that is added to the original order is a separate transaction and is viewable in the Timeline section of the Order. In the screenshot below, $81.38 was what was paid at Checkout. The customer added post-purchase offer 1 to their order. The order was edited and the additional item and revenue ($66.77) were added:

3rd Party Fulfillment

Due to the "Fulfillment Holds" update applied by Shopify on May 3rd, 2021 OCU should now work smoothly with those 3rd party fulfillment apps and services. More details

The fulfillment status for orders that show post-purchase offers on Shopify Checkout will be set to "On holdโ€, to prevent these orders from being fulfilled while buyers are still interacting with the post-purchase offer(s) for their order. The hold will be lifted when the buyer reaches the Shopify Thank You Page, or after one hour if they don't reach the TY page.

After that, the fulfillable_quantity will be updated to the correct quantity of items ordered, fulfillment_status will be set to open, and the order can be successfully fulfilled. Please note that orders with "On hold" status can't be fulfilled as the fulfillable_quantity = 0 at that time:

All 3rd Party Logistics (3PL) apps and services must use the fulfillable_quantity field as noted here by Shopify in their API documentation, to be compatible with any post-purchase app that works on Shopify Checkout.

This change should have essentially no impact on any 3rd party fulfillment apps using the Shopify Order Fulfillment API. However, fulfillment apps that consume some other API (Order API, etc.) to work will not be able to fulfill orders while they have "On hold" status and they could have other issues with fulfillment orders where post-purchase was shown or bought. Using the Order Fulfillment API is strongly recommended, but if thatโ€™s not possible for your 3rd party fulfillment provider to do, then retrying the fulfillment after one hour has passed is the recommended workaround.

A fulfillment hold for an order is able to be manually released, however it's not recommended as no post-purchase offers can be added to the order after the hold is released. If you need to manually release the hold early, we recommend wait at least 20 - 30 minutes after the order is placed (10 min for upsell 1 + 10 min for upsell 2/downsell + TY page).

Paid / Partially Paid Orders

Sometimes your customers will receive a payment declined message when attempting to buy a one click post-purchase offer. There are several reasons why a customer can get a "transaction declined" or another error message when attempting to buy a post-purchase offer.

The two main reasons are:

  • Decline from the bank (customer side)

  • Decline from the payment processor (payment processor side)

In this case, the post-purchase upsell product is still added to the order when the customer clicks the "Add to Order" button, regardless of whether the transaction was successful or failed. We show these offers as accepted in analytics.

  • If the post-purchase transaction was successful, then you'll see an additional transaction in the Order, and the whole order will be marked as paid.

  • If the post-purchase transaction was failed, then the upsell product will be added, but there will be no additional transaction in the Order, and order status will be partially paid.

๐Ÿ“A TY Page Upsell which has been added, but not paid for by the customer is another reason the Order can have "Partially paid" status. More details here

If payment fails for a Post-purchase offer, then 2 hours later the customer receives an Order Edit email from Shopify with an explanation that they added a product to the order, but didn't pay for it yet. The email will include a link they can click to pay for it. This email will be sent by Shopify automatically for these cases.

๐Ÿ“ This email will not include a payment link if the "Remove Unpaid Item From Orders" setting at the Settings > Post-Purchase in the OCU app is enabled (default). In this case, the unpaid item is removed 65 minutes after being added.

On the merchant side, it will show as a partially paid order because the offer was accepted (without successful payment) and the Order was updated. Merchants can then handle the order any way they want such as:

  • Collect payment

  • Edit the order to remove the unpaid item
    โ€‹๐Ÿ“The "Remove Unpaid Item From Orders" setting in the Settings > Post-Purchase section of the app automatically removes the unpaid item in 65 min if payment isn't received for it before then, if enabled.
    If the unpaid Post-purchase offer charged extra for shipping, then even after the unpaid item is removed, the order will remain in "Partially paid" status because we do not remove the unpaid shipping amount from the order.
    When an unpaid item is removed from an order via Order Editing, it is tracked in the "Returns" column in your Shopify analytics.

Since Shopify hasn't added the payment failure information on Orders yet, it's recommended to contact Shopify Support with affected order numbers for more details about that if needed.

โš ๏ธ Make sure that the customer has actually paid for the un-paid upsell offer before fulfilling the order.

๐Ÿ“Post-purchase and TY page offers will not be removed from authorized orders if payments are set to be manually captured.

The order will remain in authorized Payment Status, then it will switch to unfulfilled Fulfillment Status after 1 hour.

Error: "Payments can't be processed right now because of a technical issue..."

If the customer receives this error after attempting to buy a post-purchase offer:

...this is likely due to the order being fulfilled immediately after purchase. If the order is already fulfilled, then it's unable to be edited which means the post-purchase offer product cannot be added and/or bought.

To address this, you will need to do one of the following:

1. Change your Shopify admin "Order processing" setting (Settings > Checkout > Order processing) to one of the following options instead:

If you use this option, Shopify has bulk-action functionality to fulfill a lot of orders with a few clicks as shown in this video.

2. Use an App for fulfillment with a delay setting and don't use Shopify's core functionality for fulfillment. We recommend delaying fulfillment of orders by 30 - 60 minutes, to ensure there is enough time for the post-purchase offer(s) to be added before the order is fulfilled.

From One Click Upsell - Zipify OCU (via import)

If you use the discount progress bar, free shipping bar, "fixed amount" and/or "percentage" discounts for pre-purchase offer(s) and the customer adds the upsell to the cart, OCU generates a Draft Order in your Shopify admin.

In your Shopify admin, all orders where a discount for pre-purchase was used are marked as "from One Click Upsell - Zipify OCU (via import)"

In this case, the "Session details" will be lost and are not able to be shown in the Conversion summary of the order.

Orders that contain a pre-purchase offer, but without a discount, or those that contain post-purchase or TY page offers only are marked as "Online Store" orders. Please refer to OCU in-app Statistics to see full upsell statistics, since stats by the Zipify OneClickUpsell channel in the store is not complete.

๐Ÿ“The "One Click Upsell - Zipify OCU" channel in Shopify admin counts Total revenue (initial order + post-purchase/ty page offers) for orders processed on that channel. The in-app stats are specific to the Offers only (don't include any initial order items), so there will always be a discrepancy between these two stats figures due to that.

Order Tags

Your Orders which contain a product page offer(s), pre-purchase offer(s), in-checkout, post-purchase offer(s), and/or thank you page offers can easily be found in your Shopify admin Orders area by searching for the following tags there:

  • OCU Zipify Product Page Upsell Bought

  • OCU Zipify Pre-Purchase Upsell Bought

  • OCU Zipify In-Checkout Upsell Bought

  • OCU Zipify Post-Purchase Upsell Bought

  • OCU Zipify TY Upsell Bought

  • OCU Zipify Shop Mini TY Upsell Bought

  • OCU Zipify Shop Order Management Upsell Bought

Once you define the search and/or filtering options in the Orders section, you are then able to (optionally) export that data for your specific search criteria to a CSV/Excel file using the "Export" option available for Shopify Orders.

Editing an Order that contain an OCU Upsell with a Discount

In case a customer asks about editing an order that contains an OCU upsell product with discount, follow the steps below to perform this action properly:

Case 1: Customer asks you to replace a non-upsell product with a product variant that was bought as an upsell at a discount.

When manually editing the order, donโ€™t increase the upsell quantity because a discount will be applied for both items instead of one, and the edited order will then show "You owe your customer X amount".
After removing the unneeded product, add the needed product variant by clicking on "Browse" button and select the needed variant to add it as a new line item:

You should then have something like this:

In the above example, the "Grey" variant was removed and the "Green" variant was added as a new line item at full price, to ensure the Total for the edited order matches with the original total.

*Important: After manipulating the order via edits, always check the โ€œTotalโ€ and โ€œPaid by customerโ€ pricing figures to ensure they're the same.

Case 2: A customer asks you to replace an upsell product with a product variant that was bought as regular (not upsell) product.

When manually editing the order, donโ€™t increase the quantity of this product because then the order will show "Customer owes you X amount".

After removing the unneeded upsell product, add the needed product variant by clicking on the "Browse" button and choose the needed variant to add it as a new line item:

Then click on the "Apply discount" link to add the same discount that was applied for removed upsell product. You can use a percentage or amount discount:

You should then have something like this:

In the above example, the "Green" variant that was bought as the upsell offer at a $50 discount was removed and the "Grey" variant was added as a new line item at a $50 discount instead, to ensure the Total for the edited order matches with the original total.

*Important: After manipulating the order via edits, always check the โ€œTotalโ€ and โ€œPaid by customerโ€ pricing figures to ensure they're the same.

Post-purchase Upsell Shipping Cost

When adding a one click post-purchase upsell offer to an Upsell Funnel, you are also able to set how much extra shipping you want to be charged for the offer.

The "Shipping Rate Title" and Cost you set there is what will determine the Rate Name for the post-purchase offer on the Order Confirmation page, the Order Confirmation email the customer receives, and on the Order invoice in your Shopify admin.

The "Charge per unit" setting can be enabled if you want the shipping cost you specify to charge per unit that the customer buys. I.e. if enabled and the shipping cost is set to $2.50 and the customer buys 2 units (quantity) then they would be charged $5.00 in upsell shipping.

In the example below, the "Shipping Rate Title" for the post-purchase offer was set as Upsell Shipping and the cost was $1.99

๐Ÿ“The post-purchase upsell shipping cost is listed as a separate line item for Shipping in the Order details.

Free Shipping Threshold

Adding one click post-purchase upsell/downsell offers has no effect on the Shipping cost for the initial checkout order.

For example: If a customer enters Checkout with a Total below the Free Shipping threshold you've set for your store, but then adds a post-purchase offer that takes the "Total" for the order above the Free Shipping threshold, it will not update the initial checkout order's shipping price to be Free.

The initial checkout order is considered "completed" before the one click post-purchase offers are presented, so there isn't a way to remove what's already been charged at Checkout. There is only a way to add extra shipping if your post-purchase offer page(s) charge additional shipping (see above).

For the one click post-purchase upsell/downsell offers, you can either choose "Free Shipping" or "Charge for Shipping" when setting up the offer pages.

Please reach out to us in support if you have any questions we can help answer!

Did this answer your question?