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 door de klant te betalen bedrag te verhogen, indien dit niet bekend is op het moment van autorisatie. Het is een aanvullend verzoek dat wordt ingediend via de Webservices API, waarmee autorisatie om extra middelen kan worden verzocht, zodra het volledige bedrag bekend is. Het totale door de klant te betalen bedrag is de waarde van de oorspronkelijke AUTH, naast de bedragen die verband houden met de incrementele authorisaties.
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 betaling) of 1 (handmatige betaling).
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 aan de bovengenoemde vereisten voldoet.
- 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. |
Afwikkeling en updates
Verband met de bovengeschikte transactie
De initiële betaling en de bijbehorende incrementele authorisaties zijn in ons systeem aan elkaar gekoppeld. In MyST kunt u alle aan een transactie gekoppelde incrementele authorisaties bekijken door te klikken op het tabblad "Gerelateerde transacties" dat wordt weergegeven wanneer u de details van een transactie bekijkt.
Bijwerken van de bovengeschikte transactie
Vanwege het gedeelde verband tussen de initiële betaling en de incrementele kinderbetaling authorisaties is het volgende gedrag te verwachten:
- Als de settleduedate en/of settlestatus op de eerste betaling is bijgewerkt, worden alle incrementele authorisaties kinderen automatisch bijgewerkt.
- Als de eerste betaling is voldaan, worden ook alle oplopende authorisaties kinderen automatisch voldaan.
- Als de eerste betaling wordt geannuleerd, worden ook alle oplopende authorisaties kinderen automatisch geannuleerd.
- Als de eerste betaling wordt opgeschort, worden ook alle oplopende authorisaties kinderen automatisch opgeschort.
Bijwerken van incrementele authorisaties
De enige toegestane updates voor incrementele authorisaties zijn:
- Werk de settlestatus op "3", om de incrementele autorisatie te annuleren.
- Werk de settleamount een lagere waarde dan was toegestaan voor de incrementele autorisatie.
- De waarde van de orderreference.
Regels die worden verwerkt op incrementeel authorisaties kunnen alleen de bovengenoemde updates uitvoeren.
Veiligheidsoverwegingen
Incrementele authorisaties omzeilen alle fraude-, duplicaat- en veiligheidsbeleidcontroles die op reguliere betalingen kunnen worden uitgevoerd. Indien dergelijke controles ertoe leiden dat de bovengeschikte AUTH wordt opgeschort of geannuleerd, worden ook de incrementele kindbetalingen authorisaties opgeschort/geannuleerd.
Terugbetalingen
Om de bestelling volledig terug te betalen, moeten de eerste betaling EN alle kindertranches authorisaties afzonderlijk worden terugbetaald.
Net als bij standaardbetalingen kunt u incrementele authorisaties alleen terugbetalen wanneer deze zijn verrekend (settlestatus = 100). Indien een incrementele autorisatie niet is verrekend, kunt u de settlestatus om afwikkeling uit te stellen of te annuleren.
Aanvullende opmerkingen
- Facturerings- en leveringsgegevens kunnen verschillen tussen incrementele authorisaties en hun bovenliggende AUTH.
- Incrementeel authorisaties ondersteunt geen DCC.
- Protect Plus controles kunnen worden uitgevoerd op een incrementele autorisatie nadat deze is verwerkt. Verwerk handmatig een nieuw RISKDEC verzoek (met behulp van onze Webservices API) die de transactionreference van de incrementele AUTH reactie.