Braintree iOS 插件不显示 PayPal

Posted

技术标签:

【中文标题】Braintree iOS 插件不显示 PayPal【英文标题】:Braintree iOS drop in doesn't show PayPal 【发布时间】:2017-09-07 01:49:45 【问题描述】:

我正在尝试在我的 ios 应用中使用 Braintree Dropin UI。

我正在沙盒中进行测试,它工作正常,但只接受卡 - 不接受 PayPal?

我只是将提供的代码用于目标 C。

文档说Add the Drop-in UI with a few lines of code to get a full-featured checkout with credit card and PayPal payments. - 但我的 PayPal 按钮在哪里??

- (void)showDropIn:(NSString *)clientTokenOrTokenizationKey 
BTDropInRequest *request = [[BTDropInRequest alloc] init];
BTDropInController *dropIn = [[BTDropInController alloc] initWithAuthorization:clientTokenOrTokenizationKey request:request handler:^(BTDropInController * _Nonnull controller, BTDropInResult * _Nullable result, NSError * _Nullable error) 

    if (error != nil) 
        NSLog(@"ERROR");
     else if (result.cancelled) 
        NSLog(@"CANCELLED");
     else 
        // Use the BTDropInResult properties to update your UI
        // result.paymentOptionType
        // result.paymentMethod
        // result.paymentIcon
        // result.paymentDescription
    
];
[self presentViewController:dropIn animated:YES completion:nil];

【问题讨论】:

【参考方案1】:

您可能错过了添加 LSApplicationQueriesSchemes:

https://developers.braintreepayments.com/guides/client-sdk/setup/ios/v4#register-a-url-type

【讨论】:

感谢您的回复。我已经添加了这些,但我在日志中看到了-canOpenURL: failed for URL: "com.paypal.ppclient.touch.v1://" - error: "The operation couldn’t be completed. (OSStatus error -10814.)" 您能否提供(或概括)您的 info.plist? 您的设备上安装了 PayPal 吗?如果您安装了 PayPal 应用程序,它会起作用吗?它应该在两种情况下都显示 PayPal,但安装应用程序应该会使该日志项消失。完整的日志也会有所帮助。 我试过了——没什么区别。安装应用程序后,info.plist 中的三种 url 类型均无法识别。我虽然它应该使用网络视图作为后备? 您的沙盒 PayPal 帐户是否与 Braintree 关联?我问的原因是这个 JS 问题与您遇到的问题非常相似:***.com/questions/39138929/… 此链接可能有帮助:developers.braintreepayments.com/guides/paypal/testing-go-live/…【参考方案2】:

正如开发者页面所说:

默认情况下,Drop-in 仅支持卡片。您可以通过添加各自的 pod 来包含其他付款方式。

您必须添加这些选项:

    Ruby
pod 'Braintree/PayPal'
pod 'Braintree/Venmo'
pod 'Braintree/Apple-Pay'
pod 'Braintree/3D-Secure'

https://developers.braintreepayments.com/guides/drop-in/ios/v4#pods

【讨论】:

非常感谢 - 不知道我是怎么错过的!【参考方案3】:

将此添加到请求中

request.paypalDisabled = false

【讨论】:

以上是关于Braintree iOS 插件不显示 PayPal的主要内容,如果未能解决你的问题,请参考以下文章

通过 Braintree + Braintree Webhooks 从 PayPal Payments Pro(w/h 定期计费)+ IPN 迁移到 PayPal Payments

Braintree Apple Sandbox Pay 扫描指纹 iOS 后显示付款未完成错误

iOS Braintree Dropin ui,抛出未声明的标识符“BTAppSwitch”

Braintree iOS Drop-in Payment UI 定制

Braintree 点对点 iOS

Braintree沙盒账户不显示交易