Connect Shopify with a Custom App
The recommended Shopify integration path is to connect Shopify to Partially with a merchant-created custom Shopify app. This lets Partially connect directly to the merchant's Shopify store without requiring an automation platform like Zapier or n8n for the standard Shopify order workflow.
With the custom app connection, Partially can:
- Create a Shopify order when a Partially payment plan is opened.
- Add Partially payment history to the Shopify order notes.
- Mark the Shopify order as paid when the Partially plan is paid.
- Cancel the associated Shopify order from Partially when a plan is canceled, when the order is still within Shopify's order access window.
- Optionally restock items when canceling the Shopify order.
Zapier and n8n can still be used for custom automation or legacy workflows, but they are optional and should not be presented as the recommended setup for the standard Shopify integration.
Create the custom Shopify app
High-level steps:
- Go to the Shopify Dev Dashboard.
- Sign in with the same Shopify account used to manage the shop.
- Open the Apps menu and create a new app.
- Give the app a name.
- Under Access > Scopes, select the required Admin API scopes.
- Release the app.
- Install the app from the app home section.
- Copy the app's Client ID and Client secret from the app settings.
The following scopes are required for full functionality:
write_ordersread_productsread_price_rulesread_discountsread_inventoryread_locationsread_checkoutswrite_order_editswrite_metaobject_definitionsandwrite_metaobjects(needed to mark orders older than 60 days paid; see "Orders older than 60 days" below)
Depending on the Shopify features enabled for the merchant, Partially may also request related Shopify permissions during connection. If the connection test or a Shopify feature reports missing permissions, have the merchant review the Shopify custom app scopes and reconnect.
Enter credentials in Partially
In Partially, go to Settings > Integrations, then click the connect button next to Shopify.
Enter:
- The Shopify shop domain, such as
store-name.myshopify.com, and click the Continue button. - In the custom app settings section, enter the custom app Client ID and Client secret.
- Click the update Shopify settings button to save the credentials.
After saving your credentials use Test connection button. A successful test confirms Partially can use the custom app credentials to access the Shopify shop.
Shopify settings after connection
After the custom app is connected, merchants can configure Shopify order sync options in Partially, including:
- Order tags for orders purchased with a Partially payment plan.
- The Shopify order note template.
- Inventory behavior when Partially creates a Shopify order.
- Whether Shopify should send an order confirmation email.
- Whether the merchant should receive an email if Partially cannot submit a plan to Shopify.
- Whether customer phone numbers should be submitted to Shopify.
- Shopify discount code support when the app has access to the needed discount scopes.
Orders older than 60 days
Shopify only lets custom apps access orders from the last 60 days, so Partially can't mark an order paid directly once the order is older than that. A Shopify order for a payment plan longer than 60 days returns "Order does not exist" when Partially tries. Shopify Flow, which is free on all Shopify plans, can update any order, so a Flow workflow marks these orders paid for Partially:
- Add the
write_metaobject_definitionsandwrite_metaobjectsscopes to the custom app, release a new version, and approve the new scopes in the Shopify admin. - In Partially, use Test connection on the Shopify settings page, then click Create metaobject definition in the "Orders older than 60 days (Shopify Flow)" section. Test connection also creates it automatically once the scopes are there. This adds a "Partial.ly order action" metaobject definition (type
partially_order_action, withrequest_id,action,order_idandplan_idfields) to the store. It must exist before the workflow can be created. - In Shopify, open the Flow app and create a workflow:
- Trigger: Metaobject entry created, with the Partial.ly order action definition selected.
- Condition:
actionis equal tomark_paid. - Action: Send Admin API request with the
orderMarkAsPaidmutation, and{"input": {"id": "<order_id>"}}as the input. Insert the metaobject'sorder_idfield with the variable picker. It holds the full order GID, such asgid://shopify/Order/123. - Turn the workflow on.
- In Partially's Shopify settings, check "I've created and turned on the workflow" in step 4 of the same section and click Save.
When a plan is paid in full and its order is more than about 59 days old, or Shopify reports the order as missing, Partially creates a "Partial.ly order action" entry, and the workflow marks the order paid. The workflow's Recent runs in Flow show each run and any errors. Orders less than 60 days old are still marked paid directly.
Important notes
Partially does not replace the standard Shopify checkout. Merchants still add a Partially checkout button or widget to their Shopify product/cart pages so customers can open a Partially payment plan.
The custom app connection handles the Shopify order sync after the Partially plan is opened and as the plan is paid or canceled.
For merchants who previously used Zapier or n8n to create Shopify orders or mark orders as paid, recommend upgrading to the custom app connection for the standard workflow.