我正在我的应用中实施Authorize.Net付款方式。它工作正常付款已成功完成,但我无法将用户的详细信息发送给付款的服务器。 交易后获得的成功邮件显示空值
==== CUSTOMER BILLING INFORMATION ===
Customer ID :
First Name :
Last Name :
Company :
Address :
City :
State/Province :
Zip/Postal Code :
Country :
Phone :
Fax :
E-Mail :
我使用以下代码创建交易
- (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 = @"abc@gmail.com";
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];
}
答案 0 :(得分:1)
我认为您需要在requestType.shipping = extendedAmountTypeShipping下或附近的TransactionRequest调用中添加一行;行:
requestType.billing = CustomerAddressType;
我不是Objective C程序员,我不熟悉他们的iOS API,但我忽略了与PHP API相同的东西。仔细检查该requestType.billing的文档。我猜对了!