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.
Eine inkrementelle Autorisierung wird verwendet, um den vom Kunden zu zahlenden Gesamtbetrag zu erhöhen, wenn dieser zum Zeitpunkt der Autorisierung nicht bekannt ist. Es handelt sich um eine zusätzliche Anfrage, die über die Webservices API übermittelt wird und mit der Autorisierung zusätzliche Mittel angefordert werden können, sobald der vollständige Betrag bekannt ist. Der vom Kunden zu zahlende Gesamtbetrag ist der Wert aus der ursprünglichen AUTH, zusätzlich zu den Beträgen, die mit den zusätzlichen Autorisierungen verbunden sind.
Voraussetzungen
Sie können nur Inkrementelle Autorisierungen mit Karten der Marke Visa verarbeiten.
Inkrementelle Autorisierungen werden für Händler mit einem Trust Payments Acquiring-Konto und unterstützten MCC-Codes unterstützt.
Ihr Konto muss einem der folgenden Kunden Categorie Nummern (MCC) zugewiesen sein, um die inkrementelle Autorisierungen nutzen zu können:
3351-3999, 4111, 4112, 4121, 4131, 4411, 5812, 5813, 7011, 7033, 7394, 7512, 7513, 7519, 7996, 7999
Wenn Sie eine andere Acquiring-Bank verwenden, müssen Sie sich mit unserem Support-Team in Verbindung setzen, um zu prüfen, ob diese Funktion unterstützt wird, bevor Sie fortfahren.
Eine zuvor genehmigte Zahlung ist erforderlich
Inkrementelle Autorisierungen benötigt ein übergeordnete Vor-Autorisierungen, das die folgenden Kriterien erfüllt:
- Übergeordnete AUTH MUSS haben accounttypedescription= "ECOM" oder "MOTO".
- Übergeordnete AUTH MUSS haben authmethod = "PRE".
- Übergeordnete AUTH MUSS haben settlestatus = 0 (Abrechnung ausstehend) oder 1 (manuelle Abrechnung).
Verarbeitung der Inkrementelle Autorisierung
Inkrementelle Autorisierungen werden verarbeitet, indem zusätzliche AUTH Anfragen über unsere Webservices API übermittelt werden.
Anforderung
Im folgenden Beispiel wird eine Inkrementelle Autorisierung gestellt. Die Struktur ist dieselbe wie bei einer Standardanforderung AUTH , mit Ausnahme der folgenden wesentlichen Unterschiede:
- Die authmethod muss mit dem Wert "INCREMENTAL" angegeben werden.
- Die parenttransactionreference muss einen Verweis auf eine zuvor genehmigte Zahlung enthalten, die die oben genannten Anforderungen erfüllt.
- Neue Inkrementelle Autorisierungen müssen mit der gleichen Karte wie die übergeordnete AUTH bearbeitet werden.
- Neue Inkrementelle Autorisierungen müssen mit der gleichen Währung wie die übergeordnete AUTH verarbeitet werden.
- Neue Inkrementelle Autorisierungen müssen mit demselben Acquirer wie die übergeordnete AUTH bearbeitet werden.
- Neue Inkrementelle Autorisierungen können nicht über eine übergeordnete AUTH bearbeitet werden, die bereits abgerechnet oder storniert wurde.
#!/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"],
"baseamount": "10000",
"orderreference": "My_Order_123",
"authmethod": "INCREMENTAL",
"parenttransactionreference": "1-2-345678"
}
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'),
'baseamount' => '10000',
'orderreference' => 'My_Order_123',
'authmethod' => 'INCREMENTAL',
'parenttransactionreference' => '1-2-345678'
);
$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": [{
"requesttypedescriptions": ["AUTH"],
"sitereference": "test_site12345",
"baseamount": "10000",
"orderreference": "My_Order_123",
"authmethod": "INCREMENTAL",
"parenttransactionreference": "1-2-345678"
}]
}'
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"requesttypedescriptions":["AUTH"],
"sitereference":"test_site12345",
"baseamount":"10000",
"orderreference":"My_Order_123",
"authmethod":"INCREMENTAL",
"parenttransactionreference":"1-2-345678"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="AUTH">
<merchant>
<orderreference>My_Order_123</orderreference>
</merchant>
<billing>
<amount>10000</amount>
</billing>
<operation>
<sitereference>test_site12345</sitereference>
<authmethod>INCREMENTAL</authmethod>
<parenttransactionreference>1-2-345678</parenttransactionreference>
</operation>
</request>
</requestblock>
Ersetzen Sie <DOMAIN>
mit einer unterstützten Domäne. Klicken Sie hier für eine vollständige Liste.
Feldspezifikation
Feld | Format | Beschreibung | |
authmethod XPath: /operation/authmethod |
Alpha (11) | Für die inkrementelle Autorisierung muss dies auf "INCREMENTAL" gesetzt werden. | |
baseamount XPath: /billing/amount |
Numerisch (13) | Der mit der Inkrementelle Autorisierung verbundene Betrag. Muss in Basiseinheiten ohne Kommas oder Dezimalpunkte angegeben werden, d.h. €10 wäre 1000. (Die maximale Länge kann je nach Bank variieren - weitere Informationen erhalten Sie von Ihrer Bank) | |
parenttransactionreference XPath: /operation/parenttransactionreference |
Alphanumerisch & Bindestriche (25) |
Einreichen der transactionreference des "PRE" AUTH , mit dem inkrementelle Autorisierungen verarbeitet werden sollen. | |
requesttypedescriptions XPath: /@type |
Alpha (20) | Sie müssen "AUTH" eingeben. | |
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. | |
credentialsonfile XPath: /operation/credentialsonfile |
Numerisch (1) |
Kann optional als Teil der Visa's eingereicht werden Daten Hinterlegt (CoF) eingereicht werden:
|
Antwort
Dies entspricht der gleichen Spezifikation wie eine Standardantwort AUTH .
Feldspezifikation
Feld | Format | Beschreibung | |
authmethod XPath: /operation/authmethod |
Alpha (11) | Dies wird als "INCREMENTAL" zurückgegeben. | |
baseamount XPath: /billing/amount |
Numerisch (13) | Der mit der Inkrementelle Autorisierung verbundene Betrag. Wird in Basiseinheiten ohne Kommas oder Dezimalpunkte angegeben, d. h. €10 wären 1000. | |
parenttransactionreference XPath: /operation/parenttransactionreference |
Alphanumerisch & Bindestriche (25) |
Die transactionreference der "PRE" AUTH , auf deren Grundlage die inkrementelle Autorisierung bearbeitet wurde. | |
requesttypedescription XPath: /@type |
Alpha (20) | Dies wird als "AUTH" zurückgegeben. | |
credentialsonfile XPath: /operation/credentialsonfile |
Numerisch (1) |
Zeigt an, ob die Transaktion Teil der Visa's Daten Hinterlegt (CoF) gehört:
Dieses Feld wird zurückgegeben, wenn es in der Anfrage übermittelt wurde. |
Abrechnung und Aktualisierungen
Beziehung zur übergeordneten Transaktion
In unserem System sind die erste Zahlung und die untergeordneten stufenweise Autorisierungen miteinander verknüpft. Mit MyST können Sie alle Inkrementelle Autorisierungen, die mit einer Transaktion verbunden sind, anzeigen, indem Sie auf die Registerkarte "Zugehörige Transaktionen" klicken, die bei der Anzeige der Details einer Transaktion angezeigt wird.
Aktualisierung der übergeordneten Transaktion
Aufgrund des gemeinsamen Zusammenhangs zwischen der Anfangszahlung und die untergeordneten stufenweise Autorisierungen ist folgendes Verhalten zu erwarten:
- Wenn die settleduedate und/oder settlestatus bei der ersten Zahlung aktualisiert wird, werden alle untergeordneten inkrementellen Autorisierungen automatisch entsprechend aktualisiert.
- Wenn die erste Zahlung beglichen ist, werden auch alle untergeordneten stufenweise Autorisierungen automatisch beglichen.
- Wenn die erste Zahlung annulliert wird, werden alle weiteren untergeordneten stufenweise Autorisierungen automatisch ebenfalls annulliert.
- Wird die erste Zahlung ausgesetzt, werden automatisch auch alle weiteren untergeordneten stufenweise Autorisierungen.
Aktualisierung der Inkrementelle Aktualisierung
Die einzigen zulässigen Aktualisierungen für Inkrementelle Autorisierungen sind:
- Aktualisieren Sie die settlestatus auf "3", um die inkrementelle Autorisierung abzubrechen.
- Aktualisieren Sie die settleamount einen niedrigeren Wert als den, der für die inkrementelle Autorisierung genehmigt wurde.
- Aktualisieren Sie den Wert des orderreference.
Regeln, die auf Inkrementelle Autorisierungen verarbeitet werden, können nur die oben aufgeführten Aktualisierungen durchführen.
Überlegungen zur Sicherheit
Inkrementelle Autorisierungen umgehen alle Betrugs-, Duplikat- und Sicherheitsprüfungen, die bei regulären Zahlungen durchgeführt werden können. Wenn solche Prüfungen dazu führen, dass die übergeordnete AUTH ausgesetzt oder storniert wird, werden auch alle untergeordneten stufenweise Autorisierungen ausgesetzt/storniert.
Rückerstattungen
Um die Bestellung vollständig zurückzuerstatten, müssen die erste Zahlung UND alle zusätzlichen Zahlungen für untergeordneten Inkrementelle Autorisierungen separat zurückerstattet werden.
Wie bei den Standardzahlungen können Sie auch bei den inkrementellen Zahlungen Autorisierungen nur dann eine Rückerstattung vornehmen, wenn sie abgewickelt wurden (settlestatus = 100). Wenn eine inkrementelle Autorisierung noch nicht abgerechnet wurde, können Sie die settlestatus zu verschieben oder abzubrechen Abrechnung.
Zusätzliche Hinweise
- Die Abrechnungs- und Lieferdetails können sich zwischen der Inkrementelle Autorisierungen und ihrer übergeordneten AUTH unterscheiden.
- Inkrementelle Autorisierungen unterstützt DCC nicht.
- Protect Plus Prüfungen können für eine inkrementelle Autorisierung durchgeführt werden, nachdem sie verarbeitet wurde. Verarbeiten Sie manuell eine neue RISKDEC Anfrage (mit unserem Webservices API), die die transactionreference aus der inkrementellen Antwort AUTH .