Stefan Krenz wird die Integration von Zahlungen per PayPal in eine Software erläutern. Als Beispiel dient ein Onlineshop. Paypal bietet Entwicklern eine Sandbox zur Unterstützung an. Die Vorgehensweise zur Nutzung der Sandbox und die Schritte zur Zahlungsabwicklung werden in diesem Vortrag erklärt.
Transcript of Zahlungsabwicklung über die PayPal-API
I Zahlung anweisen und Transaktionsdetails abrufen
Vorführender
Präsentationsnotizen
- Wofür wird er benötigt und sein Inhalt. - Arten und Einstellungsmöglichkeiten - Was macht sie - Arten der Datenformate und benötigte Felder im API-Call - Einleitung des Zahlungsprozesses und erste Informationen für PayPal - Abholen der Kundendaten von PayPal. - Abschließen des Zahlungsprozesses
Mayflower GmbH I 3
PayPal Developer Account
I Registrierung auf https://developer.paypal.com
I Container für Test Accounts
I PayPal Account unabhängig
I Für Sandbox benötigt
Vorführender
Präsentationsnotizen
- Wo wird der Account angelegt. Seite nur in Englisch verfügbar. Ohne Dev-Acc keine Sandbox. - Alle Testaccounts sind im Developer-Account vereinigt. - Es wird kein PayPal-Account und -Guthaben benötigt.
Mayflower GmbH I 4
Test-Accounts
I Buyer
I Seller
I Kreditkarte
I Bankkonto
I PayPal Kontostand
Vorführender
Präsentationsnotizen
- Simulation eines Kundenaccounts und Verkäufer Accounts. - Dritte Accountart "Website Payments Pro. Nur für USA verfügbar und für "PayPal Pro" Bezahlung benötigt. Keine genauere Erläuterung, Beziehung auf "PayPal Basic". - Lieferadressen sind auf das Land des Test-Accounts beschränkt. - Zwei Möglichkeiten einen Test-Account zu erstellen. Preconfigured und Manually. Manually verhält sich wie PayPal Registrierung. - Erklärung Preconfigured: - Nebst dem Login und dem Passwort gibt es noch folgende Einstellungen. - Kreditkarte für DE wählbar: Visa, MasterCard, None - Bankverbindung: Ja, Nein - PayPal Kontostand: 0€ - 9999€ (9999€ ist das Zahlungslimit bei PayPal) Notiz
Mayflower GmbH I 5
Testumgebung (Sandbox)
I Seller Test-Account benötigt
I Kein Geldtransfer
I Lieferadresse
I Zahlungsbestätigung
Vorführender
Präsentationsnotizen
- Zur Benutzung der Sandbox wird ein Seller Account benötigt. - Simulation von Transaktionen - Es finden keine Geldtransaktion statt - Zahlungsstatus wird fast immer bestätigt. Ausnahme: Keine Kreditkarte und kein PayPal Guthaben
Mayflower GmbH I 6
PayPal API Grundlagen
I Authentifizierung erforderlich
I HTTP-POST Requests
I REST- und SOAP-Interface
I Benötigte Parameter· Username· Passwort· Signatur· API-Version· Methode
Vorführender
Präsentationsnotizen
- Authentifizierung in jedem Request enthalten - Authentifizierungsmethoden: Signature, Server Zertifikat - Signatur ist im Dev-Acc bzw. PayPal-Acc zu finden - Username, Passwort und Signatur sind im Developer Account unter "API Credentials" einsehbar. - Signatur nicht bei Zertifikat. - Adresse abhängig von der Authentifizierungsmethode und der Schnittstelle. - REST (NVP) oder SOAP (genauere Beschreibung der REST Schnittstelle) - API Version (für NVP 2.3) - Methode: Name der API-Funktion - Reihenfolge wie auf der Folie zu sehen - Feld ACK im Response beachten (Success, SuccessWithWarning, Error, Warning) - Wichtig: Values durch urlencode jagen
Mayflower GmbH I 7
REST API Adressen
I API Signatur· Sandbox: https://api-3t.sandbox.paypal.com/nvp· Live: https://api-3t.paypal.com/nvp
I API Zertifikat· Sandbox: https://api.sandbox.paypal.com/nvp· Live: https://api.paypal.com/nvp
Mayflower GmbH I 8
Zahlungsprozess einleiten
I Methode SetExpressCheckout· Gesamtbetrag· Redirect URLs· Lieferadresse· Rechnungsnummer· Region
I Rückgabe· PayPal Token
Vorführender
Präsentationsnotizen
- Leitet den Bezahlprozess ein - Benötigte Felder: RETURNURL, CANCELURL, AMT (Brutto Kosten) - Empfohlen: CURRENCYCODE, LOCALECODE (ISO-3166-2, PayPal interne Liste) - Rückgabe Token: Identifiziert den Zahlungsprozess und wird in allen folgenden Calls benötigt - Möglichkeit Lieferadressen bei PayPal verwalten zu lassen
Mayflower GmbH I 9
Details abrufen
I Methode GetExpressCheckoutDetails· PayPal Token
I Rückgabe· Kunden-ID und Status· Kundendaten· Lieferadresse
Vorführender
Präsentationsnotizen
- Benötigt das Token von SetExpressCheckout - Status verified/unverified, ID des Kunden. - ID wird für die Ausführung benötigt. - Verified wenn Email bestätigt. - Kundendaten von PayPal: Name, Email, Firmenname.
Mayflower GmbH I 10
Zahlung anweisen
I Methode DoExpressCheckoutPayment· PayPal Token· PayPal Kunden-ID· Produktdetails· Kosten
I Rückgabe· Transaktions-ID· Bezahlstatus· Verzögerungsgrund
Vorführender
Präsentationsnotizen
- Löst die Transaktion bei PayPal aus. - Benötigte Felder: Token, Aktion, Kunden-ID, Gesamtwert - Optionale Felder: Aufschlüsselung der Kosten - Je Artikel Name, Menge, Artikelnr., MwSt. und Nettowert. - Bestellung gesamt: Nettowert, MwSt., Versandkosten, Zahlungskosten - Transaktions-ID für spätere Statusabfragen - Status: Abgeschlossen, Wartend - Verzögerungsgrund: Adresse unbestätigt, PayPal-Kontostand unzureichend, Währung wird umgerechnet
Mayflower GmbH I 11
Transaktionsstatus abrufen
I Methode GetTransactionDetails· Transaktions-ID
I Rückgabe· Bezahlstatus· Verzögerungsgrund
Vorführender
Präsentationsnotizen
- Rückgabe wie DoExpressCheckoutPayment
Mayflower GmbH I 12
Go Live
I API-URL· https://api-3t.paypal.com/nvp· https://api.paypal.com/nvp
I API-Zugangsdaten· Username· Passwort· Signatur
Vorführender
Präsentationsnotizen
- Zu ändern sind nur die URL der API und die Zugangsdaten
Mayflower GmbH I 13
Links
I https://developer.paypal.com/
I https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/library_documentation
I https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/howto_api_reference
I https://www.paypalobjects.com/de_DE/pdf/PayPal-NVP-API-Reference-Germany.pdf
Vorführender
Präsentationsnotizen
- PayPal Developer Page - Technische Dokumentation - Allgemeine API Reference - API NVP Reference im PDF Format