Contents

Monthly Payments for Long Stays - Plugixa Car Parking

Monthly payments PRO let a customer pay a long stay month by month instead of all at once. The first month is paid by card when they book. Stripe then charges the same amount on the same day of each following month, until the stay is paid for, or, with a rolling plan, until the customer cancels.

It is made for season parking, commuters and anyone who parks for months: a three-month stay of 1,343.16 becomes 447.72 now and 447.72 a month twice more. The total is not changed. A plan only decides when the money is taken.

Monthly payments were added in version 1.1.0. They run on Stripe, and are turned on for each location on its own.

What you need

Requirement Why
Pro, with Stripe set up Stripe holds the schedule and charges each month. Only a card payment through Stripe can be a plan.
The Stripe webhook, with four more events Each month paid, each failed month and each cancellation reaches your site through the webhook. See Stripe webhook events.
A location that offers it A switch on the location. Off by default.
A stay that spans at least two calendar months A stay of one month or less is simply paid.

A customer who chooses PayPal, or pay on arrival, pays as for any other booking. PayPal refuses a plan with “Paying by the month is only possible by card.”

Turn it on for a location

Open Plugixa Car Parking -> Locations, edit the location and scroll to Monthly payments.

The Monthly payments panel of a location, with both switches on and the note about deposits and the Stripe webhook

Switch What it does
Offer monthly payments at this location Customers booking a stay of two months or more here can pay it monthly.
Also let customers keep paying monthly after their stay, until they cancel Adds a rolling plan, below. It can only be on while the first switch is.

Press Save. Both are stored in the location’s own settings, as installments_enable and installments_rolling.

A location that offers monthly payments takes no deposit

A deposit and a monthly plan answer the same question: how much is due now. At a location that offers monthly payments, the deposit is not taken, and the first month is what is due now. The panel says so: “A location that offers monthly payments takes no deposit.”

How a stay is cut into months

The number of payments is the number of calendar months the stay spans. A part month counts as a month: it takes one payment.

Stay Payments
1 January to 1 March 2
15 January to 20 April 4
1 January to 1 January the next year 12
3 weeks No plan: paid in full

The total is the booking’s price as it always is, with its pricing rules, coupons, extras and taxes. It is then cut into the same amount each month:

  • Every month after the first is the same amount, rounded down to the cent.
  • The first payment carries the space type’s One-off fee, if it has one, and the few cents left over by the rounding.

For example, 1,000.00 over three months is 333.34 now, then 333.33 twice. 715.00 over six months with a one-off fee of 15.00 is 131.70 now, then 116.66 five times.

Fixed and rolling plans

Fixed plan Rolling plan
Offered Always, where the location offers monthly payments Only with the second switch on
Length The stay the customer chose The stay chosen is the shortest they commit to. It then carries on
When it stops By itself, once the booking is paid in full When the customer or you cancel it, at the end of the month already paid
The space Booked for the stay chosen Held for the customer as far ahead as anyone can book

What a rolling plan does to the booking

While a rolling plan runs, nobody else can take the space. Its booking ends as far ahead as anyone could book (the site’s Furthest ahead (days), plus a month), and each payment moves that end on. Each month paid beyond the stay the customer chose is added to what the booking costs.

When the plan is cancelled, the booking ends on the last day paid for, and the space is free from then.

If, when the first month comes in, the space is already booked by someone else after the stay, the plan cannot carry on. It becomes a fixed plan for the stay chosen. The customer is emailed (“About your monthly parking”), and so are you.

What the customer sees

On the booking form, once Credit / debit card (Stripe) is the way to pay and the stay spans two months or more, the last step asks How would you like to pay?

The review step of the booking form, with the choice between paying in full now, paying monthly and paying monthly until cancelled

Choice Shown
Pay in full now: the total Always
Pay monthly: the first payment now, then the monthly amount for the months left Always
Pay monthly and keep the space after your stay until you cancel: the first payment now, then the monthly amount With the rolling switch on

The note under the choice reads “Monthly payments are taken by card, automatically, on the same day each month.” The customer then pays the first month on Stripe’s Checkout page and returns to your site as after any card payment. See Coming back from an online payment.

