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 für eine Transaktion zu erhöhen, die zuvor genehmigt, aber noch nicht abgewickelt wurde. Es handelt sich um eine zusätzliche Anfrage, die über die APIWebservices eingereicht wird und mit der Autorisierung zusätzliche Mittel angefordert werden können. Bei erfolgreicher Autorisierung wird diese Anfrage automatisch den Abrechnungsbetrag der betreffenden Transaktion aktualisieren.
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 (anstehende automatische Abrechnung),1 (anstehende manuelle Abrechnung) oder 2 (ausgesetzt).
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. |
Aktualisierung der Transaktion
- Durch die erfolgreiche Durchführung der inkrementellen Autorisierungen wird der für die Transaktion autorisierte Gesamtbetrag erhöht.
- Sie können den Abrechnungsbetrag jederzeit vor Abrechnung aktualisieren, solange die Transaktion noch nicht abgeschlossen ist, so dass er kleiner oder gleich dem autorisierten Gesamtbetrag ist.
Rückerstattungen
- Stellen Sie sicher, dass Sie die Rückerstattung mit der ursprünglichen Transaktion als übergeordneter Transaktion durchführen und nicht versuchen, eine der einzelnen inkrementellen Transaktionen durchzuführen Autorisierungen.
- Bei einer Rückerstattung erstattet das System dem Kunden automatisch den gesamten abgerechneten Betrag, einschließlich etwaiger zusätzlicher Beträge, die vor Abrechnung über die inkrementelle Autorisierungen hinzugefügt wurden.