REFUND mit Webservices API

  Zuletzt aktualisiert: 

Für den Fall, dass ein Kunde fehlerhafte Waren zurückgibt oder eine bezahlte Dienstleistung nicht erbracht werden kann, kann es erforderlich sein, dass Sie eine verarbeitete Transaktion ganz oder teilweise zurückerstatten. Auf dieser Seite wird erklärt, wie Sie eine Rückerstattung mit Webservices API durchführen können.

 

Überblick über den Prozess

Um eine Erstattung zu bearbeiten, sendet Ihr System eine REFUND an Trust Payments. Sobald der Antrag eingegangen ist, wird die Erstattung entweder online oder offline bearbeitet, wie unten zusammengefasst:

Visa: Alle Erstattungen werden online bearbeitet.


Mastercard: Alle Erstattungen werden ab dem 4. November 2025 online bearbeitet.

Online-Erstattungen

  1. Der Händler stellt einen REFUND .
  2. Trust Payments validiert die Anfrage und holt die Autorisierung vom Kartenaussteller ein, um die Rückerstattung zu bearbeiten. Die Antwort des Kartenherausgebers wird dann an den Händler zurückgesendet.
  3. Sobald die Genehmigung erteilt ist, wickelt Trust Payments die Erstattung mit Ihrem Acquirer ab.
  4. Ihr Acquirer bearbeitet die Erstattung und der Karteninhaber erhält den erstatteten Betrag.

Offline-Erstattungen

  1. Der Händler stellt einen REFUND .
  2. Trust Payments prüft die Anfrage und gibt die AntwortREFUND ACCEPTED" zurück.
  3. Trust Payments bearbeitet die Rückerstattung mit Ihrem Acquirer.
  4. Ihr Acquirer bearbeitet die Erstattung und der Karteninhaber erhält den erstatteten Betrag.

 

Voraussetzungen

  • Sie können Zahlungen nur erstatten mit Abrechnungsstatus "100", was bedeutet, dass der Betrag erfolgreich auf Ihr Bankkonto überwiesen wurde. Erfahren Sie mehr über Abrechnung.
  • Sie können keinen höheren Betrag erstatten, als ursprünglich abgerechnet wurde.
  • Ein Erstattungsantrag ist nur dann erfolgreich, wenn die Zahlungsdaten noch gültig sind (z. B. ist der Antrag nicht erfolgreich, wenn das Gültigkeitsdatum der Karte abgelaufen ist).

 

REFUND Anfrage

Volle Erstattung

Das folgende Beispiel REFUND führt eine vollständige Erstattung für die angegebene AUTH durch:

Python PHP cURL Rohes JSON Rohes 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

Ersetzen Sie <DOMAIN> mit einer unterstützten Domäne. Vollständige Domainliste anzeigen.

 

Vollständige Erstattung mit aktualisiertem Verfallsdatum

Das folgende Beispiel REFUND führt eine vollständige Erstattung für die angegebene AUTH durch, wobei ein neues Ablaufdatum der Karte verwendet wird. Das neue Verfallsdatum wird in der Datei expirydate Feld.

Python PHP cURL Rohes JSON Rohes 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

Ersetzen Sie <DOMAIN> mit einer unterstützten Domäne. Vollständige Domainliste anzeigen.

 

Teilweise Erstattung

Im folgenden Beispiel REFUND wird eine Teilerstattung für die angegebene AUTH durchgeführt. Sie können den zu erstattenden Betrag im Feld baseamount Feld.

Python PHP cURL Rohes JSON Rohes 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

Ersetzen Sie <DOMAIN> mit einer unterstützten Domäne. Vollständige Domainliste anzeigen.

 

Feldspezifikation

  Wenn Sie die folgende Spezifikation lesen, stellen Sie bitte sicher, dass Sie sich auf die entsprechenden Code-Beispiele für Ihre gewählte Sprache beziehen.

  Feld Format Beschreibung
  Erforderlich parenttransactionreference
XPath: /operation/parenttransactionreference
Alphanumerisch
& Bindestriche (25)
Dieses Feld muss die Transaktionsnummer des Antrags enthalten AUTH Antrag, den Sie erstatten möchten.
  Erforderlich requesttypedescriptions
XPath: /@type
Alpha (20) Die erforderliche Anforderungstyp ist "REFUND".
  Erforderlich sitereference
XPath: /operation/sitereference
Alphanumerisch
& Unterstrich (50)

Eine eindeutige Referenz, die Ihr Konto identifiziert. Sie erhalten diese, wenn Sie sich zum ersten Mal bei uns anmelden.

Die in der Anfrage REFUND angegebene Website-Referenz muss dieselbe sein wie die Website-Referenz , die für die Bearbeitung der übergeordneten AUTH Anfrage verwendet wurde.

  Optional baseamount
XPath: /billing/amount
Numerisch (13)

Der Erstattungsbetrag in Basiseinheiten, ohne Kommas oder Dezimalpunkte. z.B. €10,99 würde als "1099" übermittelt werden, aber ¥246 würde als "246" übermittelt werden.

