Iphone 在ios中使用授权的.net支付网关

Iphone 在ios中使用授权的.net支付网关,iphone,objective-c,Iphone,Objective C,我正在ios中使用授权的.net支付网关 用下面的方法 (void) createTransaction { AuthNet *an = [AuthNet getInstance]; [an setDelegate:self]; CreditCardType *creditCardType = [CreditCardType creditCardType]; creditCardType.cardNumber = @"4111111111111111";

我正在ios中使用授权的.net支付网关 用下面的方法

 (void) createTransaction {
    AuthNet *an = [AuthNet getInstance];

    [an setDelegate:self];

    CreditCardType *creditCardType = [CreditCardType creditCardType];
    creditCardType.cardNumber = @"4111111111111111";
    NSLog(@"babul cardNumber is %@",creditCardType.cardNumber);
    creditCardType.cardCode = @"100";
    NSLog(@"babul cardCode is %@",creditCardType.cardCode);
    creditCardType.expirationDate = @"1212";
    NSLog(@"babul expirationDate is %@",creditCardType.expirationDate);
    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";

    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 = [NSArray arrayWithObject:lineItem];
    requestType.amount = @"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] uniqueGlobalDeviceIdentifier]
     stringByReplacingOccurrencesOfString:@"-" withString:@"_"];
    request.anetApiRequest.merchantAuthentication.sessionToken = sessionToken;
    [an purchaseWithRequest:request];
}
我得到的答复如下:

创建事务响应 2012-07-26 19:14:00.131授权[2355:207]错误
E00003
命名空间“AnetApi/xml/v1/schema/AnetApiSchema.xsd”中的元素“merchantAuthentication”在命名空间“AnetApi/xml/v1/schema/AnetApiSchema.xsd”中具有无效的子元素“mobileDeviceId”。命名空间“AnetApi/xml/v1/schema/AnetApiSchema.xsd”中需要的可能元素列表:“name、transactionKey、sessionToken、password”。 命名空间警告:xmlns:URI-AnetApi/xml/v1/schema/AnetApiSchema.xsd不是绝对的 ttp://www.w3.org/2001/XMLSchema“xmlns=“AnetApi/xml/v1/schema/AnetApiSchema.xsd” ^ 2012-07-26 19:14:00.131授权[2355:207]错误=(空) 2012-07-26 19:14:00.247授权[2355:207]巴布尔输出为消息。代码=E00003 Message.text=命名空间“AnetApi/xml/v1/schema/AnetApiSchema.xsd”中的元素“merchantAuthentication”在命名空间“AnetApi/xml/v1/schema/AnetApiSchema.xsd”中具有无效的子元素“mobileDeviceId”。可能的元素列表应为命名空间“AnetApi/xml/v1/schema/AnetApiSchema.xsd”中的“name、transactionKey、sessionken、password”

对于上述问题以及如何将事务存储在授权的.net中,是否有其他解决方案 (我创建了我的测试帐户,我提供了这些凭据,我批准了我的设备,但后来我收到了上述错误)


提前感谢

我认为您需要进行应用内购买,因为苹果不会批准通过任何web服务或API进行应用程序支付。

不正确。这仅适用于软件或服务等虚拟商品。如果您销售汽车等实体商品,您将不得不使用自己的/第三方支付解决方案。