Paypal Sandbox 不适用于使用 Paypal iOS SDK 的非美国开发人员

Posted

技术标签:

【中文标题】Paypal Sandbox 不适用于使用 Paypal iOS SDK 的非美国开发人员【英文标题】:Paypal Sandbox is not working for Non-US developers using Paypal iOS SDK 【发布时间】:2013-03-20 03:09:54 【问题描述】:

在我的 ios 应用中,我已经使用来自 https://www.x.com/developers/paypal/documentation-tools/paypal-sdk-index 的 paypal 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,但我不清楚出了什么问题。

我们非常感谢任何形式的帮助。谢谢。

更新:

如果我使用美国测试账户,那么我的交易仍然没有完成。

- (void)paymentFailedWithCorrelationID:(NSString *)correlationID

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

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

这是截图

【问题讨论】:

【参考方案1】:

您能切换到我们新的 iOS 移动支付库吗?旧库现已弃用,鼓励每个人使用新库。

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

【讨论】:

啊注意到您正试图在澳大利亚使用它。新的移动支付库目前仅在美国受支持。让我与团队联系,看看他们是否可以帮助解决正在发生的事情。 感谢 Praveen 的回复。由于 2 个原因,我无法切换到新图书馆 1)我需要在澳大利亚使用应用程序 2)我需要自适应付款 如果您从您的团队获得任何信息,请告诉我。谢谢 看起来旧的 MPL 库将不再受支持。您可以将 Adaptive Payments API 与 webview 集成(而不是移动支付库)一起使用吗? 我的客户不想显示网页视图。在 paypal 的网站上,据说我们仍会为较旧的 api 和库提供支持。我们不会很快弃用它。此外,新的 ios sdk 不支持自适应支付,仅适用于美国。 你能建议我其他选择吗?

以上是关于Paypal Sandbox 不适用于使用 Paypal iOS SDK 的非美国开发人员的主要内容,如果未能解决你的问题,请参考以下文章

无法转换货币 paypal pay API 错误

访问 https://api.sandbox.paypal.com 时得到 Http 响应码 400

为啥我的 PayPal Checkout 按钮无法打开指向 PayPal Sandbox 的链接?

Ruby 的 Paypal 自适应支付

Paypal payKey 让我支付错误

访问 PayPal Sandbox 交易服务时远程证书无效