Diagramm zum Prozessablauf
Konfiguration für PayPal
PayPal Sandbox Geschäftskonto
Wenn Sie die Integration testen möchten bevor Sie live gehen und noch über kein PayPal Sandbox-Testkonto verfügen, bitten wir Sie im ersten Schritt ein PayPal Sandbox-Testkonto zu erstellen.
1. Melden Sie sich bei https://developer.paypal.com/ an und gehen Sie zu „Testing Tools“ => „Sandbox Accounts“
2. Klicken Sie auf „Konto erstellen“ und wählen Sie „Geschäftlich (Händlerkonto)“ und „Deutschland“ als „Land / Region“ aus.
3. Wählen Sie „Konto anzeigen/bearbeiten“
4. Nehmen Sie „E-Mail-ID“ und „vom System generiertes Passwort“ und verwenden Sie diese im nächsten Schritt als Login/Pass für Sandbox.
Dem Computop Paygate API-Berechtigungen erteilen
Damit Computop Transaktionen in Ihrem Namen verarbeiten darf, bitten wir Sie, Computop die entsprechenden Berechtigungen zu erteilen.
Berechtigungen können Computop unter Ihrem PayPal-Konto erteilt werden. Bitte verwenden Sie die folgenden Links, um sich bei Ihrem PayPal-Konto anzumelden, und folgen Sie den Schritten.
PayerID an Computop Merchant Services senden
Um die Händlereinrichtung auf Computop-Seite abzuschließen, bitten wir Sie, die PayerID an Computop Merchant Services zu senden.
Die PayerID finden Sie unter Ihrem PayPal-Konto unter https://paypal.com/myaccount/settings/ wie angegeben. Durch die PayerID wird der Händler eindeutig bei PayPal identifiziert. Für die Sandbox- und Live Umgebung lautet die PayerID identisch.
PayPal Smart Button
Einrichtung der PayPal-Schaltfläche
Auf der Client-Seite erfolgt die PayPal-Implementierung über das PayPal JavaScript SDK.
Je nach Ihrer Einrichtung können Sie das folgende Skript verwenden oder mit Hilfe der offiziellen PayPal JavaScript SDK-Dokumentation https://developer.paypal.com/sdk/js/ ein eigenes erstellen.
Während Sie in der Sandbox testen, können Sie die client-id
verwenden, die zu Ihrer Test-App vom PayPal-Webentwicklerportal passt. Wenn Sie live gehen, ersetzen Sie diese mit der live client-id.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
</head>
<body>
<!-- Set up a container element for the button -->
<div id="paypal-button-container"></div>
<!-- Include the PayPal JavaScript SDK -->
<!-- Replace <PayerID> with your value, available under your PayPal account -->
<!-- Replace <Currency> with the currency which should be used, e.g., EUR -->
<!-- When going live, replace client-id with the live client-id provided by Computop -->
<!-- When going live, replace data-partner-attribution-id with the live data-partner-attribution-id provided by Computop -->
<script type="text/javascript" src="https://www.paypal.com/sdk/js?client-id=ARCsDK7xBFxa5pnGxk8qvB0STB07fyi_yHDRrb5al6gxahj73Pxg9X2l7onP9J2IN-LqcVJojys94FLK&merchant-id=<PayerID>¤cy=<Currency>&disable-funding=giropay,sofort,sepa,card&intent=capture" data-partner-attribution-id="Computop_PSP_PCP_Test"></script>
<!-- Initialize and show PayPal button -->
<script type="text/javascript">
let mid = "YOUR MERCHANTID";
let len = "LEN OF UNENCRYPTED BLOWFISH STRING";
let data = "BLOWFISH ENCRYPTED STRING";
let payid;
if (len != '' && data != '') {
// Set the request parameter MerchantID, Len and Data
const params = new URLSearchParams({
MerchantID: mid,
Len: len,
Data: data
});
// Render the PayPal button into #paypal-button-container
paypal.Buttons({
// Call your server to set up the transaction
createOrder: function(data, actions) {
return fetch('https://www.computop-paygate.com/ExternalServices/paypalorders.aspx', {
method: 'POST',
body: params
}).then(function (res) {
return res.text();
}).then(function(orderData) {
let qData = new URLSearchParams(orderData)
payid = qData.get('PayID');
return qData.get('orderid');
});
},
// Call cbPayPal.aspx for continue sequence
onApprove: function (data, actions) {
var rd = "MerchantId=" + mid + "&PayId=" + payid + "&OrderId=" + data.orderID;
// Build an invisible form and directly submit it
const form = document.createElement('form');
form.method = 'POST';
form.action = 'https://www.computop-paygate.com/cbPayPal.aspx?rd=' + window.btoa(rd);
form.style.display = 'none';
// Add form to body
document.body.appendChild(form);
// Submit form
form.submit();
},
onCancel: function (data, actions) {
var rd = "MerchantId=" + mid + "&PayId=" + payid + "&OrderId=" + data.orderID;
// Build an invisible form and directly submit it
const form = document.createElement('form');
form.method = 'POST';
form.action = "https://www.computop-paygate.com/cbPayPal.aspx?rd=" + window.btoa(rd) + "&ua=cancel&token=" + data.orderID;
form.style.display = 'none';
// Add form to body
document.body.appendChild(form);
// Submit form
form.submit();
},
onError: function (data, actions) {
var rd = "MerchantId=" + mid + "&PayId=" + payid + "&OrderId=" + data.orderID;
// Build an invisible form and directly submit it
const form = document.createElement('form');
form.method = 'POST';
form.action = "https://www.computop-paygate.com/cbPayPal.aspx?rd=" + window.btoa(rd) + "&ua=cancel&token=" + data.orderID;
form.style.display = 'none';
// Add form to body
document.body.appendChild(form);
// Submit form
form.submit();
}
}).render('#paypal-button-container');
}
</script>
</body>
</html>
Aktivierung der PayPal-Schaltfläche Später Bezahlen
Der obige Codeabschnitt enthält die folgende Zeile. In dieser Zeile können Sie festlegen, welche Finanzierungsquellen im Webshop zugelassen werden.
<script type="text/javascript" src="https://www.paypal.com/sdk/js?client-id=sb¤cy=EUR&disable-funding=giropay,sofort,sepa,card&intent=capture"></script>
Die Zeile entsprach der folgenden Schaltfläche. Standardmäßig (unter Verwendung der obigen Zeile) ist nur die PayPal-Schaltfläche verfügbar.
Wenn zusätzlich der zur standardmäßigen PayPal-Schaltfläche die Schaltfläche PayPal Später Bezahlen benötigt wird, kann die Schaltfläche durch den Parameter enable-funding wie folgt aktiviert werden.
<script type="text/javascript" src="https://www.paypal.com/sdk/js?client-id=sb¤cy=EUR&disable-funding=giropay,sofort,sepa,card&enable-funding=paylater"></script>
Im Ergebnis erscheinen folgende zwei Schaltflächen.
Die komplette List der Werte für disable-funding und enable-funding finden Sie unter nachstehendem Link.
https://developer.paypal.com/docs/regional/th/checkout/reference/customize-sdk/#components
Parameter intent
Der obige Codeabschnitt enthält die folgende Zeile.
<script type="text/javascript" src="https://www.paypal.com/sdk/js?client-id=sb¤cy=EUR&disable-funding=giropay,sofort,sepa,card&intent=capture"></script>
Das Paygate bietet 3 mögliche Optionen für eine Zahlung.
- SALE (capture=Auto) (wenn das Paygate automatisch die Buchung für eine Zahlung sendet; das ist das Standardszenario, das den Anforderungen der meisten Händler entspricht)
- AUTHORIZE (capture=Manual + txtype=Auth) (wenn die Buchung später vom Händler als separater API-Aufruf gesendet werden soll)
- ORDER (capture=Manual + txtype=Order) (wenn Autorisierung und Buchung später vom Händler als separate API-Aufrufe gesendet werden sollen)
Der Parameter intent in der obigen Zeile muss mit diesen Optionen synchron sein.
Wenn die Option SALE verwendet wird, muss der Parameter intent wie nachstehend auf "capture" gesetzt werden.
<script type="text/javascript" src="https://www.paypal.com/sdk/js?client-id=sb¤cy=EUR&disable-funding=giropay,sofort,sepa,card&intent=capture"></script>
Wenn die Option AUTHORIZE oder ORDER verwendet wird, muss der Parameter intent wie nachstehend auf "authorize" gesetzt werden.
<script type="text/javascript" src="https://www.paypal.com/sdk/js?client-id=sb¤cy=EUR&disable-funding=giropay,sofort,sepa,card&intent=authorize"></script>
Es ist wichtig, den richtigen Wert für den Parameter intent festzulegen, weil sonst ein Fehler auftritt.
Stil der PayPal-Schaltfläche
Der obige Codeabschnitt für die PayPal-Schaltfläche hat keine stilbezogenen Parameter. Dieser Codeabschnitt geht wie folgt vom standardmäßigen PayPal-Stil für die Schaltfläche aus.
PayPal erlaubt es, verschiedene Stile für die PayPal-Schaltfläche zu definieren, indem Sie die Parameter shape, color, layout und label verwenden. Eine vollständige Liste der stilbezogenen Parameter finden Sie unter dem folgenden Link.
https://developer.paypal.com/docs/checkout/advanced/style-guide/
Paygate-Schnittstelle
a alphabetisch as alphabetisch mit Sonderzeichen n numerisch an alphanumerisch ans alphanumerisch mit Sonderzeichen ns numerisch mit Sonderzeichen bool Bool’scher Ausdruck (true oder false) 3 feste Länge mit 3 Stellen/Zeichen ..3 variable Länge mit maximal 3 Stellen/Zeichen enum Aufzählung erlaubter Werte dttm ISODateTime (JJJJ-MM-TTThh:mm:ss) CND Bedingung (condition) M Pflicht (mandatory) O optional C bedingt (conditional) Hinweis: Bitte beachten Sie, dass die Bezeichnungen der Parameter in Groß- oder Kleinbuchstaben zurückgegeben werden können.Definitionen
Datenformate
Format Beschreibung Abkürzungen
Abkürzung Beschreibung Kommentar Wenn ein Parameter Pflicht ist, dann muss er vorhanden sein Wenn ein Parameter optional ist, dann kann er vorhanden sein, ist aber nicht erforderlich Wenn ein Parameter bedingt ist, dann gibt es eine Bedingungsregel, die angibt, ob er Pflicht oder optional ist
Aufruf der Schnittstelle
Um eine PayPal-Zahlung im Paygate-Formular abzuwickeln, nutzen Sie folgende URL und Parameter:
https://www.computop-paygate.com/ExternalServices/paypalorders.aspx |
Mit dieser URL unterstützt das Paygate zwei verschiedene PayPal-Methoden: Einerseits können Sie PayPal ganz normal als zusätzliche Zahlungsmethode zum Abschluss einer Bestellung anbieten. Zum anderen können Sie PayPal Express Checkout nutzen, damit der Kunde vom Warenkorb direkt zu PayPal gelangt und dort seine Liefer- und Rechnungsadresse auswählt. Dem Kunden erspart das die erneute Eingabe von Adressdaten und als Händler genießen Sie den PayPal Verkäuferschutz.
Das Paygate unterstützt auch für PayPal Express Checkout das Auseinanderfallen von Autorisierung und Buchung. Sie können über das Paygate über Parameter steuern, ob der Betrag auf dem PayPal-Account des Kunden geblockt oder gleich gebucht werden soll.
Hinweis: Damit Sie vom PayPal Verkäuferschutz profitieren, muss eine der folgenden Bedingungen erfüllt sein. Entweder der Kunde nutzt PayPal Express Checkout und wählt eine bei PayPal selbst hinterlegte Lieferadresse aus, die das Paygate an Ihren Shop übergibt. Oder Ihr Shop übergibt die bereits bekannte Lieferadresse an PayPal. Der Verkäuferschutz gilt nur, wenn die Ware an diese angegebene Adresse geliefert wurde. Zwischen der Autorisierung des Betrags im PayPal-Konto des Kunden und der Buchung dürfen nicht mehr als 3 Tage liegen, wenn Sie vom Verkäuferschutz profitieren möchten. Das Paygate unterstützt deshalb mehrere Alternativen zur Abwicklung von PayPal-Zahlungen: für eine Beratung zur Implementierung von PayPal stehen wir Ihnen gerne zur Verfügung.
Hinweis: Aus Sicherheitsgründen lehnt das Paygate alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp. Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:
Parameter für PayPal-Zahlungen
Die folgende Tabelle beschreibt die Ergebnis-Parameter, die das Paygate an Ihre URLSuccess, URLFailure und URLNotify übergibt. Wenn Sie den Parameter Response=encrypt angegeben haben, werden die folgenden Parameter mit Blowfish verschlüsselt an Ihr System übergeben: es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden
Ergebnis-Parameter für URLSuccess, URLFailure und URLNotify bei PayPal
Hinweis: Die Adress-Parameter werden immer an den Shop übergeben, sind aber leer, wenn keine Adressdaten ausgetauscht wurden.
Aufruf der Schnittstelle für Methode "shortcut"
Die PayPal-Methode "shortcut" ermöglicht einen geänderten Transaktionsablauf, bei dem der Kunde für die Zahlungsbestätigung in den Shop zurückgeleitet wird. Um im nächsten Schritt diese PayPal-Zahlung abzuschließen, nutzen Sie folgende URL und Parameter:
https://www.computop-paygate.com/paypalComplete.aspx |
Bitte beachten Sie nachfolgende Prozessbeschreibung welche durch das Senden "PayPalMethod=shortcut" ausgelöst wird.
Durch das Senden "PayPalMethod=shortcut" wird der Endkunde zu PayPal geleitet, dort führt dieser eine Vorabbestätigung aus (hier handelt es sich noch nicht um die abschließende Zahlungsbestätigung) und der Kunde wird zurück in den Shop geleitet.
Der Redirect / Rücksprung wird hier auf die URLFailure mit den nachfolgenden Response Parametern ausgeführt. Bitte beachten Sie, dass es hier eine Änderung zur älteren PayPal Classic API gibt. Für diese wird der Redirect / Rücksprung auf die URLSuccess prozessiert und via Response wird der offene Status wie folgt gemeldet "Status=AUTHORIZE_REQUEST&Code=00000000&Description=REQUEST".
PayPal V2 Response Parameter - offener Status:
- Status=AUTHORIZE_REQUEST
- Code=21500985
- Description=PENDING
Des weiteren ist auch zu beachten, dass der Händler nach dem Rücksprung des Kunden zum offenen Status den Betrag für den paypalComplete Request verändern kann. Hier existieren allerdings PayPal eigene Restriktionen damit der Betrag nicht X beliebig nach oben hin verändert werden kann. Genauere Details zu dem Thema besprechen Sie bitte mit Ihrem PayPal Account Manager.
Hinweis: Aus Sicherheitsgründen lehnt das Paygate alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp. Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:
Parameter für PayPal-Zahlungen mit Methode "shortcut"
Die folgende Tabelle beschreibt die Parameter, die das Paygate als Antwort zurückgibt: es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden
Ergebnis-Parameter bei PayPal mit Methode "shortcut"
Aufruf der Schnittstelle für separate Autorisierung
Für eine PayPal Zahlung kann im Prozessablauf die ORDER von der anschließenden Autorisierung und nachfolgenden Schritten getrennt werden. Eine separate Autorisierung ist nur nach erfolgten Order (TxType=Order) möglich.
Für eine separate Autorisierung bei PayPal verwenden Sie bitte URL:
https://www.computop-paygate.com/Authorize.aspx |
Hinweis: Aus Sicherheitsgründen lehnt das Paygate alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp. Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:
Parameter für PayPal-Autorisierung
Die folgende Tabelle beschreibt die Parameter, die das Paygate als Antwort zurückgibt: es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden
Ergebnis-Parameter bei PayPal-Autorisierung
Aufruf der Schnittstelle für eine Buchung
Um eine Buchung (Capture) für PayPal über eine Server-zu-Server-Verbindung auszuführen, verwenden Sie bitte folgende URL:
https://www.computop-paygate.com/capture.aspx |
Hinweis: Aus Sicherheitsgründen lehnt das Paygate alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp. Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:
Parameter für PayPal-Buchungen
Die folgende Tabelle beschreibt die Parameter, die das Paygate als Antwort zurückgibt: es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden
Ergebnis-Parameter für PayPal-Buchungen
Aufruf der Schnittstelle für eine Gutschrift mit Referenz
Um eine Gutschrift (Credit) mit Referenztransaktion für PayPal auszuführen, verwenden Sie bitte folgende URL:
https://www.computop-paygate.com/credit.aspx |
Hinweis: Aus Sicherheitsgründen lehnt das Paygate alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp. Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:
Parameter für PayPal-Gutschriften mit Bezugstransaktion
Die folgende Tabelle beschreibt die Parameter, die das Paygate als Antwort zurückgibt: es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden
Ergebnis-Parameter für PayPal-Gutschriften mit Bezugstransaktion
Aufruf der Schnittstelle für nicht referenzierte Gutschriften
Um eine Gutschrift ohne Bezugstransaktion für PayPal abzuwickeln, verwenden Sie bitte folgende URL:
https://www.computop-paygate.com/paypalcreditEx.aspx |
Hinweis: Aus Sicherheitsgründen lehnt das Paygate alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp. Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:
Parameter für PayPal-Gutschriften ohne Bezugstransaktion
Die folgende Tabelle beschreibt die Parameter, die das Paygate als Antwort zurückgibt: es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden
Ergebnis-Parameter für PayPal-Gutschriften ohne Bezugstransaktion
Aufruf der Schnittstelle für Stornierungen
Um eine Transaktion bei PayPal zu stornieren, verwenden Sie bitte folgende URL:
https://www.computop-paygate.com/reverse.aspx |
Hinweis: Aus Sicherheitsgründen lehnt das Paygate alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp. Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:
Parameter für PayPal-Stornierungen
Die folgende Tabelle beschreibt die Parameter, die das Paygate als Antwort zurückgibt: es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden
Ergebnis-Parameter für PayPal-Stornierungen
Referenztransaktionen
Voraussetzungen
- Die Option "Referenztransaktionen“ muss in Ihrem PayPal-Konto aktiviert sein. Beantragen Sie die Aktivierung bitte direkt bei PayPal.
Prozess
Der Prozess umfasst zwei Schritte.
Einrichten einer Abrechnungsvereinbarung (Anfangstransaktion der Abrechnungsvereinbarung)
- Rufen Sie PayPalOrders.aspx mit TxType=BAID auf (siehe ). Als Antwort gibt das Paygate die URL zurück. Alle Parameter außer den folgenden sind im Fall von TxType=BAID optional.
- Über die URL meldet sich der Kunde im PayPal-Konto an und genehmigt die Abrechnungsvereinbarung.
- Sobald die Abrechnungsvereinbarung vom Kunden genehmigt ist, wird die Billing Agreement ID über URLNotify gesendet.
Nutzung der Abrechnungsvereinbarung
- Rufen Sie PayPalRefTrans.aspx auf (unten als Server-zu-Server-Anfrage beschrieben) mit BillingAgreementID="Billing Agreement ID", die im vorigen Schritt erzeugt wurde. Der Kunde muss sich zur Genehmigung der Transaktion nicht mehr am PayPal-Konto anmelden.
Widerruf der Abrechnungsvereinbarung
- Ein Kunde kann die Billing Agreement ID in seinem eigenen PayPal-Konto widerrufen. Der Händler kann nur dann über die Kündigung informiert werden, wenn für das Händlerkonto die Zusatzoption IPN „Sofortzahlungsbenachrichtigung“ aktiviert ist. Die Freischaltung muss über den Computop Helpdesk erfolgen. Bitte beachten Sie, dass der Händler nach der IPN-Aktivierung Benachrichtigungen über jede Statusänderung einer PayPal-Zahlung erhält.
- Wenn ein Kunde die Billing Agreement ID widerruft, sind keine weiteren Referenztransaktionen (unter Verwendung dieser Billing Agreement ID) mehr möglich. Diese Billing Agreement ID kann auch nicht wieder reaktiviert werden.
Anfrage
Um eine PayPal-Abonnementzahlung zu veranlassen, verwenden Sie bitte folgende URL:
https://www.computop-paygate.com/paypalreftrans.aspx |
Hinweis: Aus Sicherheitsgründen lehnt das Paygate alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp. Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:
Parameter für PayPal-Referenztransaktionen
Antwort
Die folgende Tabelle beschreibt die Parameter, die das Paygate als Antwort zurückgibt: es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden
Ergebnis-Parameter für PayPal-Referenztransaktionen
Batch-Nutzung der Schnittstelle
Grundsätzliche Informationen zur Arbeit mit Batch-Dateien sowie zu deren Aufbau erfahren Sie im separaten Handbuch zum Batchmanager. Im Batch-Verfahren sind nicht alle Funktionen verfügbar, die für die Online-Schnittstelle verfügbar sind.
Dieses Kapitel beschreibt die Parameter, die Sie im Datensatz (Record) für die Ausführung einer PayPal-Zahlung übergeben müssen und welche Informationen Sie der Antwort-Datei über den Status des Zahlungsvorgangs entnehmen können.
Bei den Batch-Aufrufen ist die verwendete Batch-Version zu unterscheiden, wovon die optionalen Parameter abhängen. Alle mit „2.“ beginnen Versionsbezeichnungen betreffen Aufrufe für einen Konzern. Das bedeutet, innerhalb einer Batch-Datei mit einer bestimmten MerchantID können auch Transaktionen anderer Händler mit einer abweichenden Sub-MID übertragen werden.
Folgende Tabelle gibt eine Übersicht der pro Aktion jeweils möglichen Batch-Versionen und ihrer Besonderheiten:
Beschreibung der möglichen Batch-Versionen
Der Aufbau für eine PayPal-Zahlung in einer einzureichenden Batch-Datei sieht folgendermaßen aus:
HEAD,<MerchantID>,<Date>,<Version> PAYPAL,Authorize,<Amount>,<Currency>,<TransID>,<PayID> PAYPAL,Capture,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>(,<TID>) PAYPAL,Credit,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>(,<TID>) PAYPAL,CreditEx,<TransID>,(<RefNr>,)<Amount>,<Currency>,<payer>,<note> PAYPAL,Reverse,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>(,<TID>) PAYPAL,REFTRANS,<Amount>,<Currency>,<TransID>,(<RefNr>),(<OrderDesc>),(<Capture>),(<TxType>),<BillingAgreementId>,<CodeExt>,<PayID>,<Status>,<Code> FOOT,<CountRecords>,<SumAmount>
Beispiel für Master-MID-Funktion:
HEAD,[Master]MerchantID,Date,2.x Type,Action,[Slave]MID,Amount,Currency,TransID,Data (depends on Action) FOOT,CountRecords,SumAmount
Hinweis: Bei Version 1.4 ist es auch möglich, bei einer Capture-Aktion den CompleteType zusätzlich mit zu übergeben:
PAYPAL,Capture,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>(,<CompleteType>,<TID>)
Die folgende Tabelle beschreibt die einzelnen Felder und Werte, die im Datensatz (Record) innerhalb der Batch-Datei verwendet werden:
Beschreibung der Felder im Datensatz von Batch-Dateien
Der Record-Bereich in der Antwort-Datei zu Batch-Transaktionen sieht folgendermaßen aus:
HEAD,<MerchantID>,<Date>,<Version> PAYPAL,Authorize,<Amount>,<Currency>,<TransID>,<PayID>,<Status>,<Code>,<CodeExt> PAYPAL,Capture,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,(TID,)<Status>,<Code>,<CodeExt> PAYPAL,Credit,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,(TID,)<Status>,<Code>,<CodeExt> PAYPAL,CreditEx,<TransID>,(<RefNr>,)<Amount>,<Currency>,<payer>,<note>,<Status>,<Code>,<CodeExt> PAYPAL,Reverse,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,<Status>,<Code>,<CodeExt> PAYPAL,REFTRANS,<Amount>,<Currency>,<TransID>,(<RefNr>),(<OrderDesc>),(<Capture>),(<TxType>),<BillingAgreementId>,<CodeExt>,<PayID>,<Status>,<Code> FOOT,<CountRecords>,<SumAmount>
Die folgende Tabelle beschreibt die Antwort-Parameter, die der Batch-Manager im Record-Bereich zu jeder Transaktion speichert (hier nicht erklärte Standardparameter wie etwa <TransID> oder <RefNR> und Aufrufparameter werden unverändert zum Aufruf wieder zurückgegeben und sind vorstehend beschrieben):
Beschreibung der Ergebnis-Parameter im Datensatz von Batch-Dateien