De volgende inhoud gaat ervan uit dat u de noodzakelijke PCI-certificering hebt verkregen om gevoelige kaarthoudergegevens te verwerken en in te dienen in het verzoek aan onze Webservices API.
Lees dit artikel voor meer informatie.
Een incrementeel autorisatie wordt gebruikt om het totale bedrag te verhogen dat door de klant moet worden betaald voor een transactie die eerder was geautoriseerd maar nog niet afgewikkeld. Het is een aanvullend verzoek dat via de Webservices API wordt ingediend en kan worden gebruikt om autorisatie op te vragen voor aanvullende fondsen. Als dit verzoek met succes wordt geautoriseerd, wordt het verrekende bedrag van de betreffende transactie automatisch bijgewerkt.
Vereisten
U kunt alleen incrementele authorisaties verwerken met Visa-merkkaarten.
Incrementeel authorisaties wordt ondersteund voor handelaren met een Trust Payments acquiring account en ondersteunde MCC-codes.
Aan uw account moet een van de volgende Klant Categorie Codes (MCC) worden toegewezen om in aanmerking te komen voor het gebruik van incrementeel authorisaties:
3351-3999, 4111, 4112, 4121, 4131, 4411, 5812, 5813, 7011, 7033, 7394, 7512, 7513, 7519, 7996, 7999
Als u een andere acquiring bank gebruikt, moet u contact opnemen met ons Support Team om te controleren of deze functie wordt ondersteund voordat u verder gaat.
Een vooraf goedgekeurde betaling is vereist
Incrementeel authorisaties vereist een bovengeschikte pre-autorisatie die aan de volgende criteria voldoet:
- Bovengeschikte AUTH MOET hebben accounttypedescription= "ECOM" of "MOTO".
- Bovengeschikte AUTH MOET hebben authmethod = "PRE".
- Bovengeschikte AUTH MOET hebben settlestatus = 0 (in afwachting van automatisch afwikkeling),1 (in afwachting van handmatig afwikkeling) of 2 (opgeschort).
Verwerking incrementeel authorisaties
Incrementele authorisaties worden verwerkt door extra AUTH verzoeken in te dienen via onze Webservices API.
Verzoek
In het volgende verzoek wordt een incrementeel autorisatie verzoek ingediend. Dit volgt dezelfde structuur als een standaard AUTH verzoek, met uitzondering van de volgende belangrijke verschillen:
- De authmethod veld moet worden ingediend met de waarde "INCREMENTAL".
- De parenttransactionreference moet een verwijzing bevatten naar een eerder toegestane betaling die voldoet aan de hierboven uiteengezette vereisten.
- Nieuwe incrementele authorisaties moeten worden verwerkt met dezelfde kaart als de bovenliggende AUTH.
- Nieuwe incrementele authorisaties moeten worden verwerkt met dezelfde Munt als de bovenliggende AUTH.
- Nieuwe incrementele authorisaties moeten worden verwerkt met dezelfde verwerver als de bovenliggende AUTH.
- Nieuwe incrementele authorisaties kunnen niet worden verwerkt met een bovengeschikte AUTH die is verrekend of geannuleerd.
#!/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>
Vervang <DOMAIN>
met een ondersteund domein. Klik hier voor een volledige lijst.
Specificatie veld
Veld | Formaat | Beschrijving | |
authmethod XPath: /operation/authmethod |
Alpha (11) | Voor de incrementele autorisatie moet dit worden ingesteld op "INCREMENTAL". | |
baseamount XPath: /billing/amount |
Numeriek (13) | Het bedrag van de incrementele machtiging. Moet in basiseenheden staan, zonder komma's of decimalen, dus €10 zou 1000 zijn. (Maximale lengte kan variëren afhankelijk van uw wervende bank - Neem contact op met uw bank voor meer informatie) | |
parenttransactionreference XPath: /operation/parenttransactionreference |
Alfanumeriek en koppeltekens (25) |
Dien de transactionreference van de "PRE" AUTH waarmee incrementele authorisaties moeten worden verwerkt. | |
requesttypedescriptions XPath: /@type |
Alpha (20) | U moet "AUTH" indienen. | |
sitereference XPath: /operation/sitereference |
Alfanumeriek & underscore (50) |
De site referentie heeft betrekking op uw individuele account die u bij de installatie hebt ontvangen. Als u uw site referentie niet kent, neem dan contact op met ons Support Team. | |
credentialsonfile XPath: /operation/credentialsonfile |
Numeriek (1) |
Kan optioneel worden ingediend als onderdeel van Visa's Gevevens in Bestand (CoF) functie:
|
Antwoord
Dit volgt dezelfde specificatie als een standaard AUTH reactie.
Specificatie veld
Veld | Formaat | Beschrijving | |
authmethod XPath: /operation/authmethod |
Alpha (11) | Dit wordt teruggestuurd als "INCREMENTAL". | |
baseamount XPath: /billing/amount |
Numeriek (13) | Het bedrag van de oplopende machtiging. Wordt geretourneerd in basiseenheden, zonder komma's of decimalen, dus €10 zou 1000 zijn. | |
parenttransactionreference XPath: /operation/parenttransactionreference |
Alfanumeriek en koppeltekens (25) |
De transactionreference van de "PRE" AUTH waarop de incrementele autorisatie werd verwerkt. | |
requesttypedescription XPath: /@type |
Alpha (20) | Dit wordt teruggestuurd als "AUTH". | |
credentialsonfile XPath: /operation/credentialsonfile |
Numeriek (1) |
Geeft aan of de transactie deel uitmaakt van Visa's Gevevens in Bestand (CoF) functie:
Dit veld wordt teruggestuurd indien het in het verzoek is ingediend. |
De transactie bijwerken
- Door succesvolle incrementele authorisaties uit te voeren, wordt het totale geautoriseerde bedrag voor de transactie verhoogd.
- Op elk moment vóór afwikkeling , terwijl de transactie nog in behandeling is, kun je het afwikkelingsbedrag bijwerken tot een waarde die lager is dan of gelijk is aan het totale geautoriseerde bedrag.
Terugbetalingen
- Zorg ervoor dat je de terugbetaling uitvoert met de oorspronkelijke transactie als bovenliggende transactie in plaats van te proberen actie te ondernemen op een van de afzonderlijke incrementele authorisaties.
- Bij het uitvoeren van een terugbetaling zal het systeem de klant automatisch terugbetalen met het totale verrekende bedrag, inclusief eventuele extra bedragen die zijn toegevoegd via incrementele authorisaties voorafgaand aan afwikkeling.