Showing results for 
Search instead for 
Did you mean: 

ARBCancelSubscriptionResponse returns OK but doesn't cancel subscription



I've been using's ARB feature to keep track of subscriptions to a webapp for years now. Lately, I've noticed a really strange problem in Silent POST URLs vs. the ARBCancelSubscriptionResponse call.


The scenario:

* I use the Silent POST URL to keep track of declined transactions. If one gets declined, I cancel the account on my database and also on ARB.


The problem:

* Even though the ARBCancelSubscriptionResponse returns with a Successful message, by checking the ARB interface I notice that the account hasn't been cancelled.


This is happening using the official PHP SDK, with a simple call like:


$cancellation = new AuthorizeNetARB;
$cancel_response = $cancellation->cancelSubscription($subscriptionId);



The XML I get in response for such SDK call is the following:

<?xml version="1.0" encoding="utf-8"?><ARBCancelSubscriptionResponse xmlns:xsi="" xmlns:xsd="" xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"><messages><resultCode>Ok</resultCode><message><code>I00001</code><text>Successful.</text></message></messages></ARBCancelSubscriptionResponse>



Anyone ever experience something like this?


I'm having the same problem using the SOAP api calls.



1) Create a new membership.

2) Check status (status = active)

3) Cancel membership.

4) Check status (status = active)


If I try and cancel it again is gives me an error telling me it's already cancelled but the CheckStatus method call still returns active.


What gives??



I know this is a really old thread, but I'm still noticing this issue and it's affecting business. Is there a fix for this?

Hi selectwv,

This previous discussion in the thread was due to an issue with how Status was returned in our API response, but this has been resolved, both <status> and <Status> are now displaying the same information.




Thanks for the response. Actually I'm having the same problem that barbutti described. I'm using the PHP SDK, and after calling the cancelSubscription($subscriptionId) method in my Silent Post script, I get an XML response with resultCode = "Ok", message->code = I00001, and message->text = 'Successful.' When I check the status of this subscription in my account, it still apears to be active. This only happens when using the Silent Post feature. When I call cancelSubscription() any other time it appears to work.