Showing results for 
Search instead for 
Did you mean: 

Values in transactionResponse are nil even on success callback

I make a request using 

    [an purchaseWithRequest:request];


following the code in the SDK example. When it returns it gives me a success message but goes in the 

- (void) requestFailed:(AuthNetResponse *)response

delegate callback method. I went up the stack trace and saw that in AuthNet.m file in 

- (void) processResponseData:(NSData *)theResponse method transactionResponse has nil values including nil for responseCode and hence it calls the requestFailed callback. 


This is the XML data it gets back in response:


GDataXMLElement 0xa66d5a0: {type:1 name:mobileDeviceLoginResponse xml:"
<mobileDeviceLoginResponse xmlns:xsi="" xmlns:xsd="" xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
    <merchantName>Rahul Thathoo</merchantName>
    <merchantAddress>1 Main Street</merchantAddress>




Is there an issue in the backend of Authorize.Net cause I downloaded the SDK yesterday. It is version 1.1.1

Any help is welcome as I have a strict deadline to get this working. Below is the request I am making. Could it be because of AUTH_ONLY?


    CreateTransactionRequest *request = [CreateTransactionRequestcreateTransactionRequest];

    request.transactionRequest = requestType;

    request.transactionType = AUTH_ONLY;

    request.anetApiRequest.merchantAuthentication.mobileDeviceId = [[UIDevicecurrentDevice] identifierForVendor].UUIDString;

    request.anetApiRequest.merchantAuthentication.sessionToken = self.sessionToken;

    [an purchaseWithRequest:request];


First of all I am NOT a iOS developer,

but the response you post is from the mobileDeviceLoginRequest and not from the CreateTransactionRequest


This is the response I get from CreateTransactionRequest in TEST environment. I get a session token in the mobileDeviceLoginRequest. Is there a bug in the SDK then?

Issue is that sessionToken was returned after I made the request for transaction. So it is synchornous and we have to wait until we have the session set and then make the purchase transaction.