How to capture deferred payments when orders are fulfilled using Shopify Flow

Shopify doesn't currently provide an option for pre-orders to automatically capture deferred payments when orders are fulfilled, however, using a simple Flow you can set this up for all incoming pre-orders.

Setup your pre-order campaign

Firstly, make sure you have created a pre-order campaign in Early Bird and published it to your storefront. You will need to choose a deferred payment date around when you expect to fulfil orders.

This is what customers will see when checking out, however you can change this date after the order has been placed, as we will demonstrate using Flow.

Create a Flow to set new pre-orders to be due on fulfillment

Once you have your campaign, create a new Flow and give it a relevant name (i.e. "Make pre-orders due on fulfillment").

You can optionally add extra conditions here to limit the Flow to only run on specific pre-order campaigns or products, based on your requirements.

Add a condition to check if the order.paymentTerms.id field is "not empty and exists". This ensures the pre-order has a deferred payment set.

Now create an action to "Send Admin API request", and choose the paymentTermsUpdate mutation.

Enter the following JSON value in the textbox provided:

{
  "input": {
    "paymentTermsId": "{{order.paymentTerms.id}}",
    "paymentTermsAttributes": {
      "paymentTermsTemplateId": "gid://shopify/PaymentTermsTemplate/9"
    }
  }
}

This will update the pre-order's payment terms to be set to "Due on fulfillment" when it runs automatically.

If you have any questions or need help configuring this Flow, please contact support@shopside.com.au or message us via the Early Bird app.