Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 6/2010.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Zusammenfassung

Lernen Sie, wie Sie mit Access und VBA auf Ihr PayPal-Konto zugreifen und den Kontostand sowie Umsätze einlesen und in Tabellen speichern.

Techniken

VBA, HTTP

Voraussetzungen

Access 2000 und höher

Beispieldateien

PayPal.mdb

Shortlink

www.access-im-unternehmen.de/754

PayPal-Umsätze abrufen

André Minhorst, Duisburg

Wer regelmäßig Geldeingänge für Rechnungen und/oder Bestellungen kontrollieren musste, konnte sich unter Access beispielsweise mit den in älteren Ausgaben von Access im Unternehmen vorgestellten HBCI-Lösungen behelfen. Nun hat sich mittlerweile PayPal als Bezahlmittel speziell für den Internethandel herauskristallisiert. Zeit, sich einmal um diesen Dienst zu kümmern: Wir stellen Ihnen in diesem Beitrag eine Möglichkeit vor, ein- und ausgehende Zahlungen von Access aus zu kontrollieren und somit in Ihren Workflow zu integrieren.

Eine PayPal-Bezahlung ist äußerst schnell erledigt. Sie brauchen dazu noch nicht einmal mehr Ihre Bankverbindung zu kennen, sondern nur die E-Mail-Adresse, unter der Sie bei PayPal angemeldet sind sowie ein entsprechendes Kennwort. Sie benötigen auch keine Pin- und Tan-Codes aus einer Liste herauszusuchen. Grundsätzlich sind in diesem Zusammenhang folgende Techniken interessant:

  • Anbieten des PayPal-Dienstes auf eigenen Webseiten, beispielsweise einem Webshop
  • Bezahlen eigener Einkäufe mit PayPal, sofern der Verkäufer dies anbietet
  • Ermitteln von Geldeingängen, die etwa durch einen Webshop oder andere Dienstleistungen erfolgt sind

Die ersten beiden Möglichkeiten sind aus Access-Anwendersicht nur bedingt interessant: Eine Bezahlung auf einer Webseite lässt sich kaum automatisieren und das Anbieten von Bezahlmöglichkeiten via PayPal erfolgt über entsprechende serverbasierte Webdienste, die man zur eigenen Internetseite hinzufügt.

Interessant ist hingegen das Prüfen der via PayPal erfolgten Eingänge: Wer etwa einen Webshop betreibt oder andere Dienstleistungen via Internet anbietet, die der Kunde mit PayPal bezahlen kann, will vielleicht automatisch prüfen, welche Eingänge erfolgt sind.

Daher widmen wir uns in diesem Beitrag zunächst dem Prüfen des PayPal-Kontostandes und der Umsätze - das Beleuchten weiterer Techniken in späteren Ausgaben ist aber nicht ausgeschlossen.

Webservice

Die Voraussetzung für ein Abfragen via Access ist der Zugriff über eine beliebig geartete Webschnittstelle. Natürlich bietet auch PayPal solch eine Möglichkeit. Den Einstieg finden Sie unter www.x.com.

Sandbox

Wie andere Anbieter von Dienstleistungen rund um sensible Daten bietet auch PayPal eine Sandbox an, auf der man seine Eigenentwicklungen zunächst testen kann.

Unter developer.PayPal.com landen Sie auf der Sandbox-Startseite. Hier legen Sie am besten gleich einen Testaccount an. Beachten Sie, dass Sie dafür eine E-Mail-Adresse vorhalten, die nicht mit Ihrer bei PayPal angegebenen E-Mail-Adresse übereinstimmt. Nach dem Ausfüllen des Anmeldeformulars erhalten Sie eine E-Mail, die Sie noch bestätigen müssen. Danach melden Sie sich mit E-Mail-Adresse und Kennwort bei der Sandbox an.

Nun benötigen Sie einen Testbenutzer. Diesen legen Sie über den in Abb. 1 markierten Link an. Theoretisch könnten Sie nun mit diesem loslegen - in der Praxis konnten wir zum Zeitpunkt der Erstellung dieses Beitrags jedoch nicht erfolgreich mit diesem Zugang arbeiten, um etwa einige Testzahlungen vorzunehmen.

pic001.png

Abb. 1: Anlegen eines Testaccounts

Dies ist aber nicht das primäre Ziel dieses Beitrags - wir wollen vielmehr zeigen, wie Sie über die API auf verschiedene Informationen Ihres eigenen PayPal-Kontos zugreifen können.

