Payment capture

If you have the Manual Payment Capture setting enabled on your store, orders may show as partially paid. Many stores have automatic payment capture systems set up, yet still have the Shopify Manual Payment Capture setting enabled. Please confirm your store’s payment capture settings:

A common case where stores have the Manual Payment Capture setting enabled, is when using fraud detection apps (e.g. NoFraud or Riskified). If the fraud detection app does not natively support post-purchase upsells, then it will often capture payment for the order too early before the post-purchase upsell is added. In this case the post-purchase upsell payment will be authorized, but only the initial payment would be captured. Such an order would be shown as Partially paid.

The simplest solution to ensure that all payments for an order are captured is to use a Shopify Flow. Below is an image of a Shopify Flow that achieves this:

This flow has 3 steps:

  1. Trigger. We trigger/start the flow when an order transaction has been created. The first transaction for an order is created when the customer places the order. An additional transaction is created if the customer accepts the AfterSell post-purchase upsell. Our goal is to capture payment on the second transaction, so we will check some conditions in the next step.
  2. Conditions. We only want this flow to continue if the transaction that was created is from a post-purchase upsell. We also don’t want to run this flow if payment for the original order hasn’t been captured yet. This flow is only supposed to capture additional payment that was missed. If there hasn’t been any payment captured yet, then we will do nothing in this flow and assume that the regular payment capturing system will capture the full amount.
  3. Capture payment. If all of the checks have passed, then we will capture payment. This will capture the payment only for the extra amount from the post-purchase upsell.

If you are using external fulfillment services, please ensure that the payment capture Flow doesn't have unintended effects on fulfillment. For more details, see our docs on Fulfillment here.