1

在我的iOS应用程序的非美国开发商,我已经集成使用贝宝SDK中的自适应支付从https://www.x.com/developers/paypal/documentation-tools/paypal-sdk-index贝宝沙盒工作不使用贝宝的iOS SDK

的PayPal改变了他们的网站后,我不能够进行交易使用上面的库。

这里是我的代码

-(void)processSplitPaymentWithFacebuyAdminPayPalId:(NSString*)adminId sellerPayPalId:(NSString*)sellerId withAdminPercentage:(NSNumber*)adminPercentage forTotalAmount:(NSNumber*)totalAmount andShippingCharges:(NSNumber*)shippingCharges 
{ 
    NSLog(@"!!!--------------------------------------"); 
    NSLog(@"AdminID: %@",adminId); 
    NSLog(@"SellerID: %@",sellerId); 
    NSLog(@"Admin Percentage: %@",adminPercentage); 
    NSLog(@"Total Amount: %@",totalAmount); 
    NSLog(@"Shipping Charges: %@",shippingCharges); 
    NSLog(@"!!!--------------------------------------"); 

    PayPal *ppMEP = [PayPal getPayPalInst]; 
    ppMEP.shippingEnabled = TRUE; 
    ppMEP.dynamicAmountUpdateEnabled = TRUE; 
    ppMEP.feePayer = FEEPAYER_EACHRECEIVER; 
    PayPalAdvancedPayment *payment = [[[PayPalAdvancedPayment alloc] init] autorelease]; 
    payment.paymentCurrency = @"AUD"; 

    payment.receiverPaymentDetails = [NSMutableArray array]; 

    NSArray *emails = [[NSArray alloc]initWithObjects:adminId,sellerId, nil]; 

    for (int i = 0; i < emails.count; i++) 
    { 
     PayPalReceiverPaymentDetails *details = [[[PayPalReceiverPaymentDetails 
                alloc] init] autorelease]; 

     details.invoiceData = [[[PayPalInvoiceData alloc] init] autorelease]; 

     float adminAmount = [adminPercentage floatValue]; 
     float sellerAmount = [totalAmount floatValue] - adminAmount; 


     switch (i) { 
      case 0: 
       // Admin commission 
       details.subTotal = [NSDecimalNumber decimalNumberWithString:[NSString stringWithFormat:@"%f",adminAmount]]; 
       details.description = @"Amount payed to Admin as a Commission"; 
       details.merchantName = [NSString stringWithFormat:@"%@",ADMIN]; 
       break; 
      case 1: 
       // Seller amount 
       details.invoiceData.totalShipping = [NSDecimalNumber decimalNumberWithString:[NSString stringWithFormat:@"%@",shippingCharges]]; 
       details.subTotal = [NSDecimalNumber decimalNumberWithString:[NSString stringWithFormat:@"%f",sellerAmount]]; 
       details.description = @"Amount payed to Seller"; 
       details.merchantName = [NSString stringWithFormat:@"%@ : %@",SELLER,@"Seller Name"]; 
       break; 
      default: 
       break; 
     } 

     details.recipient = [emails objectAtIndex:i]; 
     [payment.receiverPaymentDetails addObject:details]; 
    } 
    [ppMEP advancedCheckoutWithPayment:payment]; 
    [emails release]; 
} 

但每次我尝试进行交易,我得到以下错误

errorId: 580022 
message: The receiver is based in a country that isn't enabled to receive payments 

我的测试帐户澳大利亚创建。我的应用程序将只在澳大利亚提供。

现在我的问题是 1)即使我的iOS应用程序进入生产,这有什么关系吗? 2)我们是否也可以使用上述链接中提供的iOS SDK或者我们是否需要使用最新的SDK?

我看到一些links但我不清楚发生了什么问题。

任何形式的帮助,高度赞赏。谢谢。

UPDATE:

如果我使用美国测试帐户,然后仍然是我的交易没有完成。

- (void)paymentFailedWithCorrelationID:(NSString *)correlationID 

以上方法被调用&这里是响应

severity: None 
category: Application 
errorId: 0 
message: None 

下面是截图

enter image description here

回答

1

您可以切换到我们新的移动支付库的iOS?旧版本现在已被弃用,每个人都被鼓励使用新的图书馆。

https://developer.paypal.com/webapps/developer/docs/integration/mobile/ios-integration-guide/

+0

啊注意到你正试图在澳大利亚使用它。目前仅在美国支持新的移动支付库。让我联系团队,看看他们是否可以帮助解决发生的问题。 – Praveen

+0

感谢Praveen的回复。我无法切换到新图书馆,原因有两个: 1)我需要在澳大利亚使用应用程序 2)我需要自适应付款 如果您从团队获得任何信息,请让我知道。 谢谢 – iOSAppDev

+0

看起来旧的MPL库不再支持了。您可以将自适应付款API与webview集成(而不是移动支付库)一起使用吗? – Praveen