Handling Failed Payments
We retry your failed payments automatically and notify your customers when a recurring payment fails. Usually the customer has to either contact their bank or switch out their payment method - they can do this easily from the consumer portal. See Managing Payment Methods for more information about changing payment methods.
LaunchPad collects recurring membership payments on behalf of our clients. By default, monthly payments are all billed on the first of the month. However, the first of the month is defined as midnight UTC on the first of the month, which corresponds to 8 PM EST. Most recurring payments run around this time, though not always.
When a payment is successfully billed to a customer’s payment method, we simply create a fulfilled invoice for that customer as a record of their payment. However, payments often fail: when this happens, a complex failure handling system kicks in.
Each recurring payment is represented as a Subscription, which is essentially a set of instructions for charging a certain Payment Method for a certain person a certain amount on a certain schedule. Subscriptions can be in a variety of states: active, paused, canceled, and “past due”.
Each time we try to collect a payment on this schedule, a Payment Intent is created. The Payment Intent creates a charge on the Payment Method (credit/debit card) defined on the Subscription. This Charge can succeed or fail.
What happens when Subscription payments fail
When fails to collect a recurring payment, two things happen:
- We create an outstanding invoice for the subscription holder on behalf of the merchant. This is our record that money is owed to the merchant by the customer. The invoice is visible to both the merchant (on the Payments dashboard page) and the consumer (on the consumer account page)
- We send email notifications of the failed payment to the payer and to the merchant.
- We create in-app notifications for both the payer (in their consumer portal) and the merchant (on the LP dashboard).
- We immediately reschedule the payment to be retried the next day at midnight UTC, 8 PM EST. This means that if the payment collection continues to fail, collection will be retried daily until the issue is resolved.
How to resolve a failed payment
The specific action needed to correct a failed payment depends on the nature of the failure, which is reported both in the email notifications and the LaunchPad UI:
- Some small number of failures are transitory and will work on retry with no action taken by operator or customer.
- Some failures (insufficient funds, call issuer) require the customer to interact with their bank to unblock the payment, but no action is needed on the LaunchPad platform. Once the bank account is corrected, the payment retry will succeed.
- Some failures (expired card, customer wishes to use a different payment method) require the Subscription to be updated to use a different Payment Method. This is supported by the LaunchPad consumer portal - payers can log in and go to their account page, where they can add/delete payment methods, and switch the payment method for their active memberships. Operators can also make these changes from the LP management dashboard, on the person details page.
- If a payment is never going to be collected (e.g. customer decides to terminate service) the subscription must be cancelled by cancelling the corresponding membership.
In short, either the customer needs to contact their bank or the customer must provide a new payment method.
LaunchPad intends to provide the best possible experience for operators who face the challenge of collecting failed payments. Improvements we can make:
- Clearer and simpler instructions to customers about what they have to do to unblock payment (contact bank, new method, etc). We can provide these based on the payment error code in most cases
- Clearer messaging to operators about what payments may need intervention from the operator (many consecutive failures, customer not responsive, etc)
- Configurable automatic late fees (fixed fee, accruing penalty, etc). May be valuable just to include language about these fees even if we don’t actually enforce them yet
- Simple reporting on what % of payments fail and how long they take to resolve