REFUND met Webservices API

  Laatst bijgewerkt: 

 

In het geval dat een klant defecte goederen retourneert of een betaalde dienst niet kan worden geleverd, kan het zijn dat je een verwerkte transactie geheel of gedeeltelijk moet terugbetalen. Op deze pagina wordt uitgelegd hoe je een restitutie kunt verwerken met Webservices API.

 

Procesoverzicht

  • Alle Visa terugbetalingen ingediend via nieuwe sitereferenties geregistreerd in ons systeem na 13 december 2023 worden automatisch online verwerkt.
  • Alle Visa terugbetalingen die zijn ingediend via sitereferenties geregistreerd in ons systeem vóór 13 december 2023 worden automatisch online verwerkt vanaf 21 maart 2024.
  • Neem contact op met ons Support Team voor meer informatie.

Offline terugbetalingen

  1. Merchant dient REFUND verzoek in.
  2. Trust Payments valideert de aanvraag en stuurt een "REFUND ACCEPTED" antwoord terug naar de verkoper.
  3. Trust Payments verwerkt de terugbetaling met de betrokken verwerver.
  4. De betreffende acquirer verwerkt de terugbetaling en de kaarthouder ontvangt het terugbetaalde bedrag.

Online terugbetalingen

  1. Merchant dient REFUND verzoek in.
  2. Trust Payments valideert het verzoek en vraagt autorisatie aan bij de kaartuitgever om de terugbetaling te verwerken en stuurt het antwoord van de kaartuitgever terug naar de verkoper.
  3. Als stap 2 een geautoriseerd antwoord terugstuurt, verwerkt Trust Payments de terugbetaling met de betreffende acquirer.
  4. De betreffende acquirer verwerkt de terugbetaling en de kaarthouder ontvangt het terugbetaalde bedrag.

Als een terugbetaling is geweigerd, wordt errorcode=70000 teruggestuurd in het antwoord. Als dit gebeurt, raden we aan om rechtstreeks contact op te nemen met de klant om de terugbetaling te regelen via een alternatieve betalingsmethode (bijv. bankoverschrijving).

 

Vereisten

  • Je kunt alleen betalingen terugbetalen met Status betaling "100", wat aangeeft dat het geld met succes naar je bankrekening is overgemaakt. Klik hier voor meer informatie over afwikkeling.
  • U kunt niet een hoger bedrag terugbetalen dan oorspronkelijk was verrekend.
  • Een verzoek om terugbetaling zal alleen succesvol zijn als de betalingsgegevens nog geldig zijn (het verzoek zal bijvoorbeeld niet succesvol zijn als de vervaldatum van de kaart is verstreken).

 

REFUND verzoek

Volledige terugbetaling

Het volgende voorbeeld REFUND request voert een volledige terugbetaling uit op de opgegeven AUTH:

Python PHP cURL Ruwe JSON Ruwe XML
#!/usr/bin/python
import securetrading

stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)

refund= {
"requesttypedescriptions": ["REFUND"],
"sitereference": "test_site12345",
"parenttransactionreference": "1-2-345678"
}

strequest = securetrading.Request()
strequest.update(refund)
stresponse = st.process(strequest) #stresponse contains the transaction response

Vervang <DOMAIN> met een ondersteund domein. Klik hier voor een volledige lijst.

 

Volledige terugbetaling met bijgewerkte vervaldatum

Het volgende voorbeeld REFUND verzoek voert een volledige terugbetaling uit op de opgegeven AUTH, met een nieuwe vervaldatum van de kaart. De nieuwe vervaldatum wordt ingediend in het expirydate veld.

Python PHP cURL Ruwe JSON Ruwe XML
#!/usr/bin/python
import securetrading

stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)

refund= {
"requesttypedescriptions": ["REFUND"],
"sitereference": "test_site12345",
"parenttransactionreference": "1-2-345678",
"expirydate": "05/2025"
}

strequest = securetrading.Request()
strequest.update(refund)
stresponse = st.process(strequest) #stresponse contains the transaction response

Vervang <DOMAIN> met een ondersteund domein. Klik hier voor een volledige lijst.

 

Gedeeltelijke terugbetaling

