我正在构建一个Android应用程序,用户通过PayPal支付预订。这只是用户给企业的一次性简单付款,仅此而已。
我已经从这里得到了SDK https://www.x.com/developers/paypal/documentation-tools/paypal-sdk-index
我选择了移动支付库而不是移动快速结账库,你认为我选择对吗?MPL允许我动态地创建一个paypal支付按钮,布局工作完美。
我遵循了SDK附带的指南,它的标题是"移动支付库开发人员指南和参考- Android OS版"
主要问题是当我测试按钮时,我点击它在沙盒中进行测试支付,它要求我登录,我尝试通过我的个人帐户登录它总是失败,我也尝试了一个朋友的帐户登录,仍然总是失败。
下面是我使用的部分代码:paypalObject = PayPal.initWithAppID(getApplicationContext(), "APP-80W284485P519543T", PayPal.ENV_SANDBOX); // SANDBOX
CheckoutButton launchPayPalButton = paypalObject.getCheckoutButton(M_PaymentOptions.this, PayPal.BUTTON_278x43, CheckoutButton.TEXT_PAY);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
params.bottomMargin = 10;
launchPayPalButton.setLayoutParams(params);
launchPayPalButton.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
PayPalPayment newPayment = new PayPalPayment();
newPayment.setSubtotal(BigDecimal.valueOf(10.f));
newPayment.setCurrencyType("GBP");
newPayment.setRecipient("private@private.co.uk"); // changed the email deliberately for privacy reasons
newPayment.setMerchantName("My Company");
Intent paypalIntent = PayPal.getInstance().checkout(newPayment, M_PaymentOptions.this);
M_PaymentOptions.this.startActivityForResult(paypalIntent, 1);
}
});
((RelativeLayout) findViewById(R.id.m_RelativeLayout)).addView(launchPayPalButton);
我试图在沙箱中使用真实的paypal帐户登录,这是错误的,必须从这里创建一个测试帐户https://developer.paypal.com/webapps/developer/applications/accounts
感谢Marek的评论
有可用的日志吗?我怀疑你的测试环境是不允许的要使用真实帐户,您需要创建测试/开发帐户来测试它。——Marek Sebera