2013-04-02 29 views
0

我正在构建一个Android应用程序,用户通过PayPal支付预订费用。这只是一个简单的付款从用户到企业,仅此而已。登录总是失败Android上的Paypal MPL

我已经得到了SDK的从这里https://www.x.com/developers/paypal/documentation-tools/paypal-sdk-index

我选择了移动支付库,而不是移动快速结账图书馆,你看我选了吧? MPL允许我动态创建一个paypal付款按钮,并且布局完美。

我按照自带的SDK中的指南,它的标题是“移动支付库开发者指南和参考 - Android操作系统版”

主要问题是当我测试的按钮,我点击它在沙箱中进行测试支付,它要求我登录,我尝试通过我的个人帐户登录它总是失败,我也尝试了一个朋友的帐户登录,仍然总是失败。

这里是我使用的代码的一部分:

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("[email protected]"); // 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); 
+0

是否有任何可用的日志?我怀疑你的测试环境不允许使用真实账户,你需要创建测试/开发账户来测试它。 –

+0

是的,这是非常真实的,我如何创建一个测试帐户? –

回答

1

我试图在这是不对的沙箱使用真正的贝宝账户登录,只好从这里创建一个测试帐号https://developer.paypal.com/webapps/developer/applications/accounts

谢谢对Marek发表评论

任何可用的日志?我怀疑你的测试环境不允许使用 使用真实账户,你需要创建测试/开发 账户来测试它。 - Marek Sebera