Configuring & Troubleshooting with Authorize.net

NOTE: The Initial Setup Video below states that you must have the Pro edition, but that is no longer the case as it's offered in both Plus and Pro editions now.

Initial Setup Video Instructions

Detailed Instructions

To get started, navigate to the options menu in MemberPress and select payments.

  1. Click the (+) button and select a new gateway "Authorize.net"
  2. Name it whatever you want. This is the name that your users will see when they go to select how to pay. We recommend "Pay with Credit Card".
  3. Go to your Authorize.net dashboard to obtain the necessary keys: API Login ID, Transaction Key, and Signature Key.
  4. In Authorize.net Account setting select API Credentials & Keys under Security Settings
  5. Copy and paste your API Login ID into the MemberPress settings
  6. Copy and paste the Transaction Key into the MemberPress settings
  7. Copy and paste the Signature Key into the MemberPress settings
  8. Copy the Webhook URL from MemberPress and paste it into your Authorize.net -> Account -> Business Settings -> Webhooks. You'll want to set its status to "Active" and make sure it's configured to send for All Events. Name it whatever you'd like, but we recommend "MemberPress Webhook" so you'll know what it was for.
  9. Note: The Usernames field shown in the video above has been removed and is no longer needed as of MemberPress version 1.3.51.
  10. Now run some tests for both Recurring (ARB) subscriptions and Non-Recurring (AIM) subscriptions to ensure everything is working properly.

Use Sandbox mode only if you have a sandbox.authorize.net account. This will allow you to make sure everything works without actually charging any real cards. To get a Sandbox account you'll first need to signup at developer.authorize.net. If you have been using Sandbox mode and you're going live, be sure to update your API Login ID, Transaction Key, Signature Key, and Webhook URL for your live account as mentioned above.

Use Force SSL if your site has the option of being viewed in http and https. This will automatically switch to https when a user is going to pay so that the transaction is secure.

Catch Up Payment Type

If a member fails to update their Credit Card and get's behind on payments -- you can use this feature to "catch them up" when they get around to updating their Credit Card info. The options are explained below:

  • None - Don't use the catch-up feature. The member can update their card info, but will not be billed for any delinquencies. Their next scheduled payment will be taken out normally.
  • Period - The member is billed for "this" entire billing period. So if they have missed 5 monthly payments, they are only billed the full amount for the 5th period, not the prior 4 missed periods before it.
  • Proration - The member is billed for the remainder of "this" billing period. So if they have missed 5 monthly payments, and there are still two weeks left in the 5th period, they will be billed immediately for those remaining two weeks.
  • Full - Charge the member the full amount for their delinquent time. So if they missed 5 monthly payments, they would be charged for all 5 months when updating their card.

Canceling in Authorize.net

Normally, you will want to cancel subscriptions directly in MemberPress as is outlined here. However, you may need to cancel a subscription directly in your authorize.net account. This would mainly be needed if you deleted the subscription in MemberPress before correctly canceling it. If this or anything else is the case, you can follow these detailed instructions to cancel directly in authorize.net:

  1. Login to your Authorize.net account
  2. Click on Tools -> Recurring Billing
  3. View active subscriptions
  4. Find the user's subscription in that list and click on it's Subscr ID link
  5. Click "Edit Subscription" at the top
  6. Click "Cancel Subscription" at the top
  7. Click "OK" on the pop-up to confirm the cancellation

Silent Post URL/MD5 Hash to Webhooks/Signature Key Update

On Feb 1st, 2019, Authorize.net removed the UI element for their MD5 Hash Value in favor of their new Signature Keys. As such the MemberPress integration needed to be updated to use the new Signature Key and Webhook URL integrations.

This video covers how to get rid of your old MD5 Hash and Silent Post URL values and replace them with the newer Signature Key and Webhook urls.

If you set up Authorize.net integration with MemberPress before Feb 1st, 2019, you MUST make these changes or your future renewal payments through ARB will not track properly.

Troubleshooting Common Issues

Error "Email Required"

If you get an error that the Email field is required. Edit your Payment Form settings in your Authorize.net account and make sure that "Email" is not a required field.

If you have done that, and you continue getting the error, your processor may require an email address, this custom snippet of code will help: https://gist.github.com/cartpauj/220884f8a69704b30c685e2ef3a5166c

The above code can be pasted into a plugin like Code Snippets (run on front-end type snippet).

Transaction Not Being Received After Recurring Subscription Signup

Recurring Subscriptions are billed through ARB around 2AM PST. As long as you have configured your integration as mentioned in the setup steps above, then your transactions should come through sometime around or just after 2AM PST. MemberPress validates the user's Credit Card before setting up the subscription, so payment failures are uncommon though still possible.

$1 Transaction Being VOIDed Immediately

When a user signs up for a Recurring membership, MemberPress does a $1 AUTH_ONLY transaction through AIM to verify that the credit card is good. That $1 AUTH_ONLY transaction is then voided and the ARB subscription is created. The actual subscription payment should come through around 2AM PST after ARB has processed it.