Wenn Ihnen der direkte Zugriff auf die echte API wie in den folgenden Abschnitten beschrieben für Testzwecke zu riskant ist, können Sie die Beispiele mit den Testzugriffsdaten aus der Dokumentation namens PayPal Name-Value Pair API Developer Guide vornehmen (https://www.x.com/docs/DOC-1242). Diese finden Sie im genannten Dokument im Abschnitt Basic Steps|Get API Credentials (s. Abb. 2).

pic003.png

Abb. 2: Hier finden Sie Anmeldedaten für Testzugriffe auf die PayPal-API.

Die nachfolgend beschriebenen Anfragen schicken Sie im Testbetrieb an folgende Adresse ab:

https://api-3t.sandbox.PayPal.com/nvp

Sollten Sie den Live-Betrieb bevorzugen, verwenden Sie diesen Link als Basis:

https://api-3t.PayPal.com/nvp

Alle nachfolgend vorgestellten Anfragen können Sie sowohl an die Test- als auch an die Liveumgebung absenden.

Vorbereitung des Zugriffs auf die echte API

Da wir nur Umsätze abfragen möchten, gehen wir direkt in den echten Betrieb über.

Dazu benötigen Sie einen Geschäftskunden-Account, der jedoch nicht teurer als ein normaler Account ist. Kostenpflichtig wird dieser Account erst, wenn Sie darüber Zahlungen empfangen.

Für den Zugriff über die Internet-API von PayPal benötigen Sie einige über Ihre herkömmlichen Anmeldungsdaten hinausgehenden Informationen.

Diese erhalten Sie, wenn Sie sich mit Ihren Geschäftskundendaten bei PayPal angemeldet haben und dann erst den Menüeintrag Mein Profil|Mehr... auswählen und im folgenden Dialog auf API-Zugriff klicken (s. Abb. 3).

pic002.png

Abb. 3: Einrichten des API-Zugriffs

Im folgenden Dialog wählen Sie die zweite Option aus, bevor Sie schließlich zur Seite mit drei wichtigen Informationen gelangen: dem Benutzernamen, dem Kennwort sowie zur Signatur für zukünftige Zugriffe auf Ihr PayPal-Konto.

pic004.png

Abb. 4: Wählen Sie diese Option, um auf die eigenen Kontodaten zuzugreifen

Kontostand abfragen per Browser

Damit führen Sie gleich einen ersten Test durch. Dieser soll schlicht den Kontostand Ihres PayPal-Kontos abrufen.

Die Kommunikation mit dem PayPal-Server erfolgt im einfachsten Fall durch das Versenden eines entsprechend zusammengesetzten Links über den Internetbrowser und liefert eine Reihe von Name-Wert-Paaren zurück.

Die Anfrage beginnt stets mit einer der oben genannten URLs, also beispielsweise mit https://api-3t.sandbox.PayPal.com/nvp für die Sandbox. Daran hängen wir einige Parameter, die ebenfalls als Name-Wert-Paare übergeben werden und die wie die üblichen Parameter für den Aufruf von Webseiten aussehen.

Das bedeutet, dass das erste Name-Wert-Paar durch ein Fragezeichen von der Basisadresse getrennt wird. Die folgenden Name-Wert-Paare werden jeweils durch ein Kaufmanns-Und voneinander getrennt. Name und Wert werden durch ein Gleichheitszeichen getrennt.

Ein Beispielaufruf zum Abfragen des Kontostandes sieht etwa so aus, wobei Sie <Username>, <Password> und <Signature> durch die entsprechenden Werte ersetzen müssen:

https://api-3t.PayPal.com/nvp

?USER=<Username>

&PWD=<Password>

&SIGNATURE=<Signature>

&VERSION=56.0

&METHOD=GetBalance

Neben diesen drei Informationen übergeben Sie noch die Version und die gewünschte Methode, in diesem Fall GetBalance für das Abfragen des Kontostandes.

Wichtig ist, dass Sie die Parameterwerte mit der in der Beispieldatenbank enthaltenen Funktion URLEncode behandeln, um ungültige Sonderzeichen zu ersetzen.

Die Antwort kommt ebenfalls in Form von Name-Wert-Paaren und sieht beispielsweise wie folgt aus:

L_AMT0=10%2e98

&L_CURRENCYCODE0=EUR

&TIMESTAMP=2010%2d11%2d02T10%3a24%3a16Z

&CORRELATIONID=d2e02fb773c6f

&ACK=Success

&VERSION=56%2e0

&BUILD=1553277

Nach der Behandlung mit der Funktion URLDecode sieht die Antwort so aus:

L_AMT0=10.98

&L_CURRENCYCODE0=EUR

&TIMESTAMP=2010-11-02T10:24:16Z

&CORRELATIONID=d2e02fb773c6f

&ACK=Success

&VERSION=56.0

&BUILD=1553277

Diese Antwort erhalten Sie am einfachsten, wenn Sie die Anfrage in die Adresszeile Ihres Browsers eintragen und diese absenden. Der Antworttext erscheint dann im Browserfenster (s. Abb. 5).

pic004.png

Abb. 4: Wählen Sie diese Option, um auf die eigenen Kontodaten zuzugreifen

pic005.png

Abb. 5: Absenden einer API-Anfrage per Webbrowser

PayPal-Anfrage per VBA

Um dies zu erreichen, brauchen wir natürlich keine Access-Datenbank. Wenn Sie hingegen ein- oder mehrmals täglich automatisch auf Ihren PayPal-Kontostand zugreifen und die Eingänge mit Bestellungen et cetera abgleichen wollen, brauchen wir einige Zeilen VBA.

Als erstes müssen wir darauf hinweisen, dass Sie Ihre Zugangsdaten sorgfältig unter Verschluss halten sollten.

Eine Möglichkeit dazu wäre es, eine MDE-Datenbank zu erstellen, die schlicht und einfach die sensiblen Daten und eine einzige VBA-Funktion enthält. Diese Funktion erwartet die Parameter der Anfrage an PayPal außer den Zugangsdaten, fügt diese zur Anfrage zusammen, sendet diese ab und liefert als Rückgabewert die Antwort von PayPal.

Wir arbeiten aber zunächst mit offenen Karten und kümmern uns um eine VBA-Funktion, die schlicht eine komplette Abfrage abschickt und das Ergebnis des PayPal-Servers zurückliefert.

Diese bedient sich der Bibliothek Microsoft XML, vX.0, die Sie per Verweis wie in Abb. 6 in das VBA-Projekt einbinden. Die Anfrage an PayPal erledigen Sie anschließend ganz einfach mit der folgenden Funktion:

pic006.png

Abb. 6: Verweis auf die XML-Bibliothek

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

© 2003-2015 André Minhorst Alle Rechte vorbehalten.