如何从贝宝移动支付库获取用户名,电话和电子邮件

我正在使用贝宝移动支付库 ,使用户支付从我的Android应用程序的旅程。

当用户点击使用PayPal进行支付时,login屏幕出现,当用户login时,他能够成功地进行支付。 这一切都适用于我的应用程序。 所有我需要的是在用户完成/取消onActivityResult代码中的付款后获取用户的详细信息。

请看下面的代码,不幸的是,它并没有给我从贝宝帐户的细节,所以我想知道是否有另一种方法来获取用户login后贝宝的细节。

@Override public void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case PAYPAL_REQUESTCODE: { Log.w("tag","jemail#"+ PayPal.getInstance().getAccountEmail()); Log.w("tag","jname#"+ PayPal.getInstance().getAccountName()); Log.w("tag","jphone#"+ PayPal.getInstance().getAccountPhone()); Log.w("tag","jdialcode#"+ PayPal.getInstance().getAccountCountryDialingCode()); switch(resultCode) { case Activity.RESULT_OK: { String payKey = data.getStringExtra(PayPalActivity.EXTRA_PAY_KEY); Log.d("tag", "PayPal payment succeeded"); Log.d("tag", "PayPal payKey: " + payKey); 

我所做的是我login,然后取消交易这里是我得到的日志

 04-30 12:30:19.672: W/tag(24697): jemail# 04-30 12:30:19.672: W/tag(24697): jname# 04-30 12:30:19.672: W/tag(24697): jphone#+44 04-30 12:30:19.672: W/tag(24697): jdialcode#44 

然后我点击回我的应用程序,然后点击下一步再次进入付款页面,再次点击付款与贝宝button,这一次我将已经login,然后我取消交易

 04-30 12:30:43.878: W/tag(24697): jemail# 04-30 12:30:43.878: W/tag(24697): jname#HOPE 04-30 12:30:43.878: W/tag(24697): jphone#+44 04-30 12:30:43.878: W/tag(24697): jdialcode#44 

Solutions Collecting From Web of "如何从贝宝移动支付库获取用户名,电话和电子邮件"

您目前无法获得电子邮件,姓名和电话等付款人信息。 您可能还注意到,有相应的设置方法,如payPal.setAccountEmail(“payer@xyz.com”)。 如果您已经拥有这些信息,它们被devise为预先填充支付方信息的PayPal对话框。

但是,在处理付款后,您可以使用PayPal IPN(即时付款通知)从PayPal系统获取回拨。 从IPN消息中,您可以提取付款人信息。 使用支付密钥从IPN消息中识别付款人。 另外,您必须在调用PayPal活动时传递PayPalAdvancedPayment对象。 请查看这个文档, 贝宝移动实施指南

调用程序如下:

  PayPalAdvancedPayment payment = new PayPalAdvancedPayment(); payment.setIpnUrl("http://server/test"); payment.setReceivers... // Receiver objects PayPal.getInstance().checkout(payment, this.getBaseContext()); 

检查此(OAuth): https : //developer.paypal.com/webapps/developer/docs/integration/direct/log-in-with-paypal/#getStart

和这个: https : //developer.paypal.com/webapps/developer/docs/integration/direct/log-in-with-paypal/detailed/

使用HttpClientWebView进行身份validation并进一步处理 – 对于此应用程序,WebFrame可能有点复杂,但这只是我能想到的唯一事情 – 除非您使用其他OAuth提供程序的App库

另请参阅 – http://developer.android.com/reference/android/webkit/WebView.html