Leaky Paywall - Authorize.net
Use the Leaky Paywall - Authorize.net add-on in order to use Authorize.net to collect payments.
1. Install the add-on
Go to your WP admin > Plugins and click Add New. Click on Upload File and upload the zip file you downloaded from your My Account. After uploading the plugin, activate it.
2. Configure settings
Go to Leaky Paywall > Settings > Payments. Under "Enabled Gateways", check the box for Authorize.net. Make sure that is the only gateway selected, as the add-on currently only works on its own.
Enter your test and live API keys under the Authorize.net Settings heading. A helpful article about how to generate the API keys is available here: Authorize.net Getting Started Guide
3. Webhook Configuration
You must configure webhooks inside your Authorize.net account in order for this add-on to work properly.
Log in to your Authorize.net account, go to your Account page and click on Webhooks.
Click on "Add Endpoint". Enter your webhook url and select all events. You can find your Endpoint URL in the Leaky Paywall Authorize.net settings.
4. Enable Customer Information Manager (CIM)
Most newer Authorize.net accounts will come with this enabled automatically. However, if you have an older account, you'll need to enable it in your Authorize.net account under Tools > Customer Information Manager.
5. Enable Automated Recurring Billing (ARB)
Most new Authorize.net accounts will come with this enabled automatically. However, if you have an older account, it will need to be enabled. This article shows how to enable it.
If you have setup everything and the webhooks are not working, you may need to allow access to certain IP addresses on your server's firewall.
How Recurring Payments Work with Authorize.net
1. Run the card as Authorize Only
2. If a success is returned, then the recurring subscription is created with a start date of the current day
3. After successful subscription is created, the Authorize Only transaction is voided.
4. The actual payment is processed that night by Authorize.net. If the payment fails, a webhook is sent back to the site and the subscriber's payment status is set to deactivated.