Showing results for 
Search instead for 
Did you mean: 

Credit Card Expiration Failure / Reporting API

I'm developing a web application that will integrate with ARB API and reporting API. I’m currently working on the integration within the sandbox developer test environment.


Things are going well except I have a problem.


I created a new ARB subscription in the last week of February. The subscription is for 3 payments of $10 once a week for 3 weeks. The payment method is a credit card that expires in February. As expected, the first transaction went through but the second one failed due to the credit card expiring in the month of February.


Within the merchant login area, the second transaction that failed only shows a General Error with no transaction ID and no indication of the specific credit card expiration issue. Also, the second failed transaction does not come down as a transaction in the getUnsettledTransactionList method of the Reporting API. The problem is that I need to display this specific credit card failure information within my web application but I do not see how I’m going to do that.


How am I going to get this information into my application? Is this just a problem with the test environment or will I have the same problem in the live environment?


If you're using silent post, you should receive transaction errors along with successful transactions. Assuming you included some piece of information that allows you to match the error to the customer or subscription in your database, it should be easy to look at the response reason code (8 or 317) and then mark that subscription as expired and send your customer an email asking them to update their credit card. They will probably also get an email from if their payment failed, unless you turned off emails.


On your interface, if you click on the transaction, is there any descriptive information about the reason the transaction declined next to Transaction Status at the top? Or does it just say Declined? What about if you run GetTransactionDetails() from the Transaction Details API for that transaction - do you get the response reason code in the output? You should.


Thanks for the response.


I'm not using silent post.


The transaction is not clickable in the merchant interface.  It just says General Error and doesn't have a transaction id, it says n/a where transaction id should be. Without the transactionid i won't be able to do GetTransactionDetails on it.

I would advise either implementing silent post and seeing if that helps, or using the subscription list to track expirations rather than trying to do it from the transaction end of things. Should be fairly easy to see which subscriptions have been disabled and why.