Shopify

Turn Shopify subscription contract states into WhatsApp updates

Next renewal, billing success or failure, paused, and cancelled states come straight from Shopify's subscription contracts — every billing failure carries an update-payment link, so a customer never has to guess why a charge didn't go through.

  1. Discover
  2. Convert
  3. Order
  4. Fulfil
  5. Support
  6. Retain
  7. Feedback

What breaks without contract-accurate subscription messages

Without pulling directly from Shopify's subscription contracts, a renewal notice quotes the wrong date, a failed charge goes unmentioned until the subscription is already cancelled, and a customer with an expired card has no direct way back to fix it.

  • A renewal reminder goes out with a date that doesn't match the contract's actual billing cycle
  • A billing failure never reaches the customer, so the subscription quietly lapses
  • A customer whose card was declined has no link back to update payment — they have to find the store's site on their own
  • A paused or cancelled contract still gets a renewal reminder because nothing checked its current state

What Morasel reads from each subscription contract

One record per Shopify subscription contract, kept in the state Shopify reports — not a locally guessed billing calendar.

Contract state
Active, paused, cancelled, or expired — from the subscription contract record in Shopify.
Next renewal date
Read from the contract's own billing cycle, never a local calculation.
Billing attempt outcome
Success, failure, or challenged, from Shopify's billing-attempt event.
Update-payment link
Attached automatically to every billing-failure message.
Cycle edits
A skip, reschedule, or amount change applied to one specific billing cycle.
Notification history
Which contract-state messages already sent, so a customer never gets the same notice twice.

What happens as a contract changes state

The same sequence runs for every subscription contract and billing-attempt event Shopify reports.

  1. Shopify reports a contract or billing-cycle event

    Contract create, update, pause, cancel, activate, or expire — or a billing attempt that succeeds, fails, or gets challenged.

  2. Morasel matches the event to a message rule

    Renewal notice, billing outcome, pause, or cancel, based on the state the contract reports.

  3. An update-payment link attaches on failure

    Every billing-failure message carries an update-payment link, attached automatically with no manual step.

  4. The message sends only if that state's notice is enabled

    No message goes out for a contract state whose notice isn't turned on for that contract.

  5. The contract record updates and prevents duplicates

    It updates the moment the message sends, so the same state never triggers a repeat notice.

What a subscription conversation looks like

A renewal notice, then a billing failure with an update-payment link, both pulled from the same contract.

What the team sees

Every subscription message is tied to a contract state Shopify actually reported, not a locally maintained calendar.

  • Every contract's current state — active, paused, cancelled, or expired — and its next renewal date, pulled from Shopify
  • Which billing attempts succeeded, failed, or were challenged, with the update-payment link attached to every failure
  • A log of which contract-state notices already sent, so a customer is never notified twice for the same event
  • Cycle edits — a skip, reschedule, or amount change — applied to the exact billing cycle Shopify reports

What's checked before a subscription message sends

Every send matches the contract's real state, not an assumption about how the subscription app works.

  • A message only sends for a contract state Shopify has actually reported — Morasel does not guess ahead of the billing cycle
  • An update-payment link is attached automatically to every billing-failure message, without a manual step
  • Morasel is not the billing engine — it reports the state and outcome Shopify's billing attempt returns and never promises a different result
  • Compatibility depends on the store's subscription app; contract and billing-cycle events map to messages only where that app reports them the same way

What this does not do

Morasel does not run subscription billing — it reports the state and outcome Shopify's subscription contracts and billing attempts return, and never promises a payment result Shopify hasn't reported. Not every subscription app on Shopify exposes contract and billing-cycle events identically, so coverage follows what the connected app reports.

Send subscription updates your customers can act on

Connect your Shopify store so renewal, billing outcome, paused, and cancelled notices come straight from your subscription contracts — with an update-payment link on every billing failure.

Subscription notification questions

What triggers a subscription renewal message?

Shopify's subscription contract reporting a billing cycle with a set date. The message quotes that date and amount directly from the contract, never a locally calculated guess.

What happens when a subscription charge fails?

The customer gets a billing-failure message with an update-payment link attached automatically, so they can fix it without leaving the conversation.

Does a paused or cancelled subscription still get renewal reminders?

No — Morasel checks the contract's current state before sending, so a paused or cancelled contract doesn't get a renewal notice meant for an active one.

Is Morasel the one processing the subscription billing?

No. Morasel reports the state and outcome Shopify's subscription contracts and billing attempts return — it is not a billing engine.

Does this work the same for every subscription app on Shopify?

Coverage depends on which contract and billing-cycle events the connected subscription app reports; not every app exposes them identically.

Do subscription notifications cost per contract?

No — Morasel does not charge per subscription contract. Subscription notifications run on your Morasel subscription — Core $49, Pro $99, Max $199, Enterprise on request. WhatsApp usage is billed separately from a prepaid wallet at Meta's official rates.