Op deze pagina wordt uitgelegd hoe u terugkerende betalingen verwerkt.
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.
Om terugkerende betalingen te kunnen verwerken, moet uw merchant ID in staat zijn om terugkerende of doorlopende overheidsbetalingen te verwerken. Bij twijfel raden wij u aan contact op te nemen met uw bank voor opheldering.
Procesoverzicht
- De klant voert zijn kaartgegevens in op je beveiligde website of geeft zijn kaartgegevens door via de telefoon.
- Wanneer kaartgegevens worden ingevoerd op je beveiligde website, moet je ervoor zorgen dat 3DS-verificatie wordt uitgevoerd.
- Wanneer de volgende betaling verschuldigd is, verwerkt je systeem handmatig een verzoek via onze Webservices API, die de eerder opgeslagen betalings-, facturerings- en leveringsgegevens overneemt en autorisatie oproept voor een nieuwe betaling.
- Voor verkopers met hoge volumes raden we ten zeerste aan om drie dagen voor het verwerken van een volgend kinderverzoek (of wanneer een kinderverzoek is geweigerd), je systeem handmatig een kaarsysteemupdate verzoek indient met behulp van onze Webservices API, om te controleren of de betalingsgegevens van de klant nog steeds up-to-date zijn. Klik hier voor meer informatie.
- Je systeem kan handmatig kaarsysteemupdate en kindverzoeken op gezette tijden (dagelijks, wekelijks, maandelijks, jaarlijks) indienen om nieuwe betalingen te verwerken. De klant wordt pas gedebiteerd nadat een nieuw kindverzoek is ingediend.
Voordelen van terugkerende betalingen
- Betalingsgegevens hoeven maar één keer door de klant te worden verstrekt, op het moment van aankoop.
- Verwerk herhaalde betalingen voor klanten zonder dat u hun kaartgegevens op uw eigen systeem hoeft op te slaan voor toekomstig gebruik. Betalingsgegevens worden veilig opgeslagen op onze servers.
- Een terugkerende betaling wordt alleen verwerkt als uw systeem een verzoek heeft ingediend. Dit biedt meer controle over wanneer betalingen worden verwerkt, omdat u uw eigen interval tussen elke betaling kunt definiëren.
Verzoek van ouder
Dit deel beschrijft het initiële verzoek dat uw systeem moet verwerken. U kunt de betalingsgegevens die in dit verzoek worden verstrekt overnemen in volgende terugkerende betalingen.
Configuratie van bovengeschikte verzoek
Vouw de relevante sectie hieronder uit om te leren hoe u het bovengeschikte verzoek kunt configureren met de interface van uw voorkeur.
Payment Pages is onze volledig gehoste kassa-oplossing. Als u niet bekend bent met onze oplossing Payment Pages , klik dan hier voor meer informatie en om te beginnen.
Om de THREEDQUERY dan ACCOUNTCHECK flow te ondersteunen, moeten Payment Pages klanten de Geavanceerd Bericht functie gebruiken. Klik hier voor meer informatie.
De THREEDQUERY dan AUTH stroom wordt uitgevoerd door het verwerken van een standaard, 3-D Secure geauthenticeerde transactie met Payment Pages, met extra velden in de POST, zoals hieronder beschreven.
<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>
Vervang <DOMAIN>
met een ondersteund domein. Klik hier voor een volledige lijst.
Specificatie veld
Veld | Formaat | Beschrijving | |
mainamount | Numeriek (14) |
Het met dit verzoek samenhangende bedrag in hoofdeenheden, met decimalen gescheiden door komma's/decimale punt. Bijv . €10,99 wordt ingediend als "10.99" en ¥246 wordt ingediend als "246". Dit bedrag wordt onmiddellijk gereserveerd op de bankrekening van de klant. Deze waarde wordt geërfd in alle ondergeschikt verzoeken die van dit bovengeschikte verzoek erven, tenzij het veld handmatig wordt overschreven. |
|
credentialsonfile | Numeriek (1) |
Visa en Mastercard hebben bepaald dat u de toestemming van de kaarthouder moet krijgen voordat u kaartgegevens voor toekomstig gebruik opslaat. Vervolgens moet u credentials die moeten worden opgeslagen voor later, op passende wijze identificeren door een Gevevens in Bestand (CoF) vlag toe te kennen om dit aan te geven. Daarom moet u altijd credentialsonfile met waarde "1" in het bovengeschikte verzoek.
Als u een nieuwe reeks terugkerende betalingen verwerkt met eerder opgeslagen referenties, moet u nog steeds het volgende indienen credentialsonfile = 1 in het bovengeschikte verzoek, om aan te geven dat de referenties zullen worden opgeslagen om toekomstige ondergeschikt betalingen in deze reeks te verwerken. |
|
currencyiso3a | Alpha (3) | De transactie Munt. Dit moet hetzelfde blijven in alle toekomstige ondergeschikt verzoeken die van dit ouderverzoek erven. | |
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. | |
sitesecurity |
Site beveiliging hash |
Gebruikt om de beveiligingshash van de aanvraagsite in de POST in te dienen. | |
sitesecuritytimestamp |
Datum JJJJ-MM-DD hh:mm:ss |
Zo nauwkeurig mogelijk het tijdstempel dat aangeeft wanneer de betalingssessie van de klant is begonnen. De klant heeft vanaf het opgegeven tijdstip 3 uur de tijd om de betaling te voltooien.
Extra overwegingen:
|
|
stprofile |
Alfanumeriek (20)
|
Wordt gebruikt om de styling te specificeren die wordt gebruikt om de Payment Pages weer te geven. Wanneer het standaard uiterlijk wordt gebruikt, wordt dit ingesteld op "default". Klik hier voor meer informatie. |
|
subscriptionnumber | Numeriek (5) |
Vul "1" in voor het eerste verzoek in de terugkerende reeks.
Bij elk volgend ondergeschikt verzoek moet het ingediende nummer worden verhoogd met 1. Bijvoorbeeld het tweede verzoek is "2", het derde "3", enz. |
|
subscriptiontype | Alpha (11) |
Dit is het type abonnement: "RECURRING" is voor wanneer de klant een terugkerende betaling doet voor telkens een nieuw product/dienst. "INSTALLMENT" is voor wanneer een klant een enkele bestelling koopt in verschillende termijnen. Termijnen worden ondersteund voor winkeliers met een Trust Payments acquiring account. 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. Let op: Als het abonnementstype "INSTALLMENT" is en u betalingen op het Amerikaanse platform verwerkt, hebben bepaalde acquiring banks ook het veld subscriptionfinalnumber is ingediend. Neem contact op met ons ondersteuningsteam voor meer informatie. |
|
subscriptionfinalnumber | Numeriek (5) |
Hiermee wordt het aantal te verwerken betalingen in de loop van het abonnement ingesteld. Let op: Dit veld is vereist voor bepaalde wervende banken op het Amerikaanse platform wanneer de subscriptiontype is "INSTALLMENT" (anders is het veld facultatief). Neem contact op met ons ondersteuningsteam voor meer informatie. |
Antwoord
U moet ervoor zorgen dat uw systeem de transactionreference veld dat in de browserredirect aan het einde van de kassasessie wordt teruggestuurd (indien geconfigureerd), en/of de URL-kennisgeving (indien geconfigureerd), omdat hiernaar moet worden verwezen in het ondergeschikt verzoek dat later wordt ingediend.
Onze JavaScript Library biedt middelen om u te helpen snel uw eigen gestroomlijnde kassaoplossing op het web te bouwen. Als u niet bekend bent met onze JavaScript Library oplossing, klik dan hier voor meer informatie en om aan de slag te gaan.
- Zowel de [“THREEDQUERY”,”AUTH”] en [“THREEDQUERY”,”ACCOUNTCHECK”] bovengeschikte verzoeken volgen een soortgelijke specificatie als die van een standaardbetaling die via onze JavaScript Library wordt verwerkt, maar er gelden andere vereisten wanneer ze worden gebruikt als onderdeel van een oplossing voor terugkerende betalingen.
- Deze wijzigingen worden aangebracht binnen de payload van het JWT.
- Zie het voorbeeld en de veldspecificatie hieronder voor meer informatie.
{
"payload":{
"accounttypedescription":"ECOM",
"baseamount":"1050",
"credentialsonfile":"1",
"currencyiso3a":"GBP",
"requesttypedescriptions":["THREEDQUERY","AUTH"]
"sitereference":"test_site12345",
"subscriptionnumber":"1",
"subscriptiontype":"RECURRING"
},
"iat":1559033849,
"iss":"jwt.user"
}
Specificatie veld
Veld | Formaat | Beschrijving | |
accounttypedescription | Alpha (20) |
Geef "ECOM" op om een e-commercetransactie aan te geven. We raden u aan contact op te nemen met ons ondersteuningsteam voor advies over welke accounttypewaarden worden ondersteund op uw site referentie. |
|
baseamount | Numeriek (13) |
Het bedrag voor dit verzoek in basiseenheden, zonder komma's of decimalen. Bv. €10,99 wordt ingediend als "1099" maar 246¥ wordtingediend als "246".
Deze waarde wordt geërfd in alle ondergeschikt verzoeken die van dit bovengeschikte verzoek erven, tenzij het veld handmatig wordt overschreven. |
|
credentialsonfile | Numeriek (1) |
Visa en Mastercard hebben bepaald dat u de toestemming van de kaarthouder moet krijgen voordat u kaartgegevens voor toekomstig gebruik opslaat. Vervolgens moet u credentials die moeten worden opgeslagen voor later, op passende wijze identificeren door een Gevevens in Bestand (CoF) vlag toe te kennen om dit aan te geven. Daarom moet u altijd credentialsonfile met waarde "1" in het bovengeschikte verzoek.
Als u een nieuwe reeks terugkerende betalingen verwerkt met eerder opgeslagen referenties, moet u nog steeds het volgende indienen credentialsonfile = 1 in het bovengeschikte verzoek, om aan te geven dat de referenties zullen worden opgeslagen om toekomstige ondergeschikt betalingen in deze reeks te verwerken. De hier ingediende waarde wordt teruggestuurd in het antwoord JWT. |
|
currencyiso3a | Alpha (3) | De transactie Munt. Dit moet hetzelfde blijven in alle toekomstige ondergeschikt verzoeken die van dit ouderverzoek erven. | |
requesttypedescriptions | Lijst |
De te verwerken verzoektypes. Voor de bovengeschikte verzoek moet dit zijn [“THREEDQUERY”,”AUTH”] of [“THREEDQUERY”,”ACCOUNTCHECK”] |
|
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. | |
subscriptionnumber | Numeriek (5) |
Voor de bovengeschikte verzoek [“THREEDQUERY”,”AUTH”] of [“THREEDQUERY”,”ACCOUNTCHECK”] verzoek: Dien "1" in.
Bij elk volgend ondergeschikt verzoek moet het ingediende nummer worden verhoogd met 1. Bijvoorbeeld het tweede verzoek is "2", het derde "3", enz. |
|
subscriptiontype | Alpha (11) |
Dit is het type abonnement: "RECURRING" is voor wanneer de klant een terugkerende betaling doet voor telkens een nieuw product/dienst. "INSTALLMENT" is voor wanneer een klant een enkele bestelling koopt in verschillende termijnen. Termijnen worden ondersteund voor winkeliers met een Trust Payments acquiring account. 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. Let op: Als het abonnementstype "INSTALLMENT" is en u betalingen op het Amerikaanse platform verwerkt, hebben bepaalde acquiring banks ook het veld subscriptionfinalnumber is ingediend. Neem contact op met ons ondersteuningsteam voor meer informatie. |
|
subscriptionfinalnumber | Numeriek (5) |
Hiermee wordt het aantal te verwerken betalingen in de loop van het abonnement ingesteld. Let op: Dit veld is vereist voor bepaalde wervende banken op het Amerikaanse platform wanneer de subscriptiontype is "INSTALLMENT" (anders is het veld facultatief). Neem contact op met ons ondersteuningsteam voor meer informatie. |
Antwoord
Het teruggezonden antwoord JWT volgt dezelfde specificatie als bij de verwerking van een standaardbetaling. Van bijzonder belang is dat uw systeem de transactionreference teruggestuurd, omdat hiernaar moet worden verwezen in het ondergeschikt verzoek dat later wordt ingediend. Klik hier voor meer informatie over het decoderen van het JWT-antwoord.
Onze Mobile SDK biedt hulpmiddelen waarmee u snel een gestroomlijnde kassa-oplossing kunt inbouwen in uw mobiele app. Als u niet bekend bent met onze Mobile SDK-oplossing, klik dan hier voor meer informatie en om aan de slag te gaan.
- Zowel de [“THREEDQUERY”,”AUTH”] en [“THREEDQUERY”,”ACCOUNTCHECK”] ouderverzoeken volgen een soortgelijke specificatie als die van een standaardbetaling die wordt verwerkt met onze Mobile SDK, maar zijn onderworpen aan andere vereisten wanneer ze worden gebruikt als onderdeel van een oplossing voor terugkerende betalingen.
- Deze wijzigingen worden aangebracht binnen de payload van het JWT.
- Zie het voorbeeld en de veldspecificatie hieronder voor meer informatie.
{
"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"
}
Specificatie veld
Veld | Formaat | Beschrijving | |
accounttypedescription | Alpha (20) |
Geef "ECOM" op om een e-commercetransactie aan te geven. We raden u aan contact op te nemen met ons ondersteuningsteam voor advies over welke accounttypewaarden worden ondersteund op uw site referentie. |
|
baseamount | Numeriek (13) |
Het bedrag voor dit verzoek in basiseenheden, zonder komma's of decimalen. Bv. €10,99 wordt ingediend als "1099" maar 246¥ wordtingediend als "246".
Deze waarde wordt geërfd in alle ondergeschikt verzoeken die van dit bovengeschikte verzoek erven, tenzij het veld handmatig wordt overschreven. |
|
credentialsonfile | Numeriek (1) |
Visa en Mastercard hebben bepaald dat u de toestemming van de kaarthouder moet krijgen voordat u kaartgegevens voor toekomstig gebruik opslaat. Vervolgens moet u credentials die moeten worden opgeslagen voor later, op passende wijze identificeren door een Gevevens in Bestand (CoF) vlag toe te kennen om dit aan te geven. Daarom moet u altijd redentialsonfile met waarde "1" in het bovengeschikte verzoek.
Als u een nieuwe reeks terugkerende betalingen verwerkt met eerder opgeslagen referenties, moet u nog steeds het volgende indienen credentialsonfile = 1 in het bovengeschikte verzoek, om aan te geven dat de referenties zullen worden opgeslagen om toekomstige ondergeschikt betalingen in deze reeks te verwerken. De hier ingediende waarde wordt teruggestuurd in het antwoord JWT. |
|
currencyiso3a | Alpha (3) | De transactie Munt. Dit moet hetzelfde blijven in alle toekomstige ondergeschikt verzoeken die van dit ouderverzoek erven. | |
requesttypedescriptions | Lijst |
De te verwerken verzoektypes. Voor de bovengeschikte verzoek moet dit zijn [“THREEDQUERY”,”AUTH”] of [“THREEDQUERY”,”ACCOUNTCHECK”] |
|
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. | |
subscriptionnumber | Numeriek (5) |
Voor de bovengeschikte verzoek [“THREEDQUERY”,”AUTH”] of [“THREEDQUERY”,”ACCOUNTCHECK”] verzoek: Dien "1" in.
Bij elk volgend ondergeschikt verzoek moet het ingediende nummer worden verhoogd met 1. Bijvoorbeeld het tweede verzoek is "2", het derde "3", enz. |
|
subscriptiontype | Alpha (11) |
Dit is het type abonnement: "RECURRING" is voor wanneer de klant een terugkerende betaling doet voor telkens een nieuw product/dienst. "INSTALLMENT" is voor wanneer een klant een enkele bestelling koopt in verschillende termijnen. Termijnen worden ondersteund voor winkeliers met een Trust Payments acquiring account. 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. Let op: Als het abonnementstype "INSTALLMENT" is en u betalingen op het Amerikaanse platform verwerkt, hebben bepaalde acquiring banks ook het veld subscriptionfinalnumber is ingediend. Neem contact op met ons ondersteuningsteam voor meer informatie. |
|
termurl | URL (1024) |
Deze URL wordt gebruikt om de kaartuitgever te instrueren waarheen de browser van de klant moet worden gestuurd nadat hij is geverifieerd op de ACS van de kaartuitgever. U moet de volgende URL in dit veld invoeren wanneer u 3-D Secure uitvoert: https://payments.securetrading.net/process/payments/mobilesdklistener |
|
subscriptionfinalnumber | Numeriek (5) |
Hiermee wordt het aantal te verwerken betalingen in de loop van het abonnement ingesteld. Let op: Dit veld is vereist voor bepaalde wervende banken op het Amerikaanse platform wanneer de subscriptiontype is "INSTALLMENT" (anders is het veld facultatief). Neem contact op met ons ondersteuningsteam voor meer informatie. |
Antwoord
Het teruggezonden antwoord JWT volgt dezelfde specificatie als bij de verwerking van een standaardbetaling. Van bijzonder belang is dat uw systeem de transactionreference teruggestuurd, omdat hiernaar moet worden verwezen in het ondergeschikt verzoek dat later wordt ingediend. Klik hier voor meer informatie over het decoderen van het JWT-antwoord.
Onze Webservices API is een krachtige server-naar-server oplossing voor betalingsverwerking die meerdere berichttypes ondersteunt. Als u niet bekend bent met onze Webservices API, klik dan hier voor meer informatie en om aan de slag te gaan.
- Het onderstaande voorbeeld is een AUTH verzoek dat kan worden gebruikt om de eerste betaling in de terugkerende reeks te verwerken.
- De accounttypedescription is "ECOM" om aan te geven dat de transactie is uitgevoerd via uw website.
- Als u een overeenkomst voor terugkerende betalingen wilt starten zonder een betaling te verwerken, kunt u de requesttypedescriptions waarde wijzigen in "ACCOUNTCHECK".
#!/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.1.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.1.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.1.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.1.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.1.0</version>
<directorytransactionreference>f00e1111-0011-00a6-ab00-a00000a00000</directorytransactionreference>
</threedsecure>
</request>
</requestblock>
Veld | Formaat | Beschrijving | |
accounttypedescription XPath: /operation/accounttypedescription |
Alpha (20) |
Geef "ECOM" op om een e-commercetransactie aan te geven. |
|
baseamount XPath: /billing/amount |
Numeriek (13) |
Het bedrag voor dit verzoek in basiseenheden, zonder komma's of decimalen. Bv. €10,99 wordt ingediend als "1099" maar 246¥ wordtingediend als "246". Deze waarde zal geërfd worden in alle kindverzoeken die erven van dit ouderverzoek, tenzij het veld handmatig overschreven wordt. Als je een ACCOUNTCHECK uitvoert, moet je het maximumbedrag dat verwerkt moet worden opnemen in elke volgende kindtransactie. |
|
credentialsonfile XPath: /operation/credentialsonfile |
Numeriek (1) |
Visa en Mastercard hebben bepaald dat u de toestemming van de kaarthouder moet krijgen voordat u kaartgegevens voor toekomstig gebruik opslaat. Vervolgens moet u credentials die moeten worden opgeslagen voor later, op passende wijze identificeren door een Gevevens in Bestand (CoF) vlag toe te kennen om dit aan te geven. Daarom moet u altijd credentialsonfile met waarde "1" in het bovengeschikte verzoek.
Als u een nieuwe reeks terugkerende betalingen verwerkt met eerder opgeslagen referenties, moet u nog steeds het volgende indienen credentialsonfile = 1 in het bovengeschikte verzoek, om aan te geven dat de referenties zullen worden opgeslagen om toekomstige ondergeschikt betalingen in deze reeks te verwerken. De hier ingediende waarde wordt teruggestuurd in het antwoord JWT. |
|
currencyiso3a XPath: /billing/amount/@currencycode |
Alpha (3) | De transactie Munt. Dit moet hetzelfde blijven in alle toekomstige ondergeschikt verzoeken die van dit ouderverzoek erven. | |
ingeschreven XPath: /threedsecure/enrolled |
Char (1) | Vul "Y" in om aan te geven dat de kaart geregistreerd is. Zie hieronder voor informatie over het omgaan met niet-ingeschreven kaarten. | |
expirydate XPath: /factuur/betaling/expirydate |
Datum MM/JJJJ | De op de kaart gedrukte vervaldatum. | |
pan XPath: /factuur/betaling/pan |
Numeriek (12-19) | Dit is het lange nummer dat op de voorzijde van de kaart van de klant is gedrukt. | |
requesttypedescriptions XPath: /@type |
Lijst |
De verzoektypes die moeten worden verwerkt. Voor de ouder moet dit ["AUTH " ] of ["ACCOUNTCHECK " ] zijn. |
|
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. | |
status XPath: /threedsecure/status |
Char (1) |
Geeft aan of de klant al dan niet op de ACS van de kaartuitgever werd geauthenticeerd.
Succesvolle authenticatie met status "Y" is vereist. |
|
subscriptionnumber XPath: /billing/subscription/number |
Numeriek (5) |
Voor de bovengeschikte verzoek verzoek: Dien "1" in.
Bij elk volgend ondergeschikt verzoek moet het ingediende nummer worden verhoogd met 1. Bijvoorbeeld het tweede verzoek is "2", het derde "3", enz. |
|
subscriptiontype XPath: /billing/subscription/@type |
Alpha (11) |
Dit is het type abonnement: "RECURRING" is voor wanneer de klant een terugkerende betaling doet voor telkens een nieuw product/dienst. "INSTALLMENT" is voor wanneer een klant een enkele bestelling koopt in verschillende termijnen. Termijnen worden ondersteund voor winkeliers met een Trust Payments acquiring account. 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. Let op: Als het abonnementstype "INSTALLMENT" is en u betalingen op het Amerikaanse platform verwerkt, hebben bepaalde acquiring banks ook het veld subscriptionfinalnumber is ingediend. Neem contact op met ons ondersteuningsteam voor meer informatie. |
|
billingfirstname XPath: /factuur/naam/eerste |
Alfanumeriek, inclusief symbolen (127) |
De klant Voornaam facturatie. Vereist voor handelaren in kansspelen. |
|
billinglastname XPath: /factuur/naam/laatst |
Alfanumeriek, inclusief symbolen (127) |
De klant Achternaam facturatie. Vereist voor handelaren in kansspelen. |
|
cavv XPath: /threedsecure/cavv |
Alfanumeriek (56) |
De unieke Cardholder Authentication Verification Value (CAVV) geassocieerd met de transactie. Dien deze waarde altijd in als hij beschikbaar is. |
|
eci XPath: /threedsecure/eci |
Alfanumeriek (2) |
Het beveiligingsniveau ECI (E-Commerce Indicator) van de transactie. Dien deze waarde altijd in als hij beschikbaar is. |
|
threedversion XPath: /threedsecure/versie |
Numeriek (6) |
Versie van 3-D Secure gebruikt om de betaling te authenticeren. (bijv. "2.1.0") Dien deze waarde altijd in als hij beschikbaar is. |
|
threeddirectorytransactionreference XPath: /threedsecure/directorytransactionreference |
Alfanumeriek (48) |
Unieke DSTransactionId teruggestuurd door uw MPI provider. Dien deze waarde altijd in als hij beschikbaar is. |
|
subscriptionfinalnumber XPath: /billing/subscription/finalnumber |
Numeriek (5) |
Hiermee wordt het aantal te verwerken betalingen in de loop van het abonnement ingesteld. Let op: Dit veld is vereist voor bepaalde wervende banken op het Amerikaanse platform wanneer de subscriptiontype is "INSTALLMENT" (anders is het veld facultatief). Neem contact op met ons ondersteuningsteam voor meer informatie. |
|
securitycode XPath: /factuur/betaling/securitycode |
Numeriek (3-4) |
Dit is de 3-cijferige beveiligingscode die op de achterkant van de kaart staat. (Voor AMEX kaarten is dit een 4-cijferige code op de voorkant van de kaart) Dit veld is niet strikt vereist door Trust Payments, maar het wordt sterk aanbevolen voor de verwerking van de veiligheidscodecontroles. Bovendien kunnen sommige banken de betaling weigeren als de beveiligingscode niet aanwezig is. |
Antwoord
Het geretourneerde antwoord volgt dezelfde specificatie als een standaard AUTH antwoord.
Onze Webservices API is een krachtige server-naar-server oplossing voor betalingsverwerking die meerdere berichttypes ondersteunt. Als u niet bekend bent met onze Webservices API, klik dan hier voor meer informatie en om aan de slag te gaan.
- Het onderstaande voorbeeld is een AUTH verzoek dat kan worden gebruikt om de eerste betaling in de terugkerende reeks te verwerken.
- De accounttypedescription is "MOTO" om aan te geven dat de bestelling via de telefoon is geplaatst.
- Als u een overeenkomst voor terugkerende betalingen wilt starten zonder een betaling te verwerken, kunt u de requesttypedescriptions waarde wijzigen in "ACCOUNTCHECK".
#!/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>
Veld | Formaat | Beschrijving | |
accounttypedescription XPath: /operation/accounttypedescription |
Alpha (20) |
Voer "MOTO" in om een postorder-telefoontransactie aan te geven. (Merk op dat 3-D Secure authenticatie niet wordt ondersteund voor MOTO transacties) |
|
baseamount XPath: /billing/amount |
Numeriek (13) |
Het bedrag voor dit verzoek in basiseenheden, zonder komma's of decimalen. Bv. €10,99 wordt ingediend als "1099" maar 246¥ wordtingediend als "246". Deze waarde zal geërfd worden in alle kindverzoeken die erven van dit ouderverzoek, tenzij het veld handmatig overschreven wordt. Als je een ACCOUNTCHECK uitvoert, moet je het maximumbedrag dat verwerkt moet worden opnemen in elke volgende kindtransactie. |
|
credentialsonfile XPath: /operation/credentialsonfile |
Numeriek (1) |
Visa en Mastercard hebben bepaald dat u de toestemming van de kaarthouder moet krijgen voordat u kaartgegevens voor toekomstig gebruik opslaat. Vervolgens moet u credentials die moeten worden opgeslagen voor later, op passende wijze identificeren door een Gevevens in Bestand (CoF) vlag toe te kennen om dit aan te geven. Daarom moet u altijd credentialsonfile met waarde "1" in het bovengeschikte verzoek.
Als u een nieuwe reeks terugkerende betalingen verwerkt met eerder opgeslagen referenties, moet u nog steeds het volgende indienen credentialsonfile = 1 in het bovengeschikte verzoek, om aan te geven dat de referenties zullen worden opgeslagen om toekomstige ondergeschikt betalingen in deze reeks te verwerken. De hier ingediende waarde wordt teruggestuurd in het antwoord JWT. |
|
currencyiso3a XPath: /billing/amount/@currencycode |
Alpha (3) | De transactie Munt. Dit moet hetzelfde blijven in alle toekomstige ondergeschikt verzoeken die van dit ouderverzoek erven. | |
expirydate XPath: /factuur/betaling/expirydate |
Datum MM/JJJJ | De op de kaart gedrukte vervaldatum. | |
pan XPath: /factuur/betaling/pan |
Numeriek (12-19) | Dit is het lange nummer dat op de voorzijde van de kaart van de klant is gedrukt. | |
requesttypedescriptions XPath: /@type |
Lijst |
De verzoektypes die moeten worden verwerkt. Voor de ouder moet dit ["AUTH " ] of ["ACCOUNTCHECK " ] zijn. |
|
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. | |
subscriptionnumber XPath: /billing/subscription/number |
Numeriek (5) |
Voor het ouderverzoek: Dien "1" in.
Bij elk volgend ondergeschikt verzoek moet het ingediende nummer worden verhoogd met 1. Bijvoorbeeld het tweede verzoek is "2", het derde "3", enz. |
|
subscriptiontype XPath: /billing/subscription/@type |
Alpha (11) |
Dit is het type abonnement: "RECURRING" is voor wanneer de klant een terugkerende betaling doet voor telkens een nieuw product/dienst. "INSTALLMENT" is voor wanneer een klant een enkele bestelling koopt in verschillende termijnen. Termijnen worden ondersteund voor winkeliers met een Trust Payments acquiring account. 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. Let op: Als het abonnementstype "INSTALLMENT" is en u betalingen op het Amerikaanse platform verwerkt, hebben bepaalde acquiring banks ook het veld subscriptionfinalnumber is ingediend. Neem contact op met ons ondersteuningsteam voor meer informatie. |
|
billingfirstname XPath: /factuur/naam/eerste |
Alfanumeriek, inclusief symbolen (127) |
De klant Voornaam facturatie. Vereist voor handelaren in kansspelen. |
|
billinglastname XPath: /factuur/naam/laatst |
Alfanumeriek, inclusief symbolen (127) |
De klant Achternaam facturatie. Vereist voor handelaren in kansspelen. |
|
subscriptionfinalnumber XPath: /billing/subscription/finalnumber |
Numeriek (5) |
Hiermee wordt het aantal te verwerken betalingen in de loop van het abonnement ingesteld. Let op: Dit veld is vereist voor bepaalde wervende banken op het Amerikaanse platform wanneer de subscriptiontype is "INSTALLMENT" (anders is het veld facultatief). Neem contact op met ons ondersteuningsteam voor meer informatie. |
|
securitycode XPath: /factuur/betaling/securitycode |
Numeriek (3-4) |
Dit is de 3-cijferige beveiligingscode die op de achterkant van de kaart staat. (Voor AMEX kaarten is dit een 4-cijferige code op de voorkant van de kaart) Dit veld is niet strikt vereist door Trust Payments, maar het wordt sterk aanbevolen voor de verwerking van de veiligheidscodecontroles. Bovendien kunnen sommige banken de betaling weigeren als de beveiligingscode niet aanwezig is. |
Antwoord
Het geretourneerde antwoord volgt dezelfde specificatie als een standaard AUTH antwoord.
Uw vooruitgang
Na het volgen van de bovenstaande instructies zou u nu klaar moeten zijn om handmatig herhaalde betalingen te verwerken met behulp van onze Webservices API. U kunt de transactionreference teruggestuurd in het antwoord en neem dit op in volgende kindverzoeken.
Verzoek kind
Dit deel beschrijft de volgende terugkerende betaling. Dit deel gaat ervan uit dat het eerder beschreven bovengeschikte verzoek al is verwerkt.
Voordat u een ondergeschikt verzoek verwerkt, moet u ervoor zorgen dat het bovengeschikte verzoek met succes is afgerond. Onderzoek eventuele problemen en neem indien nodig contact op met ons Support Team.
Mastercard heeft bepaald dat in gevallen waarin een terugkerende betaling is geweigerd door de uitgever van de kaart, uw systeem niet het verzoek de volgende 31 dagen niet meer dan één keer per dag opnieuw mag proberen. Na het verstrijken van deze periode mag uw systeem geen verzoeken meer versturen voor de betreffende klant.
Wanneer een parenttransactionreference van een succesvolle ouder "AUTH" of "ACCOUNTCHECK" is opgenomen in een verzoek van een kind, zal Trust Payments de vereiste systeemreferentiegegevens verstrekken aan Visa en Mastercard.
Neem contact op met ons ondersteuningsteam als je systeemreferentiegegevens van een andere verwerker moet opnemen of kindertransacties inclusief een PAN en Expiry moet verwerken. Klik hier voor meer informatie.
Overzicht kinderverzoeken
- Uw systeem verzoekt dat een nieuwe betaling wordt verwerkt, door handmatig een AUTH verzoek in te dienen via onze Webservices API. transactionreference van de ouder AUTH of ACCOUNTCHECK in het parenttransactionreference veld.
Voor degenen die onze JavaScript Library of Mobile SDK gebruiken om het bovengeschikte verzoek te verwerken, zal het daaropvolgende antwoord JWT ook de transactionreference van de THREEDQUERY. U moet dit niet in het ondergeschikt verzoek indienen. In plaats daarvan moet u alleen de transactionreference waarde gekoppeld aan de bovengeschikte AUTH of ACCOUNTCHECK.
- Wij nemen contact op met de wervende bank om autorisatie te vragen voor de betaling, met gebruikmaking van de facturerings- en leveringsgegevens die zijn overgenomen van de bovengeschikte AUTH/ACCOUNTCHECK. (Uw systeem hoeft deze gegevens niet opnieuw in te dienen).
- Uw systeem ontvangt een antwoord op AUTH , met de resultaten van het verzoek.
Verzoek
Het voor het ondergeschikt ingediende verzoektype moet "AUTH" zijn. (ingediend in de requesttypedescriptions veld). Het AUTH ondergeschikt verzoek volgt een soortgelijke specificatie als een standaard AUTH verzoek, maar is onderworpen aan andere vereisten wanneer het wordt gebruikt als onderdeel van een oplossing voor terugkerende betalingen. Zie het voorbeeld en de veldspecificatie hieronder voor meer informatie.
#!/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>
Vervang <DOMAIN>
met een ondersteund domein. Klik hier voor een volledige lijst.
Het bovenstaande voorbeeld gaat ervan uit dat het vorige verzoek het eerste was dat werd verwerkt, dus de subscriptionnumber krijgt de waarde "2". Latere ondergeschikt verzoeken worden verwerkt met dezelfde structuur, waarbij dit nummer telkens wordt verhoogd (d.w.z. de volgende betaling in de reeks zou "3" zijn, dan "4" enz.)
Veld | Formaat | Beschrijving | |
accounttypedescription XPath: /operation/accounttypedescription |
Alpha (20) | Dit moet worden ingesteld op "RECUR". | |
baseamount XPath: /billing/amount |
Numeriek (13) |
Het bedrag van de ondergeschikt transactie in basiseenheden, zonder komma's of decimalen. Bv. €10,99 wordt ingediend als "1099", maar 246¥ als "246". Als u dit veld niet invult, wordt het verwerkte bedrag overgenomen van het voorgaande bovengeschikte verzoek. |
|
credentialsonfile XPath: /operation/credentialsonfile |
Numeriek (1) |
Dit is vereist voor Visa en Mastercard transacties waarbij de handelaar gebruik maakt van Gevevens in Bestand (CoF). Vul in dit veld "2" in om aan te geven dat de betaling gebruik maakt van eerder opgeslagen referenties. |
|
currencyiso3a XPath: /billing/amount/@currencycode |
Alpha (3) |
Indien ingediend, moet dit dezelfde Munt zijn die in het bovengeschikte verzoek is gebruikt.
Indien niet ingediend, wordt deze waarde geërfd van het bovengeschikte verzoek. |
|
parenttransactionreference XPath: /operation/parenttransactionreference |
Alfanumeriek en koppeltekens (25) |
U moet de transactionreference waarde van de AUTH of ACCOUNTCHECK die in het antwoord JWT van het initiële bovengeschikte verzoek is teruggestuurd.
U mag de transactionreference waarde gekoppeld aan de THREEDQUERY. |
|
requesttypedescriptions XPath: /@type |
Alpha (20) | U moet "AUTH" invoeren, zoals in het verzoekvoorbeeld. | |
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. | |
subscriptionnumber XPath: /billing/subscription/number |
Numeriek (5) |
Dit wordt gebruikt om de positie van een betaling binnen een reeks terugkerende transacties te identificeren. Voor elke volgende betaling moet het ingediende nummer met 1 worden verhoogd (zonder hiaten). bijv. 2e transactie is "2", 3e is "3", dan "4" enz. (U moet dit nummer alleen verhogen als de vorige terugkerende betalingsaanvraag succesvol was) Wij stellen geen beperkingen aan het aantal betalingen met een kaart. |
|
subscriptiontype XPath: /billing/subscription/@type |
Alpha (11) |
Dit is het type abonnement: "RECURRING" is voor wanneer de klant een terugkerende betaling doet voor telkens een nieuw product/dienst. "INSTALLMENT" is voor wanneer een klant een enkele bestelling koopt in verschillende termijnen. Termijnen worden ondersteund voor winkeliers met een Trust Payments acquiring account. 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. |
Antwoord
Het teruggestuurde antwoord volgt dezelfde specificatie als een standaard AUTH antwoord, met uitzondering van het extra veld acquireradvicecode die kunnen worden teruggegeven (zie de veldspecificatie hieronder voor meer informatie).
Specificatie veld
Veld | Formaat | Beschrijving | |
accounttypedescription XPath: /operation/accounttypedescription |
Alpha (20) | Rekeningtype "RECUR" wordt teruggestuurd. | |
acquireradvicecode XPath: /acquireradvicecode |
Numeriek (1) |
Een numerieke waarde die door de wervende bank wordt teruggestuurd en die wordt gebruikt om aan te geven of verdere betalingen kunnen worden verwerkt. Een volledige toewijzing van deze waarden vindt u in de rubriek "Aanvullende opmerkingen" onderaan deze pagina. Alleen teruggestuurd indien ondersteund door uw wervende bank. |
|
baseamount XPath: /billing/amount |
Numeriek (13) |
Het bedrag van de ondergeschikt transactie in basiseenheden, zonder komma's of decimalen. Bv. €10,99 wordt ingediend als "1099", maar 246¥ als "246". Wij raden u aan te controleren of dit bedrag overeenkomt met de waarde die u verwacht. Het hier teruggestuurde bedrag is het bedrag dat de klant bij de ondergeschikt transactie zal moeten betalen. |
|
credentialsonfile XPath: /operation/credentialsonfile |
Numeriek (1) | Als de credentialsonfile veld is ingediend in het verzoek en het wordt ondersteund door de acquirer die de transactie verwerkt, wordt het teruggestuurd in het antwoord. | |
currencyiso3a XPath: /billing/amount/@currencycode |
Alpha (3) |
De Munt van de transactie. Klik hier voor een volledige lijst van beschikbare munteenheden. |
|
parenttransactionreference XPath: /operation/parenttransactionreference |
Alfanumeriek en koppeltekens (25) |
De Transactiereferentie van de oudertransactie. | |
requesttypedescription XPath: /@type |
Alpha (20) | Verzoektype "AUTH" wordt teruggestuurd. |
Overzicht
Als u de bovenstaande instructies volgt, zou uw systeem nu handmatig terugkerende betalingen moeten kunnen verwerken via onze Webservices API, zonder dat u de facturerings- of betalingsgegevens van de klant opnieuw hoeft in te voeren. Zoals altijd raden wij u aan uw oplossing grondig te testen om er zeker van te zijn dat terugkerende betalingen worden verwerkt zoals verwacht, voordat u live betalingen uitvoert op uw productiesysteem. Lees verder voor aanvullende informatie die u wellicht nuttig vindt bij het ontwikkelen van een oplossing voor terugkerende betalingen.
Aanvullende opmerkingen
Hieronder vindt u enkele aanvullende opmerkingen waarmee u rekening moet houden bij het verwerken van terugkerende betalingen.
Over de adviescode aankoper
De adviescode aankoper is een numerieke waarde die wordt geretourneerd als deze wordt ondersteund door uw wervende bank en die aangeeft of en wanneer verdere betalingen kunnen worden verwerkt.
kaarsysteemupdate
Voor verkopers met hoge volumes raden we ten zeerste aan dat je systeem drie dagen voor het verwerken van een volgend kinderverzoek (of wanneer een kinderverzoek is geweigerd) handmatig een kaarsysteemupdate verzoek indient met behulp van onze Webservices API, om te controleren of de betalingsgegevens van de klant nog steeds up-to-date zijn.
Verwante artikelen
Abonnementsmodule
Dien een eenmalige aanvraag in en we verwerken automatisch terugkerende betalingen op regelmatige tijdstippen.
Door de handelaar geïnitieerde transacties (MIT)
Dien één verzoek in om een transactie te verwerken met eerder opgeslagen kaartgegevens.