Skip to main content

Membership Billing and Payments

Billing weekday, mid-week join, Stripe refunds, and retries

Overview

Membership billing in Petboost is powered by Stripe Subscriptions. This means recurring charges are handled automatically, payment retries happen without your intervention, and all payment data flows back into the member's record in Petboost. You never need to manually invoice a membership member.


How Recurring Billing Works

The Billing Cycle

When a member joins a plan, Stripe creates a subscription that automatically charges their card on file at regular intervals:

  1. First charge - On the start date you pick (today if they start today). Tick Collect first payment today if they pay now and start later - benefits still wait for the start date.

  2. Subsequent charges - Processed automatically on each billing cycle

  3. Invoices - Stripe generates an invoice for each charge, visible in the member's billing history

Payment Flow

For each billing cycle:

  1. Stripe attempts to charge the customer's card on file

  2. If successful, the payment is recorded and the subscription continues

  3. If the charge fails, Stripe enters its retry logic (see Failed Payment Handling below)

  4. Petboost updates the member's status and usage counters accordingly

What You See

In the member's detail view:

  • Next billing date

  • Amount to be charged (the amount on that member's agreement, which can differ from the plan card after a price edit)

  • Payment method being used

  • History of all past charges with status


Supported Billing Cycles

You can configure each plan with one of three billing cycles:

Weekly

  • Charged once every 7 days on the subscription anniversary

  • Keeps each charge small, which suits high-frequency, pay-as-you-go regulars

  • Best for daily daycare or regular dog walking

Fortnightly

  • Charged once every 14 days

  • A middle ground between the weekly and monthly cycles

  • Good for customers who visit roughly every week or two

Monthly

  • Charged once every 28 days on the subscription anniversary

  • The lowest number of charges, which suits less frequent visits

  • Best for services used every few weeks (grooming on a 4-6 week cycle)

Note: The "monthly" cycle is a fixed 28-day period rather than a calendar month, so the charge date shifts slightly across the year.

Tip: Match the billing cycle to how often the customer actually visits - weekly or fortnightly for high-frequency services, monthly for less frequent ones.


Failed Payment Handling

When a recurring charge fails (expired card, insufficient funds, bank decline), Stripe automatically retries the payment.

Stripe's Retry Schedule

Stripe uses an intelligent retry system called Smart Retries that optimises retry timing based on historical success patterns. Typically:

  • First retry - Within 1-3 days of the initial failure

  • Second retry - A few days after the first retry

  • Third retry - A few days after the second retry

  • Final attempt - Approximately 7-10 days after the initial failure

The exact timing is determined by Stripe's machine learning models, which analyse the best time to retry for maximum success probability.

What the Customer Sees

When a payment fails:

  • Stripe sends an automatic email notifying them of the failed payment

  • The email includes a link to update their payment method

  • Subsequent retry attempt notifications may be sent

What you see

The status depends on whether the failed charge was the first invoice or a later renewal.

  • If the first invoice fails, the member stays Pending Activation. Petboost does not move them to Past Due, because Past Due would keep benefits usable for about 72 hours. If it is still unpaid four days after the start date, Petboost cancels the membership and returns every member-priced booking to the standard price, including visits already taken during those days. Select Reactivate once the card is sorted.

  • If a later renewal fails on an Active membership, the status becomes Past Due.

  • In both cases the Members list, the member profile, and the customer's Wallet tab, including its Membership Plans section, show Membership Payment Failed.

  • The billing history shows the failed charge attempts.

A start date that is still in the future is not a failed payment. That member is waiting to start.

Retry a failed payment

You do not have to wait for Stripe's retry schedule.

If money is owing, open Membership Payment Failed:

  1. Open Memberships > Members, the member profile, or the customer's Wallet tab, including its Membership Plans section.

  2. Select Membership Payment Failed.

  3. Select Retry payment to charge the card on file, or Text card update to send them a wallet link.

On the customer's Wallet tab the same two actions sit in the payment-failed alert.

  • If the charge succeeds, a first payment becomes Active and benefits start. A renewal returns to Active and benefits continue.

  • If the card declines again, you see the decline reason. Retry again after they top up or update the card.

  • Updating a card alone does not trigger a charge. Use Retry payment, or wait for Stripe's next scheduled retry, to collect the outstanding amount.

Members can also retry themselves. Their Manage Membership page shows Retry payment next to Update payment method, and outstanding membership payments also appear in Pay Your Dues.


Grace Period After a Failed Payment

When a renewal payment fails, Stripe retries automatically. Petboost keeps membership benefits available for about 72 hours after the first failure so the member (or you) can update the card and retry. This window is fixed - there is no per-plan grace period setting.

How It Works

  • When a payment first fails, the short grace window begins

  • During that window, the member can still redeem benefits

  • If payment succeeds, everything continues as normal

  • If the window expires without a successful payment, benefits are suspended while the subscription stays Past Due and Stripe keeps retrying


Past-Due Status and Benefit Suspension

When Benefits Are Suspended

If the grace window expires and payment still hasn't succeeded:

  • The member's status remains "Past Due"

  • Benefits are suspended - the customer cannot redeem included services or discounts

  • The crown badge shows red to indicate the issue

  • Booking for this customer will not apply membership benefits

Resolution paths

  1. The customer updates their card and retries - Manage Membership offers Retry payment next to Update payment method, so they can fix the card and pay on the spot.

  2. You retry the payment - Open Membership Payment Failed and select Retry payment.

  3. Stripe retries automatically - If nobody intervenes, Smart Retries keep attempting on Stripe's schedule and benefits are restored on success.

  4. You cancel the subscription - The membership ends and the customer returns to regular pricing.

Proactive Outreach

When you see members in "Past Due" status:

  • Reach out directly to let them know about the payment issue

  • Offer to help them update their card on file

  • A friendly text or call is often more effective than automated emails alone


Plan price edits and existing members

Editing a plan's price, surcharge, or billing cycle updates the catalogue. Existing members keep the amount on their agreement. People who join after you save pay the new amount.

There is no mid-cycle plan switch and no proration on plan changes. The membership is the agreement. To put someone on a new price or a different plan, cancel that membership, then Reactivate (same plan) or Add member manually (different plan). See Move a member onto a different price or plan.

If a refund for unused days on the cancelled membership is appropriate, issue it from that member's billing history through Stripe. The new enrolment starts a new agreement at the catalogue price on the plan at enrolment.


Refunds and Cancellations

Automatic Refunds

Petboost does not issue automatic refunds when a subscription is cancelled. This is by design - whether a refund is appropriate depends on the circumstances.

When to Consider a Refund

  • Customer cancels immediately after being charged and hasn't used any benefits

  • Service quality issue that's your responsibility

  • Billing error or unintended subscription creation

  • Goodwill gesture for a loyal customer experiencing hardship

How to Issue a Refund

  1. Open the member's detail view

  2. Navigate to the billing history

  3. Click View in Stripe on the relevant charge

  4. Process the refund through the Stripe Dashboard (full or partial)

Note: Refunds are processed through Stripe and typically take 5-10 business days to appear on the customer's statement, depending on their bank.

What you can and cannot do in Stripe

Refunding a membership charge in Stripe is supported. Changing the subscription in Stripe is not.

Do refund a charge, in full or in part, from View in Stripe. Petboost sees the refund and releases the included uses that charge had paid for, so the member's counters correct themselves. You do not need to tell us or adjust anything by hand.

Do not cancel, pause, or edit the subscription inside the Stripe Dashboard. Do those in Petboost, from the member's profile. Petboost holds the membership agreement, the benefit counters, and the pricing on upcoming bookings. Changing the subscription in Stripe moves the money without moving any of that, and the two stop agreeing.

Partial Refunds

For situations where the customer used some but not all of their benefits:

  • Calculate the value of benefits used

  • Refund the difference through Stripe

  • Document the reason in the member's notes


Stripe Processing Fees

Membership payments are processed through Stripe, which deducts its standard processing fee from each successful charge before the funds settle to your bank account. You receive the net amount after fees.

Stripe's rates depend on the card type (domestic versus international) and can change over time, so we don't quote a fixed figure here. For the current rates that apply to your account, check your Stripe Dashboard or Stripe's published pricing.

Important: Stripe fees are deducted automatically before funds are transferred to your bank account, so the amount you receive is always the charge minus Stripe's fee.

Fee Considerations for Plan Pricing

When setting your membership prices, build in an allowance for processing fees so the net amount still meets your margin target. Because Stripe adds a small fixed component per transaction on top of its percentage rate, higher-value plans keep proportionally more of each charge than low-value ones.


Viewing Payment History Per Member

In Petboost

The member detail view shows a complete billing timeline:

  • Each charge with date, amount, and status

  • Failed payment attempts with reason codes

  • Refunds (full and partial)

  • An upfront prepayment, where Collect first payment today was used. The money is taken on the day you enrol them and pays the invoice raised on the start date, so the start date shows a paid invoice rather than a second charge

A member who joined mid-week on a fixed-weekday plan shows one first charge for that start. If Pro-rate the first week is on, that charge covers only the days until their first full billing day. If it is off, that charge is the full cycle. There is no proration on plan changes, so no plan-change adjustments appear here.

In Stripe

For more detailed financial information, click View in Stripe on any transaction to open it in your Stripe Dashboard. There you can see:

  • Full payment method details

  • Decline reason codes

  • Dispute information (if any)

  • Receipt copies

  • Refund options

Exporting Payment Data

For accounting and reporting:

  • Use Stripe's built-in export tools for financial reports

  • Filter by subscription product to isolate membership revenue

  • Stripe provides CSV exports of all transactions


Billing Notifications

Automatic notifications

Stripe sends these emails to members:

  • Payment receipt - After each successful charge

  • Payment failed - When a charge attempt fails

Petboost also emails the pet owner when their saved card is due to expire, 30 days and 7 days before the last day of the printed expiry month. The email is sent only when they have a future active appointment or a membership whose benefits are still usable (Active, Past Due, or Migration Pending). It is not sent after the card has already expired, and it is not sent to the business. Settings > Notifications shows Email the customer: card expiry as always on. You cannot turn it off.

If you need to nudge them yourself, open the customer's Wallet tab or the Key Dates calendar and tap Text card update. That SMS is the staff path. Petboost does not send a card-expiry SMS from the automatic job.

What Petboost Tracks

Within the platform, you can monitor:

  • Upcoming renewals (who's being charged when)

  • Failed payments requiring attention

  • Members in Past Due who still have (or just lost) benefit access during the short grace window


Common Billing Questions

Can a customer have multiple active memberships?

No. An owner holds one active membership per business at a time. For multi-dog households that need more inclusions, create a plan tier sized for the household, for example a two-dog plan with doubled inclusions, rather than a second subscription.

How does the additional pet amount appear on the Stripe invoice?

On the Stripe subscription it appears as its own line: the base plan price plus the additional pet amount multiplied by each extra pet. That split makes reconciliation straightforward when you match Petboost memberships to Stripe invoices.

What happens if the customer's card expires?

Stripe will attempt to update the card automatically through the card network's Account Updater service. If the update fails, the next charge will fail and the retry / short grace window process begins.

A customer joins mid-week but the plan bills on a fixed weekday. What happens?

They can start today, or wait for the weekday. The first payment on a same-day start is the full week unless Pro-rate the first week is on. Billing still aligns to the weekday in both cases.

Take a plan that bills on Mondays at $70 a week, and a customer who signs up on Wednesday. You have these options:

  1. Start them today. Pick Today in the start-date quick-picks. If Pro-rate the first week is off, their first payment is $70.00 and it is charged now. If it is on, their first payment is $50.00, covering the five days from Wednesday to Monday. Every payment after that is $70 on a Monday. Their included benefits for that part-week are available in full from the Wednesday

  2. Start them on the coming Monday and leave Collect first payment today unticked. Nothing is charged until the Monday, and benefits begin then

  3. Start them on the coming Monday and tick Collect first payment today. The full $70 is charged on the Wednesday and pays the invoice raised on the Monday, so there is no second charge on the start date. Benefits still begin on the Monday

The enrol screen shows the exact first amount before you confirm it.

A walk taken before the membership starts is an ordinary booking at the standard price. A walk on or after the start date can be booked before then and takes the member price and an included use from that week. If the membership is cancelled before it starts, or the first payment does not go through within four days of the start date, those bookings return to the standard price, including any walk already taken in those four days.

The fixed weekday keeps everyone paying and refreshing together. Two alternatives exist on the plan's When do they pay and refresh? option: On their start date runs each member on their own signup day, and Fixed benefit week, billed from their start date keeps the shared week for counting included uses while billing follows each member's own start date, so nobody waits to join. Either change applies to members who join after you save.

Can I offer a free trial period before the first charge?

There is no separate trial. Pick a future start date instead: benefits and recurring billing wait for that date. Tick Collect first payment today if they pay now and still start later.

Can I change what an existing member pays?

No. Edit the plan to change the catalogue. Existing members keep the amount on their agreement. To put a member on the new price, cancel that membership, then Reactivate. See Move a member onto a different price or plan.

Can I change the billing date for a member?

You cannot pick a new weekday for one existing member. Changing the plan's weekday only affects people who join after you save. Existing members keep their current day.

Can I set a shared weekday for the whole plan?

Yes, in one of two ways on the plan Details step under "When do they pay and refresh?". Fixed day of week puts billing and capped benefit refreshes on that weekday for every new member. Fixed benefit week, billed from their start date shares the weekday for capped benefit refreshes only, while each member bills from their own start date. Changing either later applies to new members only - existing members keep their current days.

What currency are payments in?

All payments are in Australian dollars (AUD) by default, matching your Stripe account's default currency.


Best Practices

Pricing

  • Factor in Stripe fees when setting plan prices

  • Round to clean numbers ($89, $99, $149) rather than odd amounts

  • Match the billing cycle to how often customers visit - weekly or fortnightly for high-frequency services, monthly for less frequent ones

Payment Failures

  • Monitor "Past Due" members weekly

  • Reach out personally rather than relying solely on automated emails

  • Be empathetic - failed payments are often accidental (expired cards, insufficient funds)

Record Keeping

  • Stripe retains all transaction records and receipts

  • Use Stripe's reporting for financial reconciliation

  • Keep notes on any manual refunds or adjustments in the member's record


Related Articles

Did this answer your question?