The billing credit card for recurring subscriptions can be rejected for a number of reasons.
Stripe Payment: If AccessAlly cannot charge a payment made via Stripe successfully, it will try once a day for three consecutive days. If the charge has not gone through successfully at this point, AccessAlly will apply the Failed Payment Tag, and then wait until the credit card has been updated before it tries to charge again (or until you cancel the subscription).
The Failed Payment Tag is used as a trigger for your CRM automation that reminds your users to update their credit card and revokes access to course material if they fail to do so. (Here’s the tutorial for creating the “update credit card” area on your site.)
Once the card is updated, AccessAlly will automatically charge the new card (unless you have canceled the subscription). However, it will only charge the regular recurring amount. If there are any “missed months” of payments, you must charge those manually.
PayPal Payment: If AccessAlly cannot charge a PayPal payment it will apply the Failed Payment tag and immediately move the user into your Payment Failure automation. Subscribers using PayPal will need to repurchase from an AccessAlly order form as they can not update their payment information from the My Orders and Subscriptions page.
Please watch the below video to see how to set up your failed payment automation.
Please watch this tutorial video to learn how to create your automation inside Ontraport’s Campaign area.
Reminder: as noted in the video (3 min 47 seconds), please make sure you include the Contact ID post data as a part of your webhook.
A note for ConvertKit Users:
Note: Due to limitations in ConvertKit automation, there are a couple edge cases that need to be monitored periodically. Please go to AccessAlly -> Purchase Logs and review the subscriptions with the status Failed to collect.
- The follow-up email sequence is canceled for any client who unsubscribes. This means the revoke rule will not be triggered.
- The follow-up email sequence can only be run once for each client. This means the follow-up sequence will not be run when a second payment fails
Please email ConvertKit support directly if you want to see improvements in this area. In particular, ask them to add the following features:
- Allow tags to be added with each email in a sequence.
- Allow email sequences to be run multiple times for the same client.
- Allow email sequences to be run for unsubscribed users. ConvertKit doesn’t need to send the emails, but the tags and the associated rules should still be triggered
- Add delay in automation rules.
Managing Failed Payments with Multiple Products.
In the failed payment automation in your CRM you can link multiple products ID numbers for the same course or membership in the failed payment sequence.
This is helpful when you’re using the same Failed_Payment and Success_Payment tags so you’re not creating multiple failed payment sequences for each version of your course or membership.
Example – you have a membership with a monthly and yearly recurring subscription. This creates two separate products in AccessAlly, but you’ve only got one failed payment sequence in your CRM.
Inside your CRM in the failed payment sequence you’ve created earlier in this guide, you’ll link the two products together.
- Open your failed payment sequence (steps shown for your CRM at the start of this guide) and scroll to the spot where you added the revoke subscription http post. It looks like this: https://demo1.simplybold.co/?aal_revokesubscription=OeNjvq&productId=45
- Next, you’ll find the product numbers inside Accessally -> Products for each subscription level or type you have for the same course or membership.
- You’ll add a comma after the first product number followed by the second product number (inside the revoke campaign in your CRM) like this. https://demo1.simplybold.co/?aal_revokesubscription=OeNjvq&productId=45,46 IMPORTANT: do not copy and paste the example shown because it will not work for your site.
- Save and publish your campaign.
Retrying Payments Beyond the 3 Default Retries – Stripe Payments Only!
Sometimes payments fail, it happens! Maybe a credit card expired, or it is currently maxed out.
Here’s what AccessAlly will do about it:
- AccessAlly will retry the payment 3 times with 1 day in between, which helps if the card was maxed out and just got paid. This won’t help if the card is expired.
- When the 3rd attempt fails, AccessAlly will automatically apply the Payment Failed tag.
- From there, your “Failed Payment automation” sequence in your CRM will get kicked off to start the followup / recovery sequence using this Payment Failed tag as the trigger. (This is what we just set up in the above videos.)
When do payment retries happen?
- AccessAlly calculates time based on when the initial purchase was made. For example, if the client purchased at 10AM EST on June 16th, the retry will happen on the 17th after 10AM EST.
- After the first condition is satisfied, the exact timing will be determined by when the “cron job” is run. AccessAlly has an hourly cron job, so in the previous example, the payment will be processed between 10AM EST and 11AM EST.
- Different servers might run cron differently. That is out of AccessAlly’s control and if the cron is not run on schedule, you can contact your website host and ask them to enable native / alternate cron (which is based on the server OS). The default WP cron is traffic-based, so a quiet site might not run cron as often.
Retrying Payments for PayPal Payments
Note for PayPal users there are no 3 default retries! When a PayPal payment fails (or a user cancels a payment inside PayPal) the user receives the Failed Payment tag immediately and moves into your Payment Failure CRM automation.
You may want to review our admin options for manually managing subscription payments if using PayPal.
Forcing a payment retry.
In some cases, you might want to try to process the payment again before revoking access and giving up.
For example, you might decide to do one try every 3 days for 21 days.
You can use a webhook to force a payment retry in AccessAlly.
The webhook is ?aal_chargesubscription=###&productId=###, and you can get the correct numbers to insert in the “###” spots by looking at this product’s Automation tab and seeing what numbers are used for the revoke webhook.
Add this webhook to your payment failed automation follow up sequence with the desired frequency to trigger a retry, using your CRM’s wait timers.
If you’re managing subscription payments there are a total of three campaigns you’ll create in your CRM. The Failed Payment and Successful Payment Campaigns are outlined here in this article. There’s a link below to find out how to create your Revoke Campaign (which is where you remove access for someone).