Bill Martin
Bill Martin

Reputation: 4943

How to charge credit card AND set up automated recurring billing in one step with Authorize.Net

I’m integrating authorize.net into my web application. I’ve used the direct post method (DPM)to charge the account initially. However, for each transaction I also need to set up automated reoccurring billing. How would I go about doing this without asking for the information again, particularly when after DPM posts the initial transaction, the credit card data is no longer available?

I also would like to get the status of each reoccurring transaction so it can be confirmed and followed up on if necessary.

Upvotes: 2

Views: 2727

Answers (2)

DavidJBerman
DavidJBerman

Reputation: 955

You need to use the ARB interface in order to do recurring transactions but there are a lot of problems with it, like lack of support (send an email and wait a couple of weeks for a non-helpful response for example) and weak documentation.

Documentation for SOAP interface for Authorize.net ARB: http://www.authorize.net/support/ARB_SOAP_guide.pdf

And for the XMl interface: http://www.authorize.net/support/ARB_guide.pdf

ARB programming documentation: http://developer.authorize.net/api/arb/

I just switched off of Authorize.net to USAEPAY. Here are some reasons why: 1. When you use Authorize.net ARB, your customer comes on the site to sign up, and you send the ARB request to create the subscription and you get back a success code so you give the user the subscription. Then later that night they actually try to collect the first payment and a lot of times this fails, so you get a spreadsheet emailed to you the next day about the problem. This is terrible because now you lost the opportunity to say to the customer at sign up time that the card is declined. Goodbye sale! 2. I don't know if they added this recently but they didn't have a way to verify if a customer's credit card is still valid. Imagine 3 months into a subscription the card is over the limit, or cancelled, or expired etc. You don't know so how do you prompt the customer to put in a new card? You just stop getting paid, unless you want to manually open these spreadsheets and start emailing customers. YUCK.

USAEPAY works much better, the API is easier, its much better documented and you get email responses in 1-2 days and its less expensive. For example, you can query USAEPAY to get a list of successful payments, and verify that you shouldn't deactivate the account for non-payment: http://wiki.usaepay.com/developer/soap-1.4/methods/getcustomerreport

Before you go too far with AuthNet I highly encourage you to save yourself a lot of pain and contact FranchisePaymentNetwork (FPN) to get set up with USAEpay.

They can even POST BACK to your website to let you know if a transaction is successful or not for recurring billing transactions and you can query it to verify that customer payments are getting collected so you know if you should expire an account or not.

I am not affiliated with USAEpay or Franchise Payment Network except as a satisfied paying customer / consumer of their services.

Upvotes: 0

John Conde
John Conde

Reputation: 219804

You can't do that with DPM as it takes the user's credit card information off of your website so you don't have access to it. If you want to make an initial payment and then use ARB to create a subscription you need to use AIM with ARB.

Upvotes: 2

Related Questions