Postman-Collection
Payments Schreiben

pixiSetCreditCardInfo

Maskiert die gespeicherte Kreditkartennummer und CVC der Adresse eines Auftrags und/oder speichert einen Autorisierungscode am Auftrag.

Aktualisiert kreditkartenbezogene Daten für den über OrderNr angegebenen Auftrag. Abhängig von den Parametern laufen zwei voneinander unabhängige Schritte:

  1. Maskierung (wenn ScrambleData = 1, Standard): Die vom Auftrag referenzierte Adresse (OrderHeader.AddrRef) wird ermittelt. Enthält deren Kartennummer ACardNr noch nicht ****, wird sie durch ************* gefolgt von den letzten vier Zeichen der ursprünglichen Nummer ersetzt, und die Kartenprüfnummer CCCVC wird auf *** gesetzt.
  2. Autorisierungscode (wenn AuthCode nicht NULL ist): Der Wert wird in OrderHeader.ccpPayID des Auftrags geschrieben.

Beide Schritte können in einem Aufruf kombiniert werden. Die Prozedur liefert keine Ergebnismenge, sondern setzt nur einen Rückgabewert: 0, wenn mindestens eine Zeile aktualisiert wurde, sonst 1.

Hinweise

  • Der Rückgabewert (0/1) ist ein T-SQL-RETURN-Wert und wird nicht als Zeile geliefert; SOAP-Clients sehen ihn in der Regel nicht. Für eine unbekannte OrderNr gibt es keinen expliziten Fehler – es wird dann nichts aktualisiert.
  • Die Maskierung betrifft den Adressdatensatz selbst. Wird dieselbe Adresse von weiteren Aufträgen oder vom Kunden verwendet, sind die Kartendaten für alle maskiert.
  • Adressen mit ACardNr = NULL werden nicht maskiert (die NOT LIKE-Prüfung ist für NULL nicht wahr). Bereits maskierte Nummern (mit ****) werden übersprungen, wiederholte Aufrufe sind daher unkritisch.
  • Die Auftragssuche nutzt NOLOCK, die Updates ROWLOCK. Es wird keine explizite Transaktion verwendet, die beiden Schritte sind also nicht atomar.
  • Um nur einen Autorisierungscode ohne Maskierung zu speichern, ScrambleData = 0 übergeben.
  • Zum Löschen der temporären Tabelle wird util.TempTableDrop aufgerufen; dessen Definition liegt nicht vor.

Parameter

Parameter Typ Standardwert Beschreibung
OrderNr
Pflicht
int –

Nummer des Auftrags (OrderHeader.OrderNR), dessen Kreditkartendaten aktualisiert werden.

Beispiel: 104523

ScrambleData
bit
boolean
1

Legt fest, ob Kartennummer und CVC der Auftragsadresse maskiert werden.

Erlaubte Werte

  • 1 – Kartennummer maskieren (letzte 4 Zeichen bleiben) und CVC auf `***` setzen.
  • 0 – Kartendaten der Adresse nicht ändern.

Beispiel: 1

AuthCode
varchar(50)
string
NULL

Autorisierungscode bzw. Zahlungs-ID, der in OrderHeader.ccpPayID gespeichert wird. Bei NULL bleibt das Feld unverändert.

Beispiel: AUTH-7F3K92

Antwort

Dieser Call liefert kein Result-Set.

Beispiele

POST https://apigateway.descartes.com/tms/pixi/
Content-Type: text/xml; charset=utf-8
Authorization: Basic BASE64(USERNAME:PASSWORD)

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
  <SOAP-ENV:Body>
    <ns1:pixiSetCreditCardInfo>
      <OrderNr>104523</OrderNr>
      <!-- <ScrambleData>1</ScrambleData> -->
      <!-- <AuthCode>AUTH-7F3K92</AuthCode> -->
    </ns1:pixiSetCreditCardInfo>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

OrderHeader · Schreiben Addresses · Schreiben
SQL-Objekt:
dbo.pipiSetCreditCardInfo
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben