Routing the Update payment link to Frictionless Payments

Override the Subscription Manager's payment details template so the Update payment link opens your Frictionless Payments page
View as Markdown

Learn how to override your Subscription Manager theme so the “Update payment” link sends customers to Frictionless Payments.

Out of the box, the Subscription Manager decides where “Update payment” goes by checking your platform settings in order, stopping at the first match:

  1. An external payment URL, if both external_payment_enabled and external_payment_url are set. This is checked first, so it applies on any platform — including Shopify.
  2. Shopify’s customer accounts interface, if you’re on Shopify New Accounts.
  3. Ordergroove’s Shopify billing flow, if you’re on Shopify without New Accounts.
  4. Nothing at all, if you’re not on Shopify and no external payment URL is set. The conditional has no final else, so the link doesn’t render.

If you’re set up with Frictionless Payments, you’ll want the link to bypass that logic and open your Frictionless Payments page instead.


Before you start

You must already be configured with Ordergroove’s Frictionless Payments integration before you apply this override. The override only changes where the link points — it does not enable the integration. If you’re not sure whether Frictionless Payments is set up for your account, check with your Ordergroove contact first.

You’ll also need a Subscription Manager v25 theme and access to the Advanced editor.


Apply the override

Open the Subscription Manager page in Ordergroove and find the theme you want to change. We recommend using a draft theme rather than your live theme, so you can preview the change before it reaches customers.

In the Theme designer, switch to the Advanced editor tab and find the order-summary/payment-details.liquid file under Views. Inside the {% if order.status != 'SEND_NOW' %} block, find the conditional that resolves the payment URL:

1{% if 'external_payment_enabled' | setting and 'external_payment_url' | setting %}
2 {% set payment_url = 'external_payment_url' | setting %}
3 {% include 'order-summary/payment-link' %}
4{% elseif 'platform' | setting("shopify") == 'shopify' %}
5 {% if 'shopify_customer_accounts_version' | setting === 'new_customer_accounts' %}
6 {% set shop_id = 'shopify_shop_id' | setting %}
7 {% set payment_url = "https://shopify.com/" + shop_id + "/account/profile" %}
8 {% include 'order-summary/payment-link' %}
9 {% else %}
10 {% include 'order-summary/change-billing-shopify' %}
11 {% endif %}
12{% endif %}

The exact code and line numbers vary by template version and by the customizations made to your theme. Older v25 themes render the link inline with an <a> element instead of including order-summary/payment-link, in which case you may need to make further customizations. Replace the whole conditional either way.

Replace that entire block with:

1{% set payment_url = '/apps/subscriptions/payment-update?source=sm' %}
2{% include 'order-summary/payment-link' %}

payment_url is a relative path, so it resolves against your storefront domain. Save the changes to the theme.


Verify the change

  1. Load the Subscription Manager as a customer.
  2. Select “Update payment”. A new tab opens at /apps/subscriptions/payment-update?source=sm on your storefront domain, showing the Frictionless Payments page.
  3. Complete a payment update, then return to the Subscription Manager and confirm the subscription’s payment method reflects the new card.

Use the editor’s preview functionality to check the change before it goes live. When you’re ready, publish the theme.