首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PayPal mpl Android,ENV_SANDBOX的初始化问题

PayPal mpl Android,ENV_SANDBOX的初始化问题
EN

Stack Overflow用户
提问于 2016-05-05 21:34:43
回答 1查看 224关注 0票数 0

我正在实施一个自适应支付使用延迟链式支付。为此,我只需运行以下步骤:

1)在服务器端,我使用https://svcs.sandbox.paypal.com/AdaptivePayments/Preapproval获取预批准密钥

2)在客户端,我使用Android的mpl让用户认可密钥

3)在服务器端,我使用用户批准的预批密钥创建付款

问题是,我想在沙盒环境中使用mpl来测试所有东西,但是,当我初始化PayPal库(在安卓中)时,我在onActivityResult中得到了以下错误:

“应用程序未授权”,错误代码:-1

代码如下:

代码语言:javascript
复制
PayPal pp = PayPal.getInstance();
if (pp == null) {
         pp = PayPal.initWithAppID(this, "APP-80W284485P519543T", PayPal.ENV_SANDBOX);
         pp.setLanguage("en_US");
         pp.setFeesPayer(PayPal.FEEPAYER_SECONDARYONLY);
         pp.setShippingEnabled(true);
         pp.setDynamicAmountCalculationEnabled(false);
         boolean isAppInit = pp.isLibraryInitialized();
}
pp.setPreapprovalKey("PA-64N62546XG272001B");

Intent preapproveIntent = pp.preapprove(preapproval, Taskhunters.getContext());
startActivityForResult(preapproveIntent, REQUEST_CODE);

相反,如果我使用环境PayPal.ENV_NONE,应用程序是正确初始化的,但我需要在沙箱环境中测试它,因为否则预审批密钥不会设置为“已批准”,并且我无法完成支付流程。

我已经正确创建了三个沙箱帐户,并且我从服务器发出的所有API调用都工作得很好。

所以问题是:如何让MPL在沙箱环境中工作?

对于那些建议使用嵌入式流程的人,我已经尝试过了,但可用性太差了。

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2016-05-06 21:37:31

我终于找到了问题所在。MPL需要权限READ_PHONE_STATE,这是从Android6开始的“危险权限”。要让MPL再次工作,只需在使用库之前要求用户授予该权限即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37052066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档