Dieser Betrag kann nicht höher sein als der endgültige Betrag, der auf Ihr Bankkonto überwiesen wird.

Sie können eine Teilerstattung vornehmen, indem Sie hier einen niedrigeren Betrag angeben.

Wenn dieses Feld nicht vorhanden ist, wird der volle Betrag der Transaktion erstattet. (Die maximale Länge des Betrags kann je nach Bank variieren - kontaktieren Sie Ihre Bank für weitere Informationen)

  Optional chargedescription
XPath: /merchant/chargedescription
Alphanumerisch einschließlich
Symbole (25)

 

Empfohlene Länge 25 Zeichen oder weniger (genaue Länge abhängig von der erwerbenden Bank). Die Nichteinhaltung dieser Anforderung kann dazu führen, dass der Text in der Transaktion abgeschnitten wird.

Dies ist eine Beschreibung der Zahlung, die auf dem Kontoauszug des Kunden erscheint.

Dies wird von Händlern mit einem Trust Payments Acquiring-Konto unterstützt. Wenn Sie eine andere Acquiring-Bank verwenden, müssen Sie unser Support-Team kontaktieren, um zu prüfen, ob diese Funktion unterstützt wird, bevor Sie fortfahren.

Die Spezifikation dieses Feldes hängt von Ihrer Bank ab. Für weitere Informationen wenden Sie sich bitte an unser Support-Team.

Gültige Zeichen:

  • Großbuchstaben/Kleinbuchstaben A-Z
  • Ziffern 0-9
  • Räume
  • Zeichensetzung: + - _ . @ ( )
  Optional expirydate
XPath: /billing/payment/expirydate
Datum MM/JJJJ Wenn Sie eine Erstattung mit einem aktualisierten Ablaufdatum bearbeiten möchten, wird der neue Wert in dieses Feld eingegeben.
  Optional orderreference
XPath: /merchant/orderreference
Alphanumerisch einschließlich
Symbole (25)

 

Empfohlene Länge 25 Zeichen oder weniger (genaue Länge abhängig von der erwerbenden Bank). Die Nichteinhaltung dieser Anforderung kann dazu führen, dass der Text in der Transaktion abgeschnitten wird.

Ihre eindeutige Auftragsnummer, die im System Trust Payments gespeichert werden kann.

Wird dieser nicht eingereicht, wird er vom übergeordneten Antrag AUTH geerbt.

 

REFUND Antwort

Nach der Bearbeitung einer Erstattung gibt Trust Payments die folgende Antwort zurück:

  Die Spezifikation der Antwort REFUND ist die gleiche wie die der Standardantwort AUTH , mit Ausnahme der requesttypedescription das Feld hat den Wert "REFUND".

Spezifikation des AUTH Informationen zur Behandlung von Antworten

 

Online-Antwort auf Erstattungen

Visa: Alle Erstattungen werden online bearbeitet.


Mastercard: Alle Erstattungen werden ab dem 4. November 2025 online bearbeitet.

Wenn eine Erstattung abgelehnt wurde, wird in der Antwort errorcode zurückgegeben. In diesem Fall empfehlen wir, den Kunden direkt zu kontaktieren, um die Erstattung mit einer alternativen Zahlungsmethode (z. B. Banküberweisung) zu vereinbaren.

Python PHP Rohes JSON Rohes XML
{
'requestreference': 'A0bxh87wt',
'version': '1.00',
'responses': [{
'accounttypedescription': 'MOTO',
'acquirerresponsecode': '00',
'acquirerresponsemessage': 'Approved or completed Successfully',
'authcode': 'ABC123',
'baseamount': '1050',
'chargedescription': 'Test Merchant',
'cryptocurrencyindicator': '0',
'currencyiso3a': 'GBP',
'dccenabled': '0',
'debtrepayment': '0',
'errorcode': '0',
'errormessage': 'Ok',
'issuer': 'Test Issuer',
'issuercountryiso2a': 'ZZ',
'livestatus': '1',
'maskedpan': '411111######1111',
'merchantcategorycode': '5999',
'merchantcity': 'Test City',
'merchantcountryiso2a': 'GB',
'merchantname': 'Test Merchant',
'merchantnumber': '00000000',
'merchantzipcode': 'T45 6ST',
'operatorname': 'webservices@example.com',
'orderreference': 'MyOrder123',
'parenttransactionreference': '1-2-345678',
'paymenttypedescription': 'VISA',
'requesttypedescription': 'REFUND',
'retrievalreferencenumber': '333912345678',
'securityresponseaddress': '0',
'securityresponsepostcode': '0',
'securityresponsesecuritycode': '0',
'settleduedate': '2023-12-05',
'settlestatus': '100',
'stan': '123456',
'transactionreference': '1-2-345679',
'transactionstartedtimestamp': '2023-12-05 15:38:16'
}]
}

 

Offline-Antwort auf Erstattungen

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

 

War dieser Artikel hilfreich?
0 von 0 Personen fanden dies hilfreich