The same choice is offered on the booking’s summary page, for a booking made without paying, as long as nothing has been paid on it yet.

Changing the card, and cancelling

Once a plan is running, the summary page shows a button that opens Stripe’s own billing page for the customer:

  • Change the card for monthly payments, for a fixed plan. The customer can change the card. They cannot cancel: the stay is owed.
  • Manage monthly payments, for a rolling plan. The customer can change the card and, once the stay they chose is paid for, cancel. The plan then stops at the end of the month already paid.

The booking summary of a booking paid monthly, with the Manage monthly payments button

While a rolling plan runs, the summary’s other ways to pay are hidden, and the site refuses any other payment on that booking.

In the admin

A booking paid monthly has a Monthly payments panel beside its details in Plugixa Car Parking -> Bookings.

A booking paid by a rolling plan: the Monthly payments panel shows Running, the first and monthly amounts, the months paid, when it can stop and how long the space is held

Line What it shows
Status Running, Overdue, Ending (a cancellation takes effect at the end of the month paid) or Ended
First payment What was charged when booking
Each month after The monthly amount
Months paid How many have come in, out of how many for a fixed plan
Can stop from Rolling plans: the end of the stay the customer committed to
Space held until Rolling plans: how far ahead the space is kept
Payments stop When a cancellation takes effect
Last payment When the last month was taken

Each month paid is a row in the booking’s Payments panel and in Plugixa Car Parking -> Payments, of the type installment. The booking’s payment status follows the money, as for any payment: Part paid until the stay is paid for, then Paid.

Stopping a plan yourself

Stop monthly payments ends the plan at Stripe, after a confirmation: “No more months will be charged. Whatever is still owed has to be collected another way.”

  • A fixed plan stops at once.
  • A rolling plan stops at the end of the month already paid: “The space stays the customer’s until the end of the month already paid, and is free after that.”

When a month cannot be taken

Stripe tries the card again over the next days, and can email the customer about it itself. On your site:

  • The booking’s payment status becomes Overdue, in the list, on the booking and in its Monthly payments panel. Its booking status does not change.
  • The customer is emailed “Your monthly payment for booking {booking_ref} did not go through”, with a link to their booking page, where they can change the card.
  • You are emailed “A monthly payment for booking … failed”.

A booking whose second monthly payment failed, marked Overdue

The booking reads Overdue until that month is paid, even when the money paid so far covers its total. When Stripe takes the payment, the status goes back to Part paid or Paid.

Emails

When Subject
A month could not be taken Your monthly payment for booking {booking_ref} did not go through
A rolling plan is cancelled Your monthly parking {booking_ref} has been cancelled
A rolling plan has ended Your monthly parking {booking_ref} has ended
A rolling plan cannot carry on About your monthly parking {booking_ref}

They use the same placeholders as the other emails. Their wording can be changed with the plugixa_carparking_email_template filter, with the events installment_failed, installment_ending, installment_ended and installment_not_rolling. See Hooks.

Stripe webhook events

A plan sends Stripe’s subscription events to the same webhook endpoint as card payments. Add these four to the endpoint in your Stripe dashboard, next to the ones listed on the Stripe page:

Event What the plugin does
invoice.paid Records the month as a payment, and moves a rolling plan’s held space on
invoice.payment_failed Marks the booking Overdue and sends the emails
customer.subscription.updated Follows a cancellation asked for, or taken back, in Stripe’s billing page
customer.subscription.deleted Ends the plan; a rolling plan’s booking ends on the last day paid

Without them, the first month is still recorded when the customer returns, but the later months, the failures and the cancellations never reach your site.

Questions

Does a plan change the price? No. It is the booking’s total, cut into months.

Can a customer pay part of it by hand? A payment you record counts toward the booking like any other. A fixed plan is ended at Stripe as soon as the booking is paid in full, however that happened.

Can I offer it at one car park only? Yes. It is a setting of each location.

What if the customer changes the dates? A plan already running keeps what the customer agreed to. A change to the stay or to the location’s settings does not change it.

  • Stripe: keys and the webhook
  • Payments: the ledger and the payment statuses
  • Deposits: the other way to take part of the price now
  • Pricing: how a stay is priced

Quick Links