← All articles

October 14, 2026 · Muhammad Rehan · More by Muhammad Rehan

Shopify's Payment Customization API Sets B2B Deposits in Code

Shopify's Payment Customization Function API can set B2B deposits and net terms in checkout code — but deposits still need Shopify Plus.

What the Function Can Touch

Shopify's Payment Customization Function API lets a Shopify Function evaluate a cart and return a paymentTermsSet operation at checkout, replacing manual company-location configuration with code-driven rules. A function can set fixed payment terms (a specific due date), net terms (due 7, 15, 30, 45, 60, or 90 days after the order is placed), or event-based terms tied to FULFILLMENT_CREATED, ORDER_FULFILLED, or INVOICE_SENT — and it can attach a percentage deposit to any of them.

Where this runs matters as much as what it can set. Shopify's compatibility matrix marks the function as supported for B2B, Checkout, Draft Order (Checkout), and Pre-order/Try Before You Buy, and only partially supported on Storefront Accelerated Checkout, where payment terms specifically aren't supported even though the function itself is. Everywhere else the matrix says no: Cart, Create Order API, Draft Order (Admin), Order Edit (Admin or Checkout), POS, Shopify Admin, Storefront, and Subscriptions are all unsupported. That last one is explicit and absolute — a payment customization function can't set payment terms at all when the cart contains subscription selling plan items.

Changing Terms on an Order Already Placed Isn't on the Table

The unsupported list has a practical consequence worth calling out directly: Order Edit and Draft Order (Admin) are both unsupported surfaces. That means this API has no path for changing payment terms on an order that's already been placed — it only ever runs at the moment of checkout, as the order is being created. Any ERP or accounting integration that needs to adjust terms after the fact has to look elsewhere; Shopify's docs don't describe a workaround through this function.

There's also a hard ceiling on scale: a store can have at most 25 payment customization functions active at once. For a merchant or agency modeling more than a couple of dozen distinct business rules, that number shapes the architecture before a single line of function code gets written — rules need to be consolidated into fewer, more conditional functions rather than written one-to-one against business logic.

Deposits Still Need Plus

Net, fixed, and event-based terms carry no plan restriction in Shopify's documentation. Deposits are different: per Shopify's B2B help center, deposit requirements are available only on the Shopify Plus plan. That means a function built to attach a deposit percentage is really only a Shopify Plus feature in practice, even though it's expressed through the same Payment Customization Function API available on every plan.

One more constraint carries through regardless of plan: direct-to-consumer checkouts with payment terms only ever offer a deferred-payment option, never a pay-now button, and payment isn't captured automatically when terms expire. Someone — a person in Shopify admin, or an automation watching for it — has to manually capture the charge or send the invoice once a term comes due.

Sources

Enterprise & Shopify Plus

ASSOSIATIX works on this every day. See our Shopify Plus & Enterprise Commerce Solutions service

$./start-project.sh

READY TO BUILD
WHAT'S NEXT?

Tell us where you are and where you want to go. We'll help you choose the right path—storefront, system, product, or a focused growth sprint.