Can the payment time for the preorder final payment selling plan be set as optional?

I’m using SellingPlan to create pre-order functionality for client stores, but the expected product delivery time is only up to the quarter (this may change). My current approach is to create a SellingPlan with a very long timeframe. When the goods are ready, I batch-modify and remove the final payment deadline, requiring users to manually pay the final balance. One major drawback is that when a user pays their deposit, they are prompted with “Your card will be charged on February 28, 2027.” This is the product delivery date.

My suggestions:

  1. Is it possible to make the automatic deduction time optional?

  2. Can this prompt be modified?

  3. Are there any other solutions?

I would prefer to resolve this issue on a per-order basis. I hope this helps.

1 Like

Hey @Alam_XrtoTech,

We recently added an ON_FULFILLMENT option for the remainingBalanceChargeTrigger field, which ties the remaining balance charge to fulfillment instead of a fixed date. Take a look at the changelog entry and the build a pre-order solution docs for the full setup. It’s available starting with the 2026-01 API version.

Let me know if that will work for you!

Hi, @KyleG-Shopify
I noticed a new field, ON_FULFILLMENT. We expect to receive payment for the product before the order is completed. The product’s characteristic is that after development is complete (the development time is uncertain), buyers will be notified manually to purchase the item through the community, rather than having payment set at a specific time or after the order is completed (because the product is high-value). We and the players trigger this manually, not through a trigger.

Hey @Alam,

I see, so ON_FULFILLMENT isn’t a direct fit here since your model is collect payment first, then ship, and you need full manual control over when that remaining balance is collected. I’m submitting this as a feature request. :memo:

For a possible workaround (I haven’t tested this personally, but definitely worth trying), ON_FULFILLMENT combined with the orderCreateMandatePayment mutation could possibly bridge the gap. You’d set the selling plan to ON_FULFILLMENT and then when the product is ready, call orderCreateMandatePayment to collect the remaining balance against the customer’s vaulted payment method. Once payment clears, you fulfill the order. Your app controls when that mutation fires, so the timing is effectively manual even though the trigger is labeled “on fulfillment.”

Hi @KyleG-Shopify ,Thanks for your reply. It seems orderCreateMandatePayment might not work for me; my store is currently in the advanced setting.

Gotcha. Yeah, the core of what you’re describing, a fully manual remaining balance trigger with no fixed date or fulfillment dependency, doesn’t exist in the current set of remainingBalanceChargeTrigger options.

This has been submitted as a feature request so if this is implemented it will be available in the developers changelog.

Thanks for taking the time to walk me through your workflow, it helps a lot when passing this feedback along.