App:
OnAnthem
Contact:
John Flickinger — john@onanthem.com
Prior submission:
Reference #109239
Prior correspondence:
Ticket #67117713

1. Overview

OnAnthem is a marketplace platform for event merchandise (sports, artists, brands). OnAnthem enables merchants that operate in-person revenue-sharing agreements (e.g., artist–venue splits at the physical merchandise table) to extend the same commercial terms online.

OnAnthem was submitted as a sales channel app per App Store requirement 1.1.6 (“Marketplaces should be sales channels”). As a marketplace sales channel, checkout occurs on onanthem.com, and OnAnthem records the resulting order on the merchant’s Shopify store.

The checkout architecture has been the subject of prior correspondence (Ticket #67117713). Per that correspondence, this document accompanies the re-submission of #109239 as a formal request for approval of OnAnthem’s external checkout under the sales channel framework.

This document describes why cart permalinks are not viable for a multi-merchant marketplace facilitator, the supporting architecture, and the settlement and tax model.

2. Sales Channel Role

Per Shopify’s sales channel documentation, sales channels enable merchants to expand distribution by publishing products to additional platforms outside the online store.

OnAnthem is a marketplace sales channel for event merchandise. Participating Shopify merchants publish products from their Shopify admin to OnAnthem. Buyers reach those products through event-based marketplace experiences operated by OnAnthem.

The integration is designed so that the merchant’s Shopify store remains the system of record:

  • Merchants publish products to the sales channel app from Shopify admin
  • The sales channel synchronizes product and inventory data via Shopify APIs and webhooks
  • Orders generated through OnAnthem are created in the merchant’s Shopify store via the Admin GraphQL API, attributed to the OnAnthem sales channel
  • Fulfillment continues through the merchant’s existing Shopify workflows
  • Sales tax responsibility is communicated using channelLiable on the submitted order, per Shopify’s documented marketplace remittance pattern

4. Sales Channel Architecture

This section describes OnAnthem’s transaction lifecycle as a Shopify sales channel, including product publishing, external checkout execution, and order synchronization into Shopify.

4.1 Channel configuration

The sales channel is defined via a channel config extension at extensions/channel-config/specifications/anthem-us.toml:

handle = "anthem-us"
productFeedManagement = "automatic"

[requirements]
expectsOnlineStoreParity = false
merchantOfRecord = "merchant"

This configuration establishes OnAnthem as a non-parity sales channel with merchant-level settlement attribution.

4.2 Product publishing

OnAnthem synchronizes catalog and inventory data using Shopify Sales Channel product feeds and the Admin GraphQL API. Merchants publish products from Shopify admin to the OnAnthem sales channel following OAuth installation.

Shopify remains the system of record for catalog and inventory data; inventory is reserved during checkout via draft order holds.

4.3 Checkout execution

Checkout is executed in the OnAnthem sales channel environment at onanthem.com.

Card data is captured via Stripe Elements; OnAnthem does not receive or process card data.

This supports a single buyer-facing transaction that may include products from multiple Shopify merchants. Order creation and fulfillment occur per merchant in Shopify following payment capture (Sections 4.6–4.7).

4.4 Payment

Payment is processed via Stripe Connect using Stripe Elements at checkout.

Each merchant is designated as the settlement merchant via on_behalf_of: <merchant Stripe Connect account>, so the merchant appears on the cardholder statement, consistent with merchantOfRecord = "merchant" (Section 4.1).

4.5 Tax

Under its marketplace facilitator registration, OnAnthem calculates its own tax liability using Stripe Tax and remits it centrally (Section 3.1).

Tax liability is recorded on Shopify orders using channelLiable: true on TaxLine (Section 4.6).

4.6 Order synchronization to Shopify

After payment capture, OnAnthem creates orders in each participating merchant’s Shopify store via the Admin GraphQL orderCreate mutation. Each order includes:

  • attribution to the OnAnthem sales channel in Shopify admin
  • financialStatus: PAID
  • channelLiable: true on tax and shipping tax lines
  • idempotency tag derived from (orderId, merchantId)
  • customer and line-level metadata for routing back to OnAnthem

4.7 Fulfillment

For Shopify-connected merchants, fulfillment remains merchant-managed within Shopify, using Shopify’s native fulfillment routing.

OnAnthem omits locationId and fulfillmentService on orderCreate, so Shopify’s native fulfillment routing applies. The buyer is served Shopify’s native order status page for the order, and OnAnthem subscribes to fulfillments/create webhooks to keep its own order records in sync with shipment status.

4.8 Refunds

For Shopify-connected merchants, refunds initiated from the merchant’s Shopify admin flow to OnAnthem via the refunds/create webhook. All refunds are processed exclusively against the original payment, satisfying App Store requirement 1.1.15.

4.9 Merchant onboarding and payouts

Merchant onboarding and identity verification are handled through Stripe Connect onboarding. Eligible merchant and partner payouts are executed via Stripe Connect on a post-fulfillment schedule.

5. App Charges

This section addresses App Store requirement 1.2.1, “Use Shopify App Pricing or the Shopify Billing API.”

OnAnthem is free to install and use. Merchants are not billed or invoiced by OnAnthem — there is no subscription, recurring, listing, installation, account-access, or app-usage fee. OnAnthem’s only revenue is a marketplace commission that is netted from buyer-paid transaction proceeds before settlement, rather than charged to the merchant as an app fee.

Because OnAnthem does not impose any merchant-facing charge for access to or use of the Shopify app, there is no app charge to process through Shopify App Pricing or the Shopify Billing API.

5.1 Marketplace settlement is not an app charge

This model is consistent with Shopify’s sales channel guidance: “Most sales channel apps don’t require a separate billing arrangement with merchants. The channels themselves typically have their own fee structures — advertising fees, referral fees, or success-based commissions — that merchants pay directly to the channel platform.”

OnAnthem is the sales channel platform, connecting merchants to a marketplace where they already have a commercial relationship with OnAnthem. The commission relates to settlement of marketplace transactions, not access to or use of the Shopify app.

The fee structures described in this guidance are paid by merchants to the channel platform. OnAnthem’s commission works the same way in substance, through the marketplace settlement: it is retained from the buyer’s payment before funds settle to the merchant. The merchant is not separately invoiced or charged; the commission is simply the marketplace’s share of the transaction.

As described in Section 3.1, OnAnthem operates as a marketplace facilitator. When a buyer purchases a product through the OnAnthem marketplace, the buyer-paid transaction amount is allocated among the merchant payout, OnAnthem’s marketplace commission, payment processing, and applicable taxes within the settlement flow described in Sections 4.4 and 6. Payment processing reflects the payment processor’s standard fee for handling the transaction. None of these amounts is billed to the merchant separately from the sale; each is settled from the buyer’s payment.

OnAnthem’s marketplace commission is netted from buyer-paid transaction proceeds before funds are settled to the merchant. It is not invoiced to the merchant, charged to the merchant’s card or account, or assessed as a fee for installing, accessing, or using the Shopify app.

Accordingly, no charge is made through the Shopify Billing API or through any off-platform merchant billing mechanism. The relevant funds flow is marketplace settlement of a buyer transaction, not merchant billing for app access or app usage.

5.2 Payout setup is not billing

During onboarding, a merchant connects a bank account through OnAnthem’s payment processor. This step exists so that OnAnthem can send the merchant their sales proceeds: the merchant provides the account that receives payouts. Funds flow to the merchant, not from the merchant to OnAnthem.

As part of enabling those payouts, the payment processor performs standard identity verification on the account, consistent with its own regulatory requirements. This verification is a condition of receiving funds, not a charge. No fee is assessed to the merchant at this step, and it is separate from the settlement of marketplace transactions described above.

6. Settlement & Tax Model

OnAnthem operates two independent attribution models within the transaction lifecycle, each handled by a separate mechanism.

DesignationGoverned byOnAnthem’s roleMechanism
Settlement attributionPayment processing rulesEach merchant is the settlement merchantStripe on_behalf_of + merchantOfRecord = "merchant"
Tax liabilityU.S. marketplace facilitator statutesOnAnthem collects and remits sales taxStripe Tax + channelLiable: true on TaxLine

7. Request

OnAnthem requests approval as a sales channel app under requirement 1.1.6, with an exemption from requirement 1.1.2 for the marketplace-facilitator constraints documented in Section 3. The architecture preserves Shopify’s role as the merchant system of record for orders, fulfillment, tax attribution, and refunds, while satisfying OnAnthem’s statutory marketplace-facilitator obligations.

We are requesting this exemption because the cart-permalink approach would place OnAnthem in conflict with its legal obligations as a marketplace facilitator and its contractual obligations to settle revenue shares at the point of sale.

OnAnthem is prepared to provide additional implementation detail or extended access to the test environments during the review. For testing instructions and demo credentials, see the App Submission form.