2013-04-30 3 views
9

Ich verwende PayPal Mobile Payment Library, damit Nutzer für Reisen von meiner Android-App bezahlen.So erhalten Sie den Benutzernamen, das Telefon und die E-Mail-Adresse von PayPal Mobile Payment Library

Wenn der Benutzer auf die Schaltfläche Pay with Paypal klickt, wird der Anmeldebildschirm angezeigt. Wenn sich der Benutzer anmeldet, kann er die Zahlung erfolgreich durchführen. Das ist alles gut für meine App. Alles, was ich brauche, ist, die Benutzerdetails zu erhalten, nachdem der Benutzer die Zahlung im onActivityResult-Code abgeschlossen oder storniert hat.

Bitte siehe mein Code unten, leider hat es mich nicht die Details aus dem PayPal-Konto, so frage ich mich, ob es eine andere Methode ist Benutzerdaten von PayPal zu erhalten, nachdem er sich anmeldet.

@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); 

Was ich tue, ist, dass ich mich einlogge, dann die Transaktion abbrechen Hier ist das Protokoll, das ich

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 

dann bekomme ich in meiner app klicken zurück, dann nächstes klicken Sie erneut auf die Zahlung Seite zu gehen, und klicken Sie auf die Bezahlung mit Paypal-Taste wieder, diesmal würde ich es tun werden bereits angemeldet, dann kündige ich Transaktion

04-30 12:30:43.878: W/tag(24697): jemail# 
04-30 12:30:43.878: W/tag(24697): jname#H.O.P.E 
04-30 12:30:43.878: W/tag(24697): jphone#+44 
04-30 12:30:43.878: W/tag(24697): jdialcode#44 
+0

jede Hilfe anyone? –

Antwort

3

Sie können nicht Zahler Informationen wie E-Mail, Name und Telefon usw. an dieser Stelle bekommen. Vielleicht haben Sie auch bemerkt, dass es entsprechende set-Methoden wie paypal.setAccountEmail ("[email protected]") gibt. Sie wurden entwickelt, um den PayPal-Dialog mit Payer-Informationen zu füllen, wenn Sie diese Informationen bereits haben.

Sie können jedoch PayPal IPN (Instant Payment Notification) verwenden, um einen Rückruf vom PayPal-System zu erhalten, wenn die Zahlung verarbeitet wurde. Aus der IPN-Nachricht können Sie Payer-Informationen extrahieren. Verwenden Sie Pay Key, um den Kostenträger anhand der IPN-Nachricht zu identifizieren. Darüber hinaus müssen Sie das PayPalAdvancedPayment-Objekt übergeben, während Sie die PayPal-Aktivität aufrufen. Bitte lesen Sie in diesem Dokument, PayPal Mobile implementation guide

Aufruf wie folgt vorgegangen:

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

Danke für Ihre Hilfe. Ich möchte jedoch die Benutzer über PayPal einloggen und ich würde dann ihre Daten von PayPal haben, dh wie Facebook Login, Twitter Login, etc. Das Problem ist, ich weiß nicht, ob PayPal Zugang https://www.x.com/developers/paypal/products/login-with-paypal funktioniert tatsächlich mit der PayPal Mobile Payment Library-Schaltfläche, dh ich weiß nicht, ob sich der Benutzer über PayPal einloggt, ob er auch bei der PayPal MPL-Sitzung eingeloggt ist oder nicht , wenn nicht, dann nutzlos für mich. Bitte sagen Sie mir, wenn Sie mehr erklären möchten –

+2

Ja, Sie können PayPal-Benutzerprofilinformationen abrufen, da PayPal den OAuth2-Standard bereitstellt. Zuerst müssen Sie sich mit PayPal anmelden und ein Authentifizierungs-Token generieren. Sobald Sie ein gültiges Authentifizierungstoken erhalten haben, können Sie Benutzerprofildaten aufrufen, wenn der Nutzer Ihrer App den Zugriff auf ihre Profildaten erlaubt hat (https://identity.x.com/xidentity/resources/profile/me).Die Profilzugriffsberechtigung wird während der OAuth-Anmeldeprozedur erteilt. Das Verfahren ähnelt Facebook, Google oder anderen OAuth2-Standard –

3

prüfen diese (OAuth): https://developer.paypal.com/webapps/developer/docs/integration/direct/log-in-with-paypal/#getStart

und diese: https://developer.paypal.com/webapps/developer/docs/integration/direct/log-in-with-paypal/detailed/

Verwenden HttpClient und WebView zu authentifizieren und Fahren Sie fort - WebFrame ist vielleicht etwas komplex für diese App, aber das ist nur das, woran ich sofort denken kann - es sei denn, Sie verwenden andere OAu th Provider App Bibliotheken

Siehe auch - http://developer.android.com/reference/android/webkit/WebView.html

+1

Nützliche Informationen, aber die Frage war, wie diese Informationen mit PayPal Mobile Payment Library erhalten –

+1

MPL ist kein Identity-Management-Tool; Vielmehr hilft es Zahlungen zu verarbeiten. Verwenden Sie PayPal OAuth, um Details abzurufen und zusammenzufassen. – CKmum

Verwandte Themen