Het volgende voorbeeld REFUND request voert een gedeeltelijke terugbetaling uit op de opgegeven AUTH. U kunt het terug te betalen bedrag specificeren in het baseamount veld.

Python PHP cURL Ruwe JSON Ruwe XML
#!/usr/bin/python
import securetrading

stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)

refund= {
"requesttypedescriptions": ["REFUND"],
"sitereference": "test_site12345",
"parenttransactionreference": "1-2-345678",
"baseamount": "2001"
}

strequest = securetrading.Request()
strequest.update(refund)
stresponse = st.process(strequest) #stresponse contains the transaction response

Vervang <DOMAIN> met een ondersteund domein. Klik hier voor een volledige lijst.

 

Specificatie veld

  Bij het lezen van de volgende specificatie moet u ervoor zorgen dat u de relevante codevoorbeelden voor de door u gekozen taal raadpleegt.

  Veld Formaat Beschrijving
X1-EN.png parenttransactionreference
XPath: /operation/parenttransactionreference
Alfanumeriek
en koppeltekens (25)
Dit veld moet de Transactiereferentie bevatten van het AUTH verzoek dat u wilt terugbetalen.
X1-EN.png requesttypedescriptions
XPath: /@type
Alpha (20) De vereiste Verzoektype is "REFUND".
X1-EN.png sitereference
XPath: /operation/sitereference
Alfanumeriek
& underscore (50)

Een unieke referentie die uw account identificeert. Deze ontvangt u wanneer u zich voor het eerst bij ons aanmeldt.

De site referentie in het verzoek REFUND moet dezelfde zijn als de site referentie die is gebruikt voor de verwerking van het bovengeschikte AUTH verzoek.

X3-EN.png baseamount
XPath: /billing/amount
Numeriek (13)

Het restitutiebedrag in basiseenheden, zonder komma's of decimalen. B.v. €10,99 zou worden ingediend als "1099", maar ¥246 zou worden ingediend als "246".

Dit bedrag kan niet hoger zijn dan het uiteindelijke bedrag dat op uw bankrekening wordt gestort.

U kunt kiezen voor een gedeeltelijke terugbetaling door hier een lager bedrag op te geven.

Als dit veld niet aanwezig is, wordt het volledige bedrag van de transactie terugbetaald. (De maximale lengte van het bedrag kan variëren afhankelijk van uw acquiring bank - Neem contact op met uw bank voor meer informatie)

X3-EN.png chargedescription
XPath: /merchant/chargedescription
Alfanumeriek met inbegrip van
symbolen (25)

 

Aanbevolen lengte 25 tekens of minder (exacte lengte afhankelijk van de wervende bank). Niet-naleving van deze eis kan ertoe leiden dat de tekst in de transactie wordt ingekort.

Dit is een beschrijving van de betaling die op het bankafschrift van de klant verschijnt.

Dit wordt ondersteund voor handelaren met een Trust Payments acquiring account. Als u een andere acquiring bank gebruikt, dient u contact op te nemen met ons Support Team om te controleren of deze functie wordt ondersteund voordat u verder gaat.

De specificatie van dit veld is afhankelijk van uw acquiring bank. Neem voor meer informatie contact op met ons Support Team.

Geldige tekens:

  • Hoofdletters/kleine letters A-Z
  • Cijfers 0-9
  • Ruimtes
  • Interpunctie: + - _ . @ ( )
X3-EN.png expirydate
XPath: /billing/payment/expirydate
Datum MM/JJJJ Als u een restitutie wilt verwerken met een bijgewerkte vervaldatum, wordt de nieuwe waarde in dit veld ingevoerd.
X3-EN.png orderreference
XPath: /merchant/orderreference
Alfanumeriek met inbegrip van
symbolen (25)

 

Aanbevolen lengte 25 tekens of minder (exacte lengte afhankelijk van de wervende bank). Niet-naleving van deze eis kan ertoe leiden dat de tekst in de transactie wordt ingekort.

Uw unieke bestelreferentie die in het Trust Payments systeem kan worden opgeslagen.

Als dit niet wordt ingediend, wordt het geërfd van het bovengeschikte AUTH verzoek.

 

REFUND antwoord

