I am implementing Authorize.Net payment method in my app. it works fine Payment is successfully done but i am unable to send the user's details to the server who make the payment. The success mail i get after transaction shows null values
==== CUSTOMER BILLING INFORMATION ===
Customer ID :
First Name :
Last Name :
Company :
Address :
City :
State/Province :
Zip/Postal Code :
Country :
Phone :
Fax :
E-Mail :
i am using the following code for creating transaction
- (void) createTransaction
{
AuthNet *an = [AuthNet authNetWithEnvironment:ENV_TEST];//[AuthNet getInstance];
[an setDelegate:self];
CreditCardType *creditCardType = [CreditCardType creditCardType];
creditCardType.cardNumber = @"4111111111111111";
creditCardType.cardCode = CvvNumberTxt.text;//@"100";
creditCardType.expirationDate = ExpiryDateTxt.text; //@"1218";
PaymentType *paymentType = [PaymentType paymentType];
paymentType.creditCard = creditCardType;
ExtendedAmountType *extendedAmountTypeTax = [ExtendedAmountType extendedAmountType];
extendedAmountTypeTax.amount = @"0";
extendedAmountTypeTax.name = @"Tax";
ExtendedAmountType *extendedAmountTypeShipping = [ExtendedAmountType extendedAmountType];
extendedAmountTypeShipping.amount = @"0";
extendedAmountTypeShipping.name = @"Shipping";
CustomerDataType *c = [CustomerDataType customerDataType];
c.type = @"Artist";
c.email = @"[email protected]";
CustomerAddressType *customerAddressType = [CustomerAddressType customerAddressType];
customerAddressType.firstName = @"Abc";
customerAddressType.lastName = @"Xyz";
customerAddressType.country = @"India";
customerAddressType.state = @"Delhi";
customerAddressType.city = @"New Delhi";
customerAddressType.phoneNumber = @"9999999999";
LineItemType *lineItem = [LineItemType lineItem];
lineItem.itemName = @"Soda";
lineItem.itemDescription = @"Soda";
lineItem.itemQuantity = @"1";
lineItem.itemPrice = @"1.00";
lineItem.itemID = @"1";
TransactionRequestType *requestType = [TransactionRequestType transactionRequest];
requestType.lineItems = [NSMutableArray arrayWithObject:lineItem];
requestType.amount = amountTxt.text; //@"1.00";
requestType.payment = paymentType;
requestType.tax = extendedAmountTypeTax;
requestType.shipping = extendedAmountTypeShipping;
CreateTransactionRequest *request = [CreateTransactionRequest createTransactionRequest];
request.transactionRequest = requestType;
request.transactionType = AUTH_ONLY;
request.anetApiRequest.merchantAuthentication.mobileDeviceId = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
request.anetApiRequest.merchantAuthentication.sessionToken = sessionToken;
[an purchaseWithRequest:request];
}
I think you need to add a line to your TransactionRequest call under or near the requestType.shipping = extendedAmountTypeShipping; line:
I am not an Objective C programmer, and I am not familiar with their iOS API but I overlooked this same exact thing with the PHP API. Double check the documentation for that requestType.billing. I just guessed at that!