Auf dieser Seite wird erklärt, wie Sie wiederkehrende Zahlungen verarbeiten können.
Der folgende Inhalt setzt voraus, dass Sie die erforderliche PCI-Zertifizierung erhalten haben, um sensible Karteninhaberdaten in der Anfrage an unsere Webservices API zu verarbeiten und zu übermitteln.
Lesen Sie diesen Artikel, um mehr zu erfahren.
Um wiederkehrende Zahlungen verarbeiten zu können, muss Ihre Händler-ID in der Lage sein, wiederkehrende Zahlungen oder Zahlungen mit fortlaufender Autorität zu verarbeiten. Im Zweifelsfall empfehlen wir Ihnen, sich mit Ihrer Bank in Verbindung zu setzen, um dies zu klären.
Überblick über den Prozess
- Der Kunde gibt seine Kartendaten auf Ihrer sicheren Website ein oder übermittelt seine Kartendaten telefonisch.
- Wenn Kartendaten auf Ihrer sicheren Website eingegeben werden, müssen Sie sicherstellen, dass eine 3DS-Authentifizierung durchgeführt wird.
- Wenn die nächste Zahlung fällig ist, verarbeitet Ihr System manuell eine untergeordnete Anfrage über unsere Webservices API, die die zuvor gespeicherten Zahlungs-, Rechnungs- und Lieferdaten übernimmt und Autorisierung für eine neue Zahlung abruft.
- Händlern mit hoherBand empfehlen wir dringend, dass Ihr System drei Tage vor der Bearbeitung einer weiteren untergeordneten Anfrage (oder wenn eine untergeordnete Anfrage abgelehnt wurde) manuell eine Kartensystemaktualisierung Anfrage über unsere Webservices API sendet, um zu prüfen, ob die Zahlungsdaten des Kunden noch aktuell sind. Klicken Sie hier für weitere Informationen.
- Ihr System kann manuell einreichen Kartensystemaktualisierung und Kinderanträge in bestimmten Abständen (täglich, wöchentlich, monatlich, jährlich) einreichen, um neue Zahlungen zu verarbeiten. Der Kunde wird erst belastet, wenn ein neuer untergeordneter Antrag eingereicht wurde.
Vorteile von wiederkehrenden Zahlungen
- Die Zahlungsdaten müssen vom Kunden nur einmal, zum Zeitpunkt des Kaufs, angegeben werden.
- Verarbeiten Sie wiederholte Zahlungen für Kunden, ohne dass Sie deren Kartendaten für die zukünftige Verwendung in Ihrem eigenen System speichern müssen. Die Zahlungsdaten werden sicher auf unseren Servern gespeichert.
- Eine wiederkehrende Zahlung wird nur dann verarbeitet, wenn Ihr System einen Antrag gestellt hat. Dies ermöglicht eine bessere Kontrolle darüber, wann Zahlungen verarbeitet werden, da Sie Ihr eigenes Intervall zwischen den einzelnen Zahlungen festlegen können.
Antrag der Eltern
In diesem Abschnitt wird der erste Antrag beschrieben, den Ihr System verarbeiten muss. Sie können die in diesem Antrag übermittelten Zahlungsdetails in nachfolgende wiederkehrende Zahlungen übernehmen.
Konfiguration der übergeordneten Anforderung
Erweitern Sie den entsprechenden Abschnitt unten, um zu erfahren, wie Sie die übergeordnete Anfrage über Ihre bevorzugte Schnittstelle konfigurieren.
Payment Pages ist unsere vollständig gehostete Checkout-Lösung. Wenn Sie mit unserer Payment Pages Lösung nicht vertraut sind, klicken Sie hier, um mehr zu erfahren und loszulegen.
Um den Ablauf THREEDQUERY und dann ACCOUNTCHECK zu unterstützen, müssen Kunden von Payment Pages die Funktion Erweitertes Post verwenden. Klicken Sie hier, um mehr zu erfahren.
Der THREEDQUERY dann AUTH Ablauf wird durch die Verarbeitung einer standardmäßigen, 3-D Secure authentifizierten Transaktion unter Verwendung von Payment Pages durchgeführt, wobei zusätzliche Felder in die POST aufgenommen werden, wie unten beschrieben.
<html>
<head>
</head>
<body>
<!--YOUR HTML-->
<form method="POST" action="<DOMAIN>/process/payments/choice">
<input type="hidden" name="credentialsonfile" value="1">
<input type="hidden" name="currencyiso3a" value="USD">
<input type="hidden" name="mainamount" value="100.00">
<input type="hidden" name="sitereference" value="test_site12345">
<input type="hidden" name="sitesecurity" value="hee879a9ab97753b3a768925d50842f10e19fea03fef0b820026b6df92d415866">
<input type="hidden" name="sitesecuritytimestamp" value="2019-05-28 14:22:37">
<input type="hidden" name="stprofile" value="default">
<input type="hidden" name="subscriptionnumber" value="1">
<input type="hidden" name="subscriptiontype" value="RECURRING">
<input type="hidden" name="version" value="2">
<input type="submit" value="Pay">
</form>
</body>
</html>
Ersetzen Sie <DOMAIN>
mit einer unterstützten Domäne. Klicken Sie hier für eine vollständige Liste.
Feldspezifikation
Feld | Format | Beschreibung | |
mainamount | Numerisch (14) |
Der mit diesem Antrag verbundene Betrag in Haupteinheiten, wobei die Dezimalstellen durch Komma/Dezimalpunkt getrennt werden. z .B. €10,99 würde als "10.99" und ¥246 als "246"eingereicht werden. Dieser Betrag wird sofort auf dem Bankkonto des Kunden reserviert. Dieser Wert wird an alle untergeordneten Anfragen vererbt, die von dieser übergeordneten Anfrage erben, sofern das Feld nicht manuell überschrieben wird. |
|
credentialsonfile | Numerisch (1) |
Visa und Mastercard haben vorgeschrieben, dass Sie die Zustimmung des Karteninhabers einholen müssen, bevor Sie Kartendaten zur späteren Verwendung speichern. Danach müssen Sie Zugangsdaten, die für eine spätere Verwendung gespeichert werden sollen, entsprechend kennzeichnen, indem Sie das Kennzeichen Daten Hinterlegt (CoF) setzen. Aus diesem Grund müssen Sie immer credentialsonfile mit dem Wert "1" in der übergeordneten Anfrage.
Wenn Sie eine neue Folge wiederkehrender Zahlungen unter Verwendung zuvor gespeicherter Anmeldeinformationen verarbeiten, müssen Sie weiterhin folgende Angaben machen credentialsonfile = 1 in der übergeordneten Anfrage, um anzugeben, dass die Berechtigungsnachweise gespeichert werden, um zukünftige untergeordnete Zahlungen in dieser Reihenfolge zu verarbeiten. |
|
currencyiso3a | Alpha (3) | Die Transaktion Währung. Dies muss bei allen künftigen untergeordneten Anfragen, die von dieser übergeordneten Anfrage geerbt werden, gleich bleiben. | |
sitereference |
Alphanumerisch & Unterstrich (50) |
Die Website-Referenz bezieht sich auf Ihr individuelles Konto, das Sie bei der Einrichtung erhalten haben. Wenn Sie Ihre Website-Referenz nicht kennen, wenden Sie sich bitte an unser Support-Team. | |
sitesecurity |
Sicherheits-Hashwert der Website |
Wird verwendet, um den Sicherheits-Hash der Anfrageseite im POST zu übermitteln. | |
sitesecuritytimestamp |
Datum JJJJ-MM-TT hh:mm:ss |
Möglichst genaue Angabe des Zeitstempels, der angibt, wann der Zahlungsvorgang des Kunden eingeleitet wurde. Der Kunde hat ab dem angegebenen Zeitpunkt 3 Stunden Zeit, um die Zahlung abzuschließen.
Zusätzliche Überlegungen:
|
|
stprofile |
Alphanumerisch (20)
|
Wird verwendet, um das Styling festzulegen, mit dem Payment Pages gerendert wird. Bei Verwendung des Standardaussehens ist dies auf "default" eingestellt. Klicken Sie hier für weitere Informationen. |
|
subscriptionnumber | Numerisch (5) |
Geben Sie "1" ein, um den ersten Antrag in der wiederkehrenden Folge zu kennzeichnen.
Bei jedem weiteren untergeordneten Antrag muss die Nummer um 1 erhöht werden, d. h. der zweite Antrag ist die "2", der dritte die "3", usw. |
|
subscriptiontype | Alpha (11) |
Dies ist die Art des Abonnements: "RECURRING" wird verwendet, wenn der Kunde jedes Mal eine wiederkehrende Zahlung für ein neues Produkt/eine neue Dienstleistung leistet. "INSTALLMENT" wird verwendet, wenn ein Kunde eine einzelne Bestellung in mehreren Raten kauft. Ratenzahlungen werden von Händlern mit einem Trust Payments Acquiring-Konto unterstützt. Wenn Sie eine andere Acquiring-Bank verwenden, müssen Sie sich an unser Support-Team wenden, um zu prüfen, ob diese Funktion unterstützt wird, bevor Sie fortfahren. Anmerkung: Wenn der Abonnementtyp "INSTALLMENT" ist und Sie Zahlungen über die US-Plattform abwickeln, benötigen bestimmte Acquiring-Banken auch das Feld subscriptionfinalnumber vorgelegt wird. Kontakt zu unserem Support-Team für weitere Informationen. |
|
subscriptionfinalnumber | Numerisch (5) |
Hier wird die Anzahl der Zahlungen festgelegt, die während der Laufzeit des Abonnements verarbeitet werden sollen. Anmerkung: Dieses Feld ist für bestimmte akquirierende Banken auf der US-Plattform erforderlich, wenn die subscriptiontype ist "INSTALLMENT" (andernfalls ist das Feld fakultativ). Kontakt zu unserem Support-Team für weitere Informationen. |
Antwort
Sie müssen sicherstellen, dass Ihr System die transactionreference Feld, das in der Browserumleitung am Ende der Kassensitzung zurückgegeben wird (falls konfiguriert), und/oder die URL-Benachrichtigung (falls konfiguriert), da dieser in dem später eingereichten untergeordneten Antrag referenziert werden muss.
Unter JavaScript Library finden Sie Ressourcen, die Ihnen helfen, schnell Ihre eigene optimierte Kassenlösung im Internet zu erstellen. Wenn Sie mit unserer JavaScript Library Lösung nicht vertraut sind, klicken Sie hier, um mehr zu erfahren und loszulegen.
- Sowohl die [“THREEDQUERY”,”AUTH”] und [“THREEDQUERY”,”ACCOUNTCHECK”] Elternanträge folgen einer ähnlichen Spezifikation wie eine Standardzahlung, die über unser JavaScript Library abgewickelt wird, unterliegen aber anderen Anforderungen, wenn sie als Teil einer Lösung für wiederkehrende Zahlungen eingesetzt werden.
- Diese Änderungen werden im Rahmen der payload des JWT.
- Weitere Informationen finden Sie in dem Beispiel und der Feldspezifikation unten.
{
"payload":{
"accounttypedescription":"ECOM",
"baseamount":"1050",
"credentialsonfile":"1",
"currencyiso3a":"GBP",
"requesttypedescriptions":["THREEDQUERY","AUTH"]
"sitereference":"test_site12345",
"subscriptionnumber":"1",
"subscriptiontype":"RECURRING"
},
"iat":1559033849,
"iss":"jwt.user"
}
Feldspezifikation
Feld | Format | Beschreibung | |
accounttypedescription | Alpha (20) |
Geben Sie "ECOM" ein, um eine E-Commerce-Transaktion anzuzeigen. Wir empfehlen unser Support-Team zu kontaktieren zu kontaktieren, um zu erfahren, welche Kontotypen auf Ihrem Website-Referenz unterstützt werden. |
|
baseamount | Numerisch (13) |
Der mit diesem Antrag verbundene Betrag in Basiseinheiten, ohne Kommas oder Dezimalpunkte. z.B. €10,99 würde als "1099" übermittelt werden, aber ¥246 würde als "246" übermittelt werden.
Dieser Wert wird an alle untergeordneten Anfragen vererbt, die von dieser übergeordneten Anfrage erben, sofern das Feld nicht manuell überschrieben wird. |
|
credentialsonfile | Numerisch (1) |
Visa und Mastercard haben vorgeschrieben, dass Sie die Zustimmung des Karteninhabers einholen müssen, bevor Sie Kartendaten zur späteren Verwendung speichern. Danach müssen Sie Zugangsdaten, die für eine spätere Verwendung gespeichert werden sollen, entsprechend kennzeichnen, indem Sie das Kennzeichen Daten Hinterlegt (CoF) setzen. Aus diesem Grund müssen Sie immer credentialsonfile mit dem Wert "1" in der übergeordneten Anfrage.
Wenn Sie eine neue Folge wiederkehrender Zahlungen unter Verwendung zuvor gespeicherter Anmeldeinformationen verarbeiten, müssen Sie weiterhin folgende Angaben machen credentialsonfile = 1 in der übergeordneten Anfrage, um anzugeben, dass die Berechtigungsnachweise gespeichert werden, um zukünftige untergeordnete Zahlungen in dieser Reihenfolge zu verarbeiten. Der hier übermittelte Wert wird in der Antwort JWT zurückgegeben. |
|
currencyiso3a | Alpha (3) | Die Transaktion Währung. Dies muss bei allen künftigen untergeordneten Anfragen, die von dieser übergeordneten Anfrage geerbt werden, gleich bleiben. | |
requesttypedescriptions | Liste |
Die zu bearbeitenden Anfragetypen. Für den Übergeordnete sollte dies entweder sein [“THREEDQUERY”,”AUTH”] oder [“THREEDQUERY”,”ACCOUNTCHECK”] |
|
sitereference |
Alphanumerisch & Unterstrich (50) |
Die Website-Referenz bezieht sich auf Ihr individuelles Konto, das Sie bei der Einrichtung erhalten haben. Wenn Sie Ihre Website-Referenz nicht kennen, wenden Sie sich bitte an unser Support-Team. | |
subscriptionnumber | Numerisch (5) |
Für die Eltern [“THREEDQUERY”,”AUTH”] oder [“THREEDQUERY”,”ACCOUNTCHECK”] Anfrage: Senden Sie "1".
Bei jedem weiteren untergeordneten Antrag muss die Nummer um 1 erhöht werden, d. h. der zweite Antrag ist die "2", der dritte die "3", usw. |
|
subscriptiontype | Alpha (11) |
Dies ist die Art des Abonnements: "RECURRING" wird verwendet, wenn der Kunde jedes Mal eine wiederkehrende Zahlung für ein neues Produkt/eine neue Dienstleistung leistet. "INSTALLMENT" wird verwendet, wenn ein Kunde eine einzelne Bestellung in mehreren Raten kauft. Ratenzahlungen werden von Händlern mit einem Trust Payments Acquiring-Konto unterstützt. Wenn Sie eine andere Acquiring-Bank verwenden, müssen Sie sich an unser Support-Team wenden, um zu prüfen, ob diese Funktion unterstützt wird, bevor Sie fortfahren. Anmerkung: Wenn der Abonnementtyp "INSTALLMENT" ist und Sie Zahlungen über die US-Plattform abwickeln, benötigen bestimmte Acquiring-Banken auch das Feld subscriptionfinalnumber vorgelegt wird. Kontakt zu unserem Support-Team für weitere Informationen. |
|
subscriptionfinalnumber | Numerisch (5) |
Hier wird die Anzahl der Zahlungen festgelegt, die während der Laufzeit des Abonnements verarbeitet werden sollen. Anmerkung: Dieses Feld ist für bestimmte akquirierende Banken auf der US-Plattform erforderlich, wenn die subscriptiontype ist "INSTALLMENT" (andernfalls ist das Feld fakultativ). Kontakt zu unserem Support-Team für weitere Informationen. |
Antwort
Der zurückgegebene Antwort-JWT entspricht der gleichen Spezifikation wie bei der Verarbeitung einer Standardzahlung. Von besonderer Bedeutung ist, dass Ihr System die transactionreference zurückgegeben, da diese in dem später eingereichten untergeordnete Anfrage referenziert werden muss. Klicken Sie hier, um mehr über die Entschlüsselung der JWT-Antwort zu erfahren.
Unser Mobile SDK bietet Ressourcen, mit denen Sie schnell eine optimierte Checkout-Lösung in Ihre mobile App integrieren können. Wenn Sie mit unserer Mobile SDK-Lösung nicht vertraut sind, klicken Sie hier, um mehr zu erfahren und loszulegen.
- Sowohl die [“THREEDQUERY”,”AUTH”] und [“THREEDQUERY”,”ACCOUNTCHECK”] Elternanfragen folgen einer ähnlichen Spezifikation wie eine Standardzahlung, die über unser Mobile SDK abgewickelt wird, unterliegen aber anderen Anforderungen, wenn sie als Teil einer Lösung für wiederkehrende Zahlungen eingesetzt werden.
- Diese Änderungen werden im Rahmen der payload des JWT.
- Weitere Informationen finden Sie in dem Beispiel und der Feldspezifikation unten.
{
"payload":{
"accounttypedescription":"ECOM",
"baseamount":"1050",
"credentialsonfile":"1",
"currencyiso3a":"GBP",
"requesttypedescriptions":["THREEDQUERY","AUTH"]
"sitereference":"test_site12345",
"subscriptionnumber":"1",
"subscriptiontype":"RECURRING",
"termurl":"https://payments.securetrading.net/process/payments/mobilesdklistener"
},
"iat":1559033849,
"iss":"jwt.user"
}
Feldspezifikation
Feld | Format | Beschreibung | |
accounttypedescription | Alpha (20) |
Geben Sie "ECOM" ein, um eine E-Commerce-Transaktion anzuzeigen. Wir empfehlen unser Support-Team zu kontaktieren zu kontaktieren, um zu erfahren, welche Kontotypen auf Ihrem Website-Referenz unterstützt werden. |
|
baseamount | Numerisch (13) |
Der mit diesem Antrag verbundene Betrag in Basiseinheiten, ohne Kommas oder Dezimalpunkte. z.B. €10,99 würde als "1099" übermittelt werden, aber ¥246 würde als "246" übermittelt werden.
Dieser Wert wird an alle untergeordneten Anfragen vererbt, die von dieser übergeordneten Anfrage erben, sofern das Feld nicht manuell überschrieben wird. |
|
credentialsonfile | Numerisch (1) |
Visa und Mastercard haben vorgeschrieben, dass Sie die Zustimmung des Karteninhabers einholen müssen, bevor Sie Kartendaten zur späteren Verwendung speichern. Danach müssen Sie Zugangsdaten, die für eine spätere Verwendung gespeichert werden sollen, entsprechend kennzeichnen, indem Sie das Kennzeichen Daten Hinterlegt (CoF) setzen. Aus diesem Grund müssen Sie immer redentialsonfile mit dem Wert "1" in der übergeordneten Anfrage.
Wenn Sie eine neue Folge wiederkehrender Zahlungen unter Verwendung zuvor gespeicherter Anmeldeinformationen verarbeiten, müssen Sie weiterhin folgende Angaben machen credentialsonfile = 1 in der übergeordneten Anfrage, um anzugeben, dass die Berechtigungsnachweise gespeichert werden, um zukünftige untergeordnete Zahlungen in dieser Reihenfolge zu verarbeiten. Der hier übermittelte Wert wird in der Antwort JWT zurückgegeben. |
|
currencyiso3a | Alpha (3) | Die Transaktion Währung. Dies muss bei allen künftigen untergeordneten Anfragen, die von dieser übergeordneten Anfrage geerbt werden, gleich bleiben. | |
requesttypedescriptions | Liste |
Die zu bearbeitenden Anfragetypen. Für den Übergeordnete sollte dies entweder sein [“THREEDQUERY”,”AUTH”] oder [“THREEDQUERY”,”ACCOUNTCHECK”] |
|
sitereference |
Alphanumerisch & Unterstrich (50) |
Die Website-Referenz bezieht sich auf Ihr individuelles Konto, das Sie bei der Einrichtung erhalten haben. Wenn Sie Ihre Website-Referenz nicht kennen, wenden Sie sich bitte an unser Support-Team. | |
subscriptionnumber | Numerisch (5) |
Für die Eltern [“THREEDQUERY”,”AUTH”] oder [“THREEDQUERY”,”ACCOUNTCHECK”] Anfrage: Senden Sie "1".
Bei jedem weiteren untergeordneten Antrag muss die Nummer um 1 erhöht werden, d. h. der zweite Antrag ist die "2", der dritte die "3", usw. |
|
subscriptiontype | Alpha (11) |
Dies ist die Art des Abonnements: "RECURRING" wird verwendet, wenn der Kunde jedes Mal eine wiederkehrende Zahlung für ein neues Produkt/eine neue Dienstleistung leistet. "INSTALLMENT" wird verwendet, wenn ein Kunde eine einzelne Bestellung in mehreren Raten kauft. Ratenzahlungen werden von Händlern mit einem Trust Payments Acquiring-Konto unterstützt. Wenn Sie eine andere Acquiring-Bank verwenden, müssen Sie sich an unser Support-Team wenden, um zu prüfen, ob diese Funktion unterstützt wird, bevor Sie fortfahren. Anmerkung: Wenn der Abonnementtyp "INSTALLMENT" ist und Sie Zahlungen über die US-Plattform abwickeln, benötigen bestimmte Acquiring-Banken auch das Feld subscriptionfinalnumber vorgelegt wird. Kontakt zu unserem Support-Team für weitere Informationen. |
|
termurl | URL (1024) |
Diese URL wird verwendet, um dem Kartenaussteller mitzuteilen, wohin er den Browser des Kunden senden soll, nachdem er sich am ACS des Kartenausstellers authentifiziert hat. Sie müssen die folgende URL in dieses Feld eingeben, wenn Sie 3-D Secure ausführen: https://payments.securetrading.net/process/payments/mobilesdklistener |
|
subscriptionfinalnumber | Numerisch (5) |
Hier wird die Anzahl der Zahlungen festgelegt, die während der Laufzeit des Abonnements verarbeitet werden sollen. Anmerkung: Dieses Feld ist für bestimmte akquirierende Banken auf der US-Plattform erforderlich, wenn die subscriptiontype ist "INSTALLMENT" (andernfalls ist das Feld fakultativ). Kontakt zu unserem Support-Team für weitere Informationen. |
Antwort
Der zurückgegebene Antwort-JWT entspricht der gleichen Spezifikation wie bei der Verarbeitung einer Standardzahlung. Von besonderer Bedeutung ist, dass Ihr System die transactionreference zurückgegeben, da diese in dem später eingereichten untergeordnete Anfrage referenziert werden muss. Klicken Sie hier, um mehr über die Entschlüsselung der JWT-Antwort zu erfahren.
Unsere Webservices API ist eine leistungsstarke Server-zu-Server-Zahlungsverarbeitungslösung, die mehrere Nachrichtentypen unterstützt. Wenn Sie mit unserer Webservices API noch nicht vertraut sind, klicken Sie hier, um mehr zu erfahren und loszulegen.
- Das folgende Beispiel ist eine AUTH Anfrage, die für die Verarbeitung der ersten Zahlung in der wiederkehrenden Folge verwendet werden kann.
- Die accounttypedescription ist "ECOM", um anzuzeigen, dass die Transaktion über Ihre Website durchgeführt wurde.
- Wenn Sie eine wiederkehrende Zahlungsvereinbarung starten möchten, ohne eine Zahlung zu verarbeiten, können Sie den requesttypedescriptions Wert in "ACCOUNTCHECK" ändern.
#!/usr/bin/python
import securetrading
stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)
auth = {
"sitereference": "test_site12345",
"requesttypedescriptions": ["AUTH"],
"accounttypedescription": "ECOM",
"currencyiso3a": "GBP",
"baseamount": "1050",
"orderreference": "My_Order_123",
"pan": "4111111111111111",
"expirydate": "12/2020",
"securitycode": "123",
"cavv":"Q0FWVkNBVlZDQVZWQ0FWVkNBVlY=",
"eci":"05",
"enrolled":"Y",
"status":"Y",
"threedversion":"2.2.0", "threeddirectorytransactionreference":"f00e1111-0011-00a6-ab00-a00000a00000",
"subscriptiontype": "RECURRING",
"subscriptionnumber": "1",
"credentialsonfile": "1"
}
strequest = securetrading.Request()
strequest.update(auth)
stresponse = st.process(strequest) #stresponse contains the transaction response
<?php
if (!($autoload = realpath(__DIR__ . '/../../../autoload.php')) && !($autoload = realpath(__DIR__ . '/../vendor/autoload.php'))) {
throw new Exception('Composer autoloader file could not be found.');
}
require_once($autoload);
$configData = array(
'username' => 'webservices@example.com',
'password' => 'Password1^',
);
$requestData = array(
'sitereference' => 'test_site12345',
'requesttypedescriptions' => array('AUTH'),
'accounttypedescription' => 'ECOM',
'currencyiso3a' => 'GBP',
'baseamount' => '1050',
'orderreference' => 'My_Order_123',
'pan' => '4111111111111111',
'expirydate' => '12/2020',
'securitycode' => '123',
'cavv' => 'Q0FWVkNBVlZDQVZWQ0FWVkNBVlY=',
'eci' => '05',
'enrolled' => 'Y',
'status' => 'Y',
'threedversion' => '2.2.0',
'threeddirectorytransactionreference' => 'f00e1111-0011-00a6-ab00-a00000a00000',
'subscriptiontype' => 'RECURRING',
'subscriptionnumber' => '1',
'credentialsonfile' => '1'
);
$api = \Securetrading\api($configData);
$response = $api->process($requestData);
var_dump($response->toArray());
?>
curl --user webservices@example.com:Password1^ <DOMAIN>/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
"alias":"webservices@example.com",
"version": "1.00",
"request": [{
"currencyiso3a": "GBP",
"requesttypedescriptions": ["AUTH"],
"sitereference": "test_site12345",
"baseamount": "1050",
"orderreference": "My_Order_123",
"accounttypedescription": "ECOM",
"pan": "4111111111111111",
"expirydate": "12/2020",
"securitycode": "123",
"cavv":"Q0FWVkNBVlZDQVZWQ0FWVkNBVlY=",
"eci":"05",
"enrolled":"Y",
"status":"Y",
"threedversion":"2.2.0",
"threeddirectorytransactionreference":"f00e1111-0011-00a6-ab00-a00000a00000",
"subscriptiontype": "RECURRING",
"subscriptionnumber": "1",
"credentialsonfile": "1"
}]
}'
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"currencyiso3a":"GBP",
"requesttypedescriptions":["AUTH"],
"sitereference":"test_site12345",
"baseamount":"1050",
"orderreference":"My_Order_123",
"accounttypedescription":"ECOM",
"pan":"4111111111111111",
"expirydate":"12/2020",
"securitycode":"123",
"cavv":"Q0FWVkNBVlZDQVZWQ0FWVkNBVlY=",
"eci":"05",
"enrolled":"Y",
"status":"Y",
"threedversion":"2.2.0",
"threeddirectorytransactionreference":"f00e1111-0011-00a6-ab00-a00000a00000",
"subscriptiontype":"RECURRING",
"subscriptionnumber":"1",
"credentialsonfile":"1"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="AUTH">
<merchant>
<orderreference>My_Order_123</orderreference>
</merchant>
<billing>
<payment>
<expirydate>12/2020</expirydate>
<pan>4111111111111111</pan>
<securitycode>123</securitycode>
</payment>
<amount currencycode="GBP">1050</amount>
<subscription type="RECURRING">
<number>1</number>
</subscription>
</billing>
<operation>
<sitereference>test_site12345</sitereference>
<accounttypedescription>ECOM</accounttypedescription>
<credentialsonfile>1</credentialsonfile>
</operation>
<threedsecure>
<cavv>Q0FWVkNBVlZDQVZWQ0FWVkNBVlY=</cavv>
<eci>05</eci>
<enrolled>Y</enrolled>
<status>Y</status>
<version>2.2.0</version>
<directorytransactionreference>f00e1111-0011-00a6-ab00-a00000a00000</directorytransactionreference>
</threedsecure>
</request>
</requestblock>
Feld | Format | Beschreibung | |
accounttypedescription XPath: /operation/accounttypedescription |
Alpha (20) |
Geben Sie "ECOM" ein, um eine E-Commerce-Transaktion anzuzeigen. |
|
baseamount XPath: /billing/amount |
Numerisch (13) |
Der mit diesem Antrag verbundene Betrag in Basiseinheiten, ohne Kommas oder Dezimalpunkte. z.B. €10,99 würde als "1099" übermittelt werden, aber ¥246 würde als "246" übermittelt werden. Dieser Wert wird an alle untergeordneten Anfragen vererbt, die von dieser übergeordneten Anfrage erben, sofern das Feld nicht manuell überschrieben wird. Wenn Sie eine ACCOUNTCHECK durchführen, müssen Sie den zu verarbeitenden Höchstbetrag in jede nachfolgende untergeordnete Transaktion aufnehmen. |
|
credentialsonfile XPath: /operation/credentialsonfile |
Numerisch (1) |
Visa und Mastercard haben vorgeschrieben, dass Sie die Zustimmung des Karteninhabers einholen müssen, bevor Sie Kartendaten zur späteren Verwendung speichern. Danach müssen Sie Zugangsdaten, die für eine spätere Verwendung gespeichert werden sollen, entsprechend kennzeichnen, indem Sie das Kennzeichen Daten Hinterlegt (CoF) setzen. Aus diesem Grund müssen Sie immer credentialsonfile mit dem Wert "1" in der übergeordneten Anfrage.
Wenn Sie eine neue Folge wiederkehrender Zahlungen unter Verwendung zuvor gespeicherter Anmeldeinformationen verarbeiten, müssen Sie weiterhin folgende Angaben machen credentialsonfile = 1 in der übergeordneten Anfrage, um anzugeben, dass die Berechtigungsnachweise gespeichert werden, um zukünftige untergeordnete Zahlungen in dieser Reihenfolge zu verarbeiten. Der hier übermittelte Wert wird in der Antwort JWT zurückgegeben. |
|
currencyiso3a XPath: /billing/amount/@currencycode |
Alpha (3) | Die Transaktion Währung. Dies muss bei allen künftigen untergeordneten Anfragen, die von dieser übergeordneten Anfrage geerbt werden, gleich bleiben. | |
eingeschrieben XPath: /threedsecure/einschreiben |
Saibling (1) | Geben Sie "Y" ein, um anzugeben, dass die Karte registriert ist. Informationen zum Umgang mit nicht registrierten Karten finden Sie weiter unten. | |
expirydate XPath: /abrechnung/zahlung/expirydate |
Datum MM/JJJJ | Das auf der Karte aufgedruckte Ablaufdatum. | |
pan XPath: /abrechnung/zahlung/pan |
Numerisch (12-19) | Dies ist die lange Nummer, die auf der Vorderseite der Kundenkarte aufgedruckt ist. | |
requesttypedescriptions XPath: /@type |
Liste |
Die zu verarbeitenden Anfragetypen. Für die Muttergesellschaft sollte dies entweder ["AUTH " ] oder ["ACCOUNTCHECK " ] sein. |
|
sitereference XPath: /operation/sitereference |
Alphanumerisch & Unterstrich (50) |
Die Website-Referenz bezieht sich auf Ihr individuelles Konto, das Sie bei der Einrichtung erhalten haben. Wenn Sie Ihre Website-Referenz nicht kennen, wenden Sie sich bitte an unser Support-Team. | |
status XPath: /threedsecure/status |
Saibling (1) |
Zeigt an, ob der Kunde im ACS des Kartenausstellers authentifiziert wurde oder nicht.
Eine erfolgreiche Authentifizierung mit Status "Y" ist erforderlich. |
|
subscriptionnumber XPath: /billing/subscription/number |
Numerisch (5) |
Für die Eltern Anfrage: Senden Sie "1".
Bei jedem weiteren untergeordneten Antrag muss die Nummer um 1 erhöht werden, d. h. der zweite Antrag ist die "2", der dritte die "3", usw. |
|
subscriptiontype XPath: /billing/subscription/@type |
Alpha (11) |
Dies ist die Art des Abonnements: "RECURRING" wird verwendet, wenn der Kunde jedes Mal eine wiederkehrende Zahlung für ein neues Produkt/eine neue Dienstleistung leistet. "INSTALLMENT" wird verwendet, wenn ein Kunde eine einzelne Bestellung in mehreren Raten kauft. Ratenzahlungen werden von Händlern mit einem Trust Payments Acquiring-Konto unterstützt. Wenn Sie eine andere Acquiring-Bank verwenden, müssen Sie sich an unser Support-Team wenden, um zu prüfen, ob diese Funktion unterstützt wird, bevor Sie fortfahren. Anmerkung: Wenn der Abonnementtyp "INSTALLMENT" ist und Sie Zahlungen über die US-Plattform abwickeln, benötigen bestimmte Acquiring-Banken auch das Feld subscriptionfinalnumber vorgelegt wird. Kontakt zu unserem Support-Team für weitere Informationen. |
|
billingfirstname XPath: /abrechnung/name/erste |
Alphanumerisch einschließlich Symbole (127) |
Der Kunde ist Rechnungsvorname. Erforderlich für Glücksspielanbieter. |
|
billinglastname XPath: /abrechnung/name/last |
Alphanumerisch einschließlich Symbole (127) |
Der Kunde ist Rechnungsnachname. Erforderlich für Glücksspielanbieter. |
|
cavv XPath: /threedsecure/cavv |
Alphanumerisch (56) |
Die eindeutige Cardholder Authentication Verification Value (CAVV), die mit der Transaktion verbunden ist. Geben Sie diesen Wert immer an, wenn er verfügbar ist. |
|
eci XPath: /threedsecure/eci |
Alphanumerisch (2) |
Die mit der Transaktion verbundene Sicherheitsstufe ECI (E-Commerce Indicator). Geben Sie diesen Wert immer an, wenn er verfügbar ist. |
|
threedversion XPath: /threedsecure/version |
Numerisch (6) |
Version von 3-D Secure , die zur Authentifizierung der Zahlung verwendet wird. (z.B. "2.2.0") Geben Sie diesen Wert immer an, wenn er verfügbar ist. |
|
threeddirectorytransactionreference XPath: /threedsecure/directorytransactionreference |
Alphanumerisch (48) |
Einzigartige DSTransactionId von Ihrem MPI Anbieter zurückgegeben. Geben Sie diesen Wert immer an, wenn er verfügbar ist. |
|
subscriptionfinalnumber XPath: /billing/subscription/finalnumber |
Numerisch (5) |
Hier wird die Anzahl der Zahlungen festgelegt, die während der Laufzeit des Abonnements verarbeitet werden sollen. Anmerkung: Dieses Feld ist für bestimmte akquirierende Banken auf der US-Plattform erforderlich, wenn die subscriptiontype ist "INSTALLMENT" (andernfalls ist das Feld fakultativ). Kontakt zu unserem Support-Team für weitere Informationen. |
|
securitycode XPath: /abrechnung/zahlung/securitycode |
Numerisch (3-4) |
Dies ist der 3-stellige Sicherheitscode, der auf der Rückseite der Karte aufgedruckt ist. (Bei AMEX ist dies ein 4-stelliger Code, der sich auf der Vorderseite der Karte befindet) Dieses Feld ist für Trust Payments nicht unbedingt erforderlich, wird aber für die Verarbeitung von Sicherheitscodeprüfungen dringend empfohlen. Außerdem können einige Banken die Zahlung ablehnen, wenn der Sicherheitscode nicht vorhanden ist. |
Antwort
Die zurückgegebene Antwort entspricht der Spezifikation einer StandardantwortAUTH .
Unsere Webservices API ist eine leistungsstarke Server-zu-Server-Zahlungsverarbeitungslösung, die mehrere Nachrichtentypen unterstützt. Wenn Sie mit unserer Webservices API noch nicht vertraut sind, klicken Sie hier, um mehr zu erfahren und loszulegen.
- Das folgende Beispiel ist eine AUTH Anfrage, die für die Verarbeitung der ersten Zahlung in der wiederkehrenden Folge verwendet werden kann.
- Die accounttypedescription ist "MOTO", um anzuzeigen, dass die Bestellung per Telefon aufgegeben wurde.
- Wenn Sie eine wiederkehrende Zahlungsvereinbarung starten möchten, ohne eine Zahlung zu verarbeiten, können Sie den requesttypedescriptions Wert in "ACCOUNTCHECK" ändern.
#!/usr/bin/python
import securetrading
stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)
auth = {
"sitereference": "test_site12345",
"requesttypedescriptions": ["AUTH"],
"accounttypedescription": "MOTO",
"currencyiso3a": "GBP",
"baseamount": "1050",
"orderreference": "My_Order_123",
"billingfirstname": "Joe",
"billinglastname": "Bloggs",
"pan": "4111111111111111",
"expirydate": "12/2020",
"securitycode": "123",
"subscriptiontype": "RECURRING",
"subscriptionnumber": "1",
"credentialsonfile": "1"
}
strequest = securetrading.Request()
strequest.update(auth)
stresponse = st.process(strequest) #stresponse contains the transaction response
<?php
if (!($autoload = realpath(__DIR__ . '/../../../autoload.php')) && !($autoload = realpath(__DIR__ . '/../vendor/autoload.php'))) {
throw new Exception('Composer autoloader file could not be found.');
}
require_once($autoload);
$configData = array(
'username' => 'webservices@example.com',
'password' => 'Password1^',
);
$requestData = array(
'sitereference' => 'test_site12345',
'requesttypedescriptions' => array('AUTH'),
'accounttypedescription' => 'MOTO',
'currencyiso3a' => 'GBP',
'baseamount' => '1050',
'orderreference' => 'My_Order_123',
'billingfirstname' => 'Joe',
'billinglastname' => 'Bloggs',
'pan' => '4111111111111111',
'expirydate' => '12/2020',
'securitycode' => '123',
'subscriptiontype' => 'RECURRING',
'subscriptionnumber' => '1',
'credentialsonfile' => '1'
);
$api = \Securetrading\api($configData);
$response = $api->process($requestData);
var_dump($response->toArray());
?>
curl --user webservices@example.com:Password1^ <DOMAIN>/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
"alias":"webservices@example.com",
"version": "1.00",
"request": [{
"currencyiso3a": "GBP",
"requesttypedescriptions": ["AUTH"],
"sitereference": "test_site12345",
"baseamount": "1050",
"orderreference": "My_Order_123",
"billingfirstname": "Joe",
"billinglastname": "Bloggs",
"accounttypedescription": "MOTO",
"pan": "4111111111111111",
"expirydate": "12/2020",
"securitycode": "123",
"subscriptiontype": "RECURRING",
"subscriptionnumber": "1",
"credentialsonfile": "1"
}]
}'
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"currencyiso3a":"GBP",
"requesttypedescriptions":["AUTH"],
"sitereference":"test_site12345",
"baseamount":"1050",
"orderreference":"My_Order_123",
"billingfirstname":"Joe",
"billinglastname":"Bloggs",
"accounttypedescription":"MOTO",
"pan":"4111111111111111",
"expirydate":"12/2020",
"securitycode":"123",
"subscriptiontype":"RECURRING",
"subscriptionnumber":"1",
"credentialsonfile":"1"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="AUTH">
<merchant>
<orderreference>My_Order_123</orderreference>
</merchant>
<billing>
<payment>
<expirydate>12/2020</expirydate>
<pan>4111111111111111</pan>
<securitycode>123</securitycode>
</payment>
<amount currencycode="GBP">1050</amount>
<subscription type="RECURRING">
<number>1</number>
</subscription>
</billing>
<operation>
<sitereference>test_site12345</sitereference>
<accounttypedescription>MOTO</accounttypedescription>
<credentialsonfile>1</credentialsonfile>
</operation>
</request>
</requestblock>
Feld | Format | Beschreibung | |
accounttypedescription XPath: /operation/accounttypedescription |
Alpha (20) |
Geben Sie "MOTO" ein, um eine Mail Order Telephone Order-Transaktion anzugeben. (Beachten Sie, dass die 3-D Secure Authentifizierung für MOTO Transaktionen nicht unterstützt wird) |
|
baseamount XPath: /billing/amount |
Numerisch (13) |
Der mit diesem Antrag verbundene Betrag in Basiseinheiten, ohne Kommas oder Dezimalpunkte. z.B. €10,99 würde als "1099" übermittelt werden, aber ¥246 würde als "246" übermittelt werden. Dieser Wert wird an alle untergeordneten Anfragen vererbt, die von dieser übergeordneten Anfrage erben, sofern das Feld nicht manuell überschrieben wird. Wenn Sie eine ACCOUNTCHECK durchführen, müssen Sie den zu verarbeitenden Höchstbetrag in jede nachfolgende untergeordnete Transaktion aufnehmen. |
|
credentialsonfile XPath: /operation/credentialsonfile |
Numerisch (1) |
Visa und Mastercard haben vorgeschrieben, dass Sie die Zustimmung des Karteninhabers einholen müssen, bevor Sie Kartendaten zur späteren Verwendung speichern. Danach müssen Sie Zugangsdaten, die für eine spätere Verwendung gespeichert werden sollen, entsprechend kennzeichnen, indem Sie das Kennzeichen Daten Hinterlegt (CoF) setzen. Aus diesem Grund müssen Sie immer credentialsonfile mit dem Wert "1" in der übergeordneten Anfrage.
Wenn Sie eine neue Folge wiederkehrender Zahlungen unter Verwendung zuvor gespeicherter Anmeldeinformationen verarbeiten, müssen Sie weiterhin folgende Angaben machen credentialsonfile = 1 in der übergeordneten Anfrage, um anzugeben, dass die Berechtigungsnachweise gespeichert werden, um zukünftige untergeordnete Zahlungen in dieser Reihenfolge zu verarbeiten. Der hier übermittelte Wert wird in der Antwort JWT zurückgegeben. |
|
currencyiso3a XPath: /billing/amount/@currencycode |
Alpha (3) | Die Transaktion Währung. Dies muss bei allen künftigen untergeordneten Anfragen, die von dieser übergeordneten Anfrage geerbt werden, gleich bleiben. | |
expirydate XPath: /abrechnung/zahlung/expirydate |
Datum MM/JJJJ | Das auf der Karte aufgedruckte Ablaufdatum. | |
pan XPath: /abrechnung/zahlung/pan |
Numerisch (12-19) | Dies ist die lange Nummer, die auf der Vorderseite der Kundenkarte aufgedruckt ist. | |
requesttypedescriptions XPath: /@type |
Liste |
Die zu verarbeitenden Anfragetypen. Für die Muttergesellschaft sollte dies entweder ["AUTH " ] oder ["ACCOUNTCHECK " ] sein. |
|
sitereference XPath: /operation/sitereference |
Alphanumerisch & Unterstrich (50) |
Die Website-Referenz bezieht sich auf Ihr individuelles Konto, das Sie bei der Einrichtung erhalten haben. Wenn Sie Ihre Website-Referenz nicht kennen, wenden Sie sich bitte an unser Support-Team. | |
subscriptionnumber XPath: /billing/subscription/number |
Numerisch (5) |
Für den Elternantrag: Senden Sie "1".
Bei jedem weiteren untergeordneten Antrag muss die Nummer um 1 erhöht werden, d. h. der zweite Antrag ist die "2", der dritte die "3", usw. |
|
subscriptiontype XPath: /billing/subscription/@type |
Alpha (11) |
Dies ist die Art des Abonnements: "RECURRING" wird verwendet, wenn der Kunde jedes Mal eine wiederkehrende Zahlung für ein neues Produkt/eine neue Dienstleistung leistet. "INSTALLMENT" wird verwendet, wenn ein Kunde eine einzelne Bestellung in mehreren Raten kauft. Ratenzahlungen werden von Händlern mit einem Trust Payments Acquiring-Konto unterstützt. Wenn Sie eine andere Acquiring-Bank verwenden, müssen Sie sich an unser Support-Team wenden, um zu prüfen, ob diese Funktion unterstützt wird, bevor Sie fortfahren. Anmerkung: Wenn der Abonnementtyp "INSTALLMENT" ist und Sie Zahlungen über die US-Plattform abwickeln, benötigen bestimmte Acquiring-Banken auch das Feld subscriptionfinalnumber vorgelegt wird. Kontakt zu unserem Support-Team für weitere Informationen. |
|
billingfirstname XPath: /abrechnung/name/erste |
Alphanumerisch einschließlich Symbole (127) |
Der Kunde ist Rechnungsvorname. Erforderlich für Glücksspielanbieter. |
|
billinglastname XPath: /abrechnung/name/last |
Alphanumerisch einschließlich Symbole (127) |
Der Kunde ist Rechnungsnachname. Erforderlich für Glücksspielanbieter. |
|
subscriptionfinalnumber XPath: /billing/subscription/finalnumber |
Numerisch (5) |
Hier wird die Anzahl der Zahlungen festgelegt, die während der Laufzeit des Abonnements verarbeitet werden sollen. Anmerkung: Dieses Feld ist für bestimmte akquirierende Banken auf der US-Plattform erforderlich, wenn die subscriptiontype ist "INSTALLMENT" (andernfalls ist das Feld fakultativ). Kontakt zu unserem Support-Team für weitere Informationen. |
|
securitycode XPath: /abrechnung/zahlung/securitycode |
Numerisch (3-4) |
Dies ist der 3-stellige Sicherheitscode, der auf der Rückseite der Karte aufgedruckt ist. (Bei AMEX ist dies ein 4-stelliger Code, der sich auf der Vorderseite der Karte befindet) Dieses Feld ist für Trust Payments nicht unbedingt erforderlich, wird aber für die Verarbeitung von Sicherheitscodeprüfungen dringend empfohlen. Außerdem können einige Banken die Zahlung ablehnen, wenn der Sicherheitscode nicht vorhanden ist. |
Antwort
Die zurückgegebene Antwort entspricht der Spezifikation einer StandardantwortAUTH .
Ihr Fortschritt
Nachdem Sie die obigen Anweisungen befolgt haben, sollten Sie nun in der Lage sein, wiederkehrende Zahlungen manuell über unsere Webservices API zu verarbeiten. Sie können die transactionreference die in der Antwort zurückgegeben wird, und nehmen diese in nachfolgende untergeordnete Anfragen auf.
Antrag des Kindes
In diesem Abschnitt wird die nachfolgende wiederkehrende Zahlung beschrieben. In diesem Abschnitt wird davon ausgegangen, dass der zuvor beschriebene übergeordnete Antrag bereits bearbeitet worden ist.
Bevor Sie eine untergeordnete Anfrage bearbeiten, müssen Sie sicherstellen, dass der übergeordnete Anfrage erfolgreich abgeschlossen wurde. Untersuchen Sie alle aufgetretenen Probleme und wenden Sie sich an unser Support-Team, wenn Sie Hilfe benötigen.
Mastercard hat vorgeschrieben, dass Ihr System in Fällen, in denen eine wiederkehrende Zahlung vom Kartenaussteller abgelehnt wurde nicht in den nächsten 31 Tagen nicht mehr als einmal pro Tag versuchen darf, die Anfrage zu wiederholen. Nach Ablauf dieses Zeitraums darf Ihr System keine weiteren Anfragen für den betroffenen Kunden versenden.
Wenn eine parenttransactionreference von einem erfolgreichen Elternteil "AUTH" oder "ACCOUNTCHECK" in einer untergeordneten Anfrage enthalten ist, stellt Trust Payments die erforderlichen Schemareferenzdaten für Visa und Mastercard bereit.
Bitte wenden Sie sich an unser Support-Team, wenn Sie Referenzdaten eines anderen Verarbeiters einbeziehen oder untergeordnete Transaktionen mit PAN und Ablaufdatum verarbeiten möchten. Klicken Sie hier, um mehr zu erfahren.
Übersicht der Kinderanträge
- Ihr System fordert die Verarbeitung einer neuen Zahlung an, indem es manuell eine AUTH Anfrage über unsere Webservices API übermittelt, die die transactionreference der Muttergesellschaft AUTH oder ACCOUNTCHECK auf dem parenttransactionreference Feld.
Für diejenigen, die unser JavaScript Library oder Mobile SDK verwenden, um die übergeordnete Anfrage zu bearbeiten, enthält das anschließend zurückgegebene Antwort-JWT auch die transactionreference der THREEDQUERY. Sie dürfen dies nicht im untergeordnete Anfrage angeben. Stattdessen müssen Sie nur die transactionreference Wert, der mit dem übergeordneten AUTH oder ACCOUNTCHECK verbunden ist.
- Wir wenden uns an die übernehmende Bank, um Autorisierung für die Zahlung zu kontaktieren, wobei wir die von der übergeordneten AUTH/ACCOUNTCHECK geerbten Rechnungs- und Lieferdaten verwenden (Ihr System muss diese Daten nicht erneut übermitteln).
- Ihr System erhält eine Antwort von AUTH , die die Ergebnisse der Anfrage enthält.
Anforderung
Die für den untergeordneten Antrag eingereichte Anforderungstyp muss "AUTH" lauten (eingereicht in der requesttypedescriptions Feld). Die AUTH Unterabfrage folgt einer ähnlichen Spezifikation wie eine Standardabfrage AUTH , unterliegt jedoch anderen Anforderungen, wenn sie als Teil einer Lösung für wiederkehrende Zahlungen verwendet wird. Weitere Informationen finden Sie in dem Beispiel und der Feldspezifikation unten.
#!/usr/bin/python
import securetrading
stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)
auth = {
"sitereference": "test_site12345",
"requesttypedescriptions": ["AUTH"],
"accounttypedescription": "RECUR",
"parenttransactionreference": "12-3-4567",
"baseamount": "1050",
"subscriptiontype": "RECURRING",
"subscriptionnumber": "2",
"credentialsonfile": "2"
}
strequest = securetrading.Request()
strequest.update(auth)
stresponse = st.process(strequest) #stresponse contains the transaction response
<?php
if (!($autoload = realpath(__DIR__ . '/../../../autoload.php')) && !($autoload = realpath(__DIR__ . '/../vendor/autoload.php'))) {
throw new Exception('Composer autoloader file could not be found.');
}
require_once($autoload);
$configData = array(
'username' => 'webservices@example.com',
'password' => 'Password1^',
);
$requestData = array(
'sitereference": "test_site12345',
'requesttypedescriptions' => array('AUTH'),
'accounttypedescription' => 'RECUR',
'parenttransactionreference' => '12-3-4567',
'baseamount' => '1050',
'subscriptiontype' => 'RECURRING',
'subscriptionnumber' => '2',
'credentialsonfile' => '2'
);
$api = \Securetrading\api($configData);
$response = $api->process($requestData);
var_dump($response->toArray());
?>
curl --user webservices@example.com:Password1^ <DOMAIN>/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
"alias":"webservices@example.com",
"version": "1.00",
"request": [{
"sitereference": "test_site12345",
"requesttypedescriptions": ["AUTH"],
"accounttypedescription": "RECUR",
"parenttransactionreference": "12-3-4567",
"baseamount": "1050",
"subscriptiontype": "RECURRING",
"subscriptionnumber": "2",
"credentialsonfile": "2"
}]
}'
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"sitereference":"test_site12345",
"requesttypedescriptions":["AUTH"],
"accounttypedescription":"RECUR",
"parenttransactionreference":"12-3-4567",
"baseamount":"1050",
"subscriptiontype":"RECURRING",
"subscriptionnumber":"2",
"credentialsonfile":"2"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="AUTH">
<operation>
<sitereference>test_site12345</sitereference>
<accounttypedescription>RECUR</accounttypedescription>
<parenttransactionreference>12-3-4567</parenttransactionreference>
<credentialsonfile>2</credentialsonfile>
</operation>
<billing>
<amount>1050</amount>
<subscription type="RECURRING">
<number>2</number>
</subscription>
</billing>
</request>
</requestblock>
Ersetzen Sie <DOMAIN>
mit einer unterstützten Domäne. Klicken Sie hier für eine vollständige Liste.
Im obigen Beispiel wird davon ausgegangen, dass die vorherige Anfrage die erste war, die bearbeitet wurde, weshalb die subscriptionnumber wird der Wert "2" zugewiesen. Nachfolgende untergeordnete Anträge werden nach der gleichen Struktur bearbeitet, wobei diese Zahl jedes Mal erhöht wird (d. h. die nächste Zahlung in der Reihenfolge wäre "3", dann "4" usw.).
Feld | Format | Beschreibung | |
accounttypedescription XPath: /operation/accounttypedescription |
Alpha (20) | Diese muss auf "RECUR" gesetzt werden. | |
baseamount XPath: /billing/amount |
Numerisch (13) |
Der Betrag, der mit der untergeordneten Zahlung verbunden ist, in Basiseinheiten, ohne Kommas oder Dezimalpunkte. z.B. €10,99€ würde als "1099" übermittelt werden, aber ¥246 würde als "246" übermittelt werden. Wenn Sie dieses Feld nicht ausfüllen, wird der verarbeitete Betrag von der vorhergehenden übergeordneten Anfrage übernommen. |
|
credentialsonfile XPath: /operation/credentialsonfile |
Numerisch (1) |
Dies ist für die Transaktionen Visa und Mastercard erforderlich, wenn der Händler Daten Hinterlegt (CoF) verwendet. Geben Sie in diesem Feld eine "2" ein, um anzugeben, dass die Zahlung mit zuvor gespeicherten Berechtigungsnachweisen erfolgt. |
|
currencyiso3a XPath: /billing/amount/@currencycode |
Alpha (3) |
Bei der Einreichung muss es sich um dieselbe Währung handeln, die auch für den übergeordneten Antrag verwendet wird.
Wird dieser Wert nicht übermittelt, wird er von der übergeordneten Anfrage geerbt. |
|
parenttransactionreference XPath: /operation/parenttransactionreference |
Alphanumerisch & Bindestriche (25) |
Sie müssen die transactionreference Wert des AUTH oder ACCOUNTCHECK , der in der JWT-Antwort der ursprünglichen übergeordneten Anfrage zurückgegeben wird.
Sie dürfen nicht die transactionreference Wert, der mit der THREEDQUERY verbunden ist. |
|
requesttypedescriptions XPath: /@type |
Alpha (20) | Sie müssen "AUTH" eingeben, wie im Beispiel des Antrags gezeigt. | |
sitereference XPath: /operation/sitereference |
Alphanumerisch & Unterstrich (50) |
Die Website-Referenz bezieht sich auf Ihr individuelles Konto, das Sie bei der Einrichtung erhalten haben. Wenn Sie Ihre Website-Referenz nicht kennen, wenden Sie sich bitte an unser Support-Team. | |
subscriptionnumber XPath: /billing/subscription/number |
Numerisch (5) |
Sie wird verwendet, um die Position einer Zahlung innerhalb einer Folge von wiederkehrenden Transaktionen zu identifizieren. Bei jeder weiteren Zahlung ist die übermittelte Zahl um 1 zu erhöhen (ohne Lücken). z.B. 2. Transaktion ist "2", 3. ist "3", dann "4" usw. (Sie sollten diese Zahl nur erhöhen, wenn die vorherige wiederkehrende Zahlungsanforderung erfolgreich war) Für die Anzahl der Zahlungen mit einer Karte gibt es keine Beschränkungen. |
|
subscriptiontype XPath: /billing/subscription/@type |
Alpha (11) |
Dies ist die Art des Abonnements: "RECURRING" wird verwendet, wenn der Kunde jedes Mal eine wiederkehrende Zahlung für ein neues Produkt/eine neue Dienstleistung leistet. "INSTALLMENT" wird verwendet, wenn ein Kunde eine einzelne Bestellung in mehreren Raten kauft. Ratenzahlungen werden von Händlern mit einem Trust Payments Acquiring-Konto unterstützt. Wenn Sie eine andere Acquiring-Bank verwenden, müssen Sie sich an unser Support-Team wenden, um zu prüfen, ob diese Funktion unterstützt wird, bevor Sie fortfahren. |
Antwort
Die zurückgegebene Antwort entspricht der gleichen Spezifikation wie eine Standard AUTH Antwort, mit Ausnahme des zusätzlichen Feldes acquireradvicecode die zurückgegeben werden können (weitere Informationen finden Sie in der nachstehenden Feldspezifikation).
Feldspezifikation
Feld | Format | Beschreibung | |
accounttypedescription XPath: /operation/accounttypedescription |
Alpha (20) | Der Kontotyp "RECUR" wird zurückgegeben. | |
acquireradvicecode XPath: /acquireradvicecode |
Numerisch (1) |
Ein von der erwerbenden Bank zurückgegebener numerischer Wert, der angibt, ob weitere Zahlungen verarbeitet werden können. Eine vollständige Zuordnung dieser Werte finden Sie im Abschnitt "Zusätzliche Hinweise" am Ende dieser Seite. Wird nur zurückgesandt, wenn es von Ihrer anwerbenden Bank unterstützt wird. |
|
baseamount XPath: /billing/amount |
Numerisch (13) |
Der Betrag, der mit der untergeordneten Zahlung verbunden ist, in Basiseinheiten, ohne Kommas oder Dezimalpunkte. z.B. €10,99€ würde als "1099" übermittelt werden, aber ¥246 würde als "246" übermittelt werden. Wir empfehlen, zu überprüfen, ob dieser Betrag mit dem von Ihnen erwarteten Wert übereinstimmt. Der hier zurückgegebene Betrag entspricht dem Betrag, der dem Kunden bei der untergeordneten Zahlung belastet wird. |
|
credentialsonfile XPath: /operation/credentialsonfile |
Numerisch (1) | Wenn die credentialsonfile Feld in der Anfrage übermittelt wurde und vom Acquirer, der die Transaktion bearbeitet, unterstützt wird, wird es in der Antwort zurückgegeben. | |
currencyiso3a XPath: /billing/amount/@currencycode |
Alpha (3) |
Die Währung der Transaktion. Klicken Sie hier für eine vollständige Liste der verfügbaren Währungen. |
|
parenttransactionreference XPath: /operation/parenttransactionreference |
Alphanumerisch & Bindestriche (25) |
Die Transaktionsnummer der übergeordneten Transaktion. | |
requesttypedescription XPath: /@type |
Alpha (20) | Anforderungstyp Es wird "AUTH" zurückgegeben. |
Zusammenfassung
Wenn Sie die obigen Anweisungen befolgen, sollte Ihr System nun in der Lage sein, wiederkehrende Zahlungen manuell über unsere Webservices API zu verarbeiten, ohne dass Sie die Abrechnungs- oder Zahlungsdaten des Kunden erneut übermitteln müssen. Wie immer empfehlen wir dringend, Ihre Lösung gründlich zu testen, um sicherzustellen, dass wiederkehrende Zahlungen wie erwartet verarbeitet werden, bevor Sie Zahlungen in Ihrem Produktionssystem live durchführen. Bitte lesen Sie weiter, um zusätzliche Informationen zu erhalten, die Ihnen bei der Entwicklung einer Lösung für wiederkehrende Zahlungen nützlich sein könnten.
Zusätzliche Hinweise
Im Folgenden finden Sie einige zusätzliche Hinweise, die Sie bei der Verarbeitung wiederkehrender Zahlungen beachten sollten.
Über die Hinweiscode des Käufers
Hinweiscode des Käufers ist ein numerischer Wert, der zurückgegeben wird, wenn er von Ihrer Acquiring-Bank unterstützt wird, und der angibt, ob und wann weitere Zahlungen verarbeitet werden können.
Kartensystemaktualisierung
Händlern mit hoherBand empfehlen wir dringend, dass Ihr System drei Tage vor der Bearbeitung einer weiteren untergeordneten Anfrage (oder wenn eine untergeordnete Anfrage abgelehnt wurde) manuell eine Kartensystemaktualisierung Anfrage über unsere Webservices API sendet, um zu prüfen, ob die Zahlungsdaten des Kunden noch aktuell sind.
Ähnliche Artikel
Abonnementmodul
Reichen Sie einen einmaligen Antrag ein, und wir werden automatisch in regelmäßigen Abständen wiederkehrende Zahlungen vornehmen.
Vom Händler initiierte Transaktionen (MIT)
Übermittlung von Ad-hoc-Anfragen zur Verarbeitung einer Transaktion anhand zuvor gespeicherter Kartendaten ohne Interaktion des Karteninhabers.