Na het verwerken van een restitutie geeft Trust Payments het volgende antwoord terug:

  De specificatie van het antwoord REFUND is hetzelfde als het standaardantwoord AUTH , behalve de requesttypedescription veld waarde "REFUND" heeft.

  AUTH veldspecificatie      Info over het verwerken van reacties

 

Offline terugbetalingsreactie

Python PHP Ruwe JSON Ruwe XML
{
u 'requestreference': u 'Ak70u1ujh',
u 'version': u '1.00',
u 'responses': [{
u 'accounttypedescription': u 'ECOM',
u 'acquirerresponsecode': u '00',
u 'authcode': u 'TEST REFUND ACCEPTED',
u 'baseamount': u '2001',
u 'currencyiso3a': u 'GBP',
u 'dccenabled': u '0',
u 'errorcode': u '0',
u 'errormessage': u 'Ok',
u 'issuer': u 'SecureTrading Test Issuer1',
u 'issuercountryiso2a': u 'US',
u 'livestatus': u '0',
u 'maskedpan': u '520000######1005',
u 'merchantcountryiso2a': u 'GB',
u 'merchantname': u 'Test Merchant',
u 'merchantnumber': u '00000000',
u 'operatorname': u 'webservices@example.com',
u 'orderreference': u 'My_Order_123',
u 'parenttransactionreference': u '1-2-345678',
u 'paymenttypedescription': u 'MASTERCARD',
u 'requesttypedescription': u 'REFUND',
u 'securityresponseaddress': u '0',
u 'securityresponsepostcode': u '0',
u 'securityresponsesecuritycode': u '0',
u 'settleduedate': u '2016-12-07',
u 'settlestatus': u '0',
u 'tid': u '27882788',
u 'transactionreference': u '1-2-345679',
u 'transactionstartedtimestamp': u '2016-12-07 15:14:00'
}]
}

 

Online terugbetalingsreactie

  • Alle Visa terugbetalingen ingediend via nieuwe sitereferenties geregistreerd in ons systeem na 13 december 2023 worden automatisch online verwerkt.
  • Alle Visa terugbetalingen die zijn ingediend via sitereferenties geregistreerd in ons systeem vóór 13 december 2023 worden automatisch online verwerkt vanaf 21 maart 2024.
  • Neem contact op met ons Support Team voor meer informatie.
Python PHP Ruwe JSON Ruwe XML
{
u 'requestreference': u 'A0bxh87wt',
u 'version': u '1.00',
u 'responses': [{
u 'accounttypedescription': u 'MOTO',
u 'acquirerresponsecode': u '00',
u 'acquirerresponsemessage': u 'Approved or completed Successfully',
u 'authcode': u 'ABC123',
u 'baseamount': u '1050',
u 'chargedescription': u 'Test Merchant',
u 'cryptocurrencyindicator': u '0',
u 'currencyiso3a': u 'GBP',
u 'dccenabled': u '0',
u 'debtrepayment': u '0',
u 'errorcode': u '0',
u 'errormessage': u 'Ok',
u 'issuer': u 'Test Issuer',
u 'issuercountryiso2a': u 'ZZ',
u 'livestatus': u '1',
u 'maskedpan': u '411111######1111',
u 'merchantcategorycode': u '5999',
u 'merchantcity': u 'Test City',
u 'merchantcountryiso2a': u 'GB',
u 'merchantname': u 'Test Merchant',
u 'merchantnumber': u '00000000',
u 'merchantzipcode': u 'T45 6ST',
u 'operatorname': u 'webservices@example.com',
u 'orderreference': u 'MyOrder123',
u 'parenttransactionreference': u '1-2-345678',
u 'paymenttypedescription': u 'VISA',
u 'requesttypedescription': u 'REFUND',
u 'retrievalreferencenumber': u '333912345678',
u 'securityresponseaddress': u '0',
u 'securityresponsepostcode': u '0',
u 'securityresponsesecuritycode': u '0',
u 'settleduedate': u '2023-12-05',
u 'settlestatus': u '100',
u 'stan': u '123456',
u 'transactionreference': u '1-2-345679',
u 'transactionstartedtimestamp': u '2023-12-05 15:38:16'
}]
}

 

Was dit artikel nuttig?
0 van de 0 vonden dit nuttig