Capturing payment for campaign orders


This document covers the current capturing behaviour for presale and crowdfunding campaign orders. At the end of a presale or crowdfunding campaign there are automatic capture attempts made by Submarine and there are also manual ways to capture payments. This document also outlines the support and workflow for paid upfront presales campaign orders (100% deposit campaigns).

Supported payment methods

If you set a presale campaign deposit ranging from 0%-99%, you can accept payments on Credit Card and Paypal via Shopify Payments during checkout. If you set a campaign deposit of 100%, you can take payment with any active payment methods setup on the store (Cash on delivery, Buy Now Pay Later or custom gateways etc). More details on paid upfront presales campaign orders below.

Automatic payment capture

For a campaign order to be captured it needs to meet a set list of criteria. Due to the existing limitation on Shopify - we can only capture twice against an order - once at checkout for anything paid upfront (in stock items or deposits on presale campaign items) and once when all items are due. Since we need to charge the remaining amount all at once we have what we refer to as Campaign order groups - this refers to all the campaign orders associated with that order.
For a campaign order to be charged, all campaigns in that campaign order group must meet the following criteria;
  • the campaigns are in, Ended status;
  • the fulfil at date is either blank or in the past;
  • the inventory has been allocated via Submarine to those campaigns
If all the above is true then Submarine will tell Shopify, it’s ready to capture the remaining balance on that order.
If the payment capture is successful, the following will occur;
  • The Shopify order and the Campaign order are marked as Paid.
  • The Shopify order and Campaign order timelines will show the capture details.
  • The line items will be removed from fulfilment hold, allowing them to be processed and shipped processed and shipped.
  • The payment capture successful trigger will fire in Shopify Flow (if setup).
If the payment capture fails, the following will occur;
  • The Shopify order will stay in payment pending status.
  • The Submarine Campaign order will be marked as Payment failed.
  • The Shopify order timelines and Campaign order payment history will show the failed capture details.
  • The line items will stay in fulfilment hold.
  • The payment capture failed trigger will fire in Shopify Flow (if setup).
  • If the campaign has a Grace period defined, the customer will have the defined timeframe to correct their payment issue. Submarine will automatically retry the charge at the end of the Grace period.
  • If the merchant has the new Shopify Order status or Customer portal published then the customer can also update their payment details and pay immediately. See more under Manual capture.
  • If the customer payment fails after the Grace period final retry the campaign order will be cancelled and the line item in shopify will be removed.
    • If the campaign had a deposit paid upfront and the campaign order is cancelled Submarine will adhere to the desired settings in the Submarine Settings> Deposits and either automatically refund the deposit or not refund the deposit.

Manual captures

Submarine supports what we refer to as a manual payment capture which is essentially a payment triggered outside of Submarine's automated workflow
These manual captures can come from the following place;
  • Campaign order Capture payment button, this button will be enabled if the Campaign Order capture originally failed and you’d like to attempt capture ahead of the Grace period retry.
  • Shopify order Collect payment button, this button allows you to charge the stored card for that customers order, enter a new card on their behalf or mark the entire order as paid.
  • New Shopify Order status and Customer portal pages, these new Shopify areas if in use expose a pay now option to customers when viewing a Payment pending order. This feature can cause issues if the merchant doesn’t want to accept early payments so it’s generally advised to hide those areas within the theme. If however merchants want to allow payment at the customers leisure then Submarine supports that.
After any of these workflows are used the same effects for both the Successful and Failed processes described above will occur.

Paid upfront presales campaign orders (100% deposit campaigns)

As of August 2023, Shopify now allows for more flexible payment options at checkout if the items are all paid upfront. To have a customer pay upfront the campaign needs to be configured to have a 100% deposit. If that is set then a customer will be pay for their entire presale at checkout and can use any available payment method the store has setup.
When a customer places an order for a paid upfront (100% deposit campaign item), we will still generate a Campaign order and immediately mark it as paid. The fulfilment hold will stay in place until the campaign is in an ended status, fulfilment date is blank or in the past and the inventory is allocated to that campaign.