- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ARB Setup Returns False for Recurring Transaction
I'm using ARB to set up recurring transactions. The setup goes through with a success code and I get a subscription id back. Transaction #1 occurs, but when I query the Transaction using the SDK it says that recurring billing is false. Looking at the Transaction in Authorize.net merchant area I can see the transaction and it says it is "1 of 9999" but the Recurring Transaction says "N".
Using the SDK & AuthorizeNetTD an app polls the batch lists & transactions periodically to check for recurring transactions that have posted. These transactions are being missed by the application since the recurring billing is returning as false.
Can someone review my XML and tell me what I'm missing?
Below is the XML I am sending to set up the recurring transaction (with private data X'd out of course)
<?xml version="1.0" encoding="utf-8"?><ARBCreateSubscriptionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"><merchantAuthentication><name>XXXXXX</name><transactionKey>XXXXX</transactionKey></merchantAuthentication><refId>96620111116</refId><subscription><name>YUGM Recurring Donation - biweekly</name><paymentSchedule><interval><length>14</length><unit>days</unit></interval><startDate>2011-11-17</startDate><totalOccurrences>9999</totalOccurrences></paymentSchedule><amount>1.02</amount><payment><creditCard><cardNumber>XXX4442</cardNumber><expirationDate>09/13</expirationDate></creditCard></payment><customer><id>966</id><email>xxx</email></customer><billTo><firstName>xxxx</firstName><lastName>xxx</lastName><address>xxx</address><city>xxx</city><state>xxx</state><zip>xxx</zip></billTo></subscription></ARBCreateSubscriptionRequest>
Here's the response I logged regarding the setup (not raw, obviously): Authorize.net transation : refId:96620111116 | resultCode:Ok | code:I00001 | text:Successful. | subscriptionId:11438554
Here is the Transaction Response (I bolded the RecurringBilling at the end):
AuthorizeNetTD_Response Object ( [xml] => SimpleXMLElement Object ( [messages] => SimpleXMLElement Object ( [resultCode] => Ok [message] => SimpleXMLElement Object ( [code] => I00001 [text] => Successful. ) ) [transaction] => SimpleXMLElement Object ( [transId] => 3985501090 [submitTimeUTC] => 2011-11-17T10:31:54.95Z [submitTimeLocal] => 2011-11-17T03:31:54.95 [transactionType] => authCaptureTransaction [transactionStatus] => settledSuccessfully [responseCode] => 1 [responseReasonCode] => 1 [responseReasonDescription] => Approval [authCode] => 111728 [AVSResponse] => Y [batch] => SimpleXMLElement Object ( [batchId] => 172912945 [settlementTimeUTC] => 2011-11-18T07:15:37.27Z [settlementTimeLocal] => 2011-11-18T00:15:37.27 [settlementState] => settledSuccessfully ) [authAmount] => 1.02 [settleAmount] => 1.02 [taxExempt] => false [payment] => SimpleXMLElement Object ( [creditCard] => SimpleXMLElement Object ( [cardNumber] => XXXX4442 [expirationDate] => XXXX [cardType] => Visa ) ) [customer] => SimpleXMLElement Object ( [type] => individual [id] => 966 [email] => xxx ) [billTo] => SimpleXMLElement Object ( [firstName] => xxxxx [lastName] =>xxx [address] => xxx[city] => xxx [state] => WA [zip] => 98942-9464 ) [recurringBilling] => false ) ) [response] => OkI00001Successful.39855010902011-11-17T10:31:54.95Z2011-11-17T03:31:54.95authCaptureTransactionsettledSuccessfully11Approval111728Y1729129452011-11-18T07:15:37.27Z2011-11-18T00:15:37.27settledSuccessfully1.021.02falseXXXX4442XXXXVisaindividualXXXCorrect Email Name Address are All HereXXXfalse [xpath_xml] => SimpleXMLElement Object ( [messages] => SimpleXMLElement Object ( [resultCode] => Ok [message] => SimpleXMLElement Object ( [code] => I00001 [text] => Successful. ) ) [transaction] => SimpleXMLElement Object ( [transId] => 3985501090 [submitTimeUTC] => 2011-11-17T10:31:54.95Z [submitTimeLocal] => 2011-11-17T03:31:54.95 [transactionType] => authCaptureTransaction [transactionStatus] => settledSuccessfully [responseCode] => 1 [responseReasonCode] => 1 [responseReasonDescription] => Approval [authCode] => 111728 [AVSResponse] => Y [batch] => SimpleXMLElement Object ( [batchId] => 172912945 [settlementTimeUTC] => 2011-11-18T07:15:37.27Z [settlementTimeLocal] => 2011-11-18T00:15:37.27 [settlementState] => settledSuccessfully ) [authAmount] => 1.02 [settleAmount] => 1.02 [taxExempt] => false [payment] => SimpleXMLElement Object ( [creditCard] => SimpleXMLElement Object ( [cardNumber] => XXXX4442 [expirationDate] => XXXX [cardType] => Visa ) ) [customer] => SimpleXMLElement Object ( [type] => individual [id] => 966 [email] => xxx) [billTo] => SimpleXMLElement Object ( [firstName] => xxx [lastName] => xxx [address] => xxx [city] =>xxx [state] => WA [zip] => xxx ) [recurringBilling] => false ) ) )
Let me know if any other information would be useful.Thank you in advance.
11-18-2011 08:16 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Recurring billing is a flag that Authorize,net sets to mark whether the information needs to be run through the AVS when the charge processes. Only the first charge after each subscription creation or update needs to be verified, so those ones are marked as not recurring; subsequent charges should be marked as recurring. I know that's not really what one would expect, but it is what it is.
Essentially, you need a different way of figuring out which transactions are ARB. Pass through some value, like for instance a description, that will tell you whether it's ARB or not. You'll just have to go through your existing subscriptions and either manually or programmatically update them to be the same way.

11-18-2011 05:30 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Do you know why it is that transactions created through the Authorize.net merchant account interface return "Y"?
11-19-2011 09:21 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm not certain exactly what you are asking. If you wondering why it returns "Y" instead of "true", there really isn't any particular reason. The online interface simply returns Y or N instead of true or false.
11-23-2011 01:36 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
No, just curious why it sets a transaction that is entered via Authorize.net's merchant account interface as Y or as true when it is returned in a batch transaction. When recurring transactions are set up using ARB they are set as N or false.
Going forward I'm adding an "RT" to the customer id, but I want to make sure all of the recurring transactions already occurring and that are showing as "true" when my app looks at the transaction, doesn't suddenly switch to "false"
11-23-2011 04:59 PM
