Postman-Collection
Payments Schreiben

pixiPaySetAuthorizationStatus

Speichert das Ergebnis einer Zahlungsautorisierung für einen Auftrag, gibt HAL-Auftragspositionen frei oder belässt sie und schreibt einen Zahlungs-Logeintrag.

Wird von einem externen Zahlungsanbieter (protokolliert als pixi Apps Payment Provider) genutzt, um das Ergebnis einer Autorisierung für einen Auftrag zu melden.

  1. Der Auftrag wird über OrderNr in OrderHeader gesucht. Daraus werden Kundenreferenz, Rechnungsadressreferenz, Währungscode (Currency.CodeA) und das CustomerOf (Shop) des Kunden gelesen. Außerdem wird die Summe von qty * price aller Auftragspositionen im Status HAL berechnet.
  2. Abhängig von Success:
    • 1 (autorisiert): Auftragspositionen im Status HAL werden auf ANG gesetzt; der Logeintrag erhält Transaktionstyp AU und Code AUTHORIZED.
    • 0 (abgelehnt, Standard): Auftragspositionen bleiben im Status HAL; der Logeintrag erhält Typ DE und Code AUTH DECLINED; der Fehlversuchszähler ccpSetFailTries des Auftrags wird um 1 erhöht.
  3. Der Auftragskopf wird aktualisiert: ccpNumOfTries wird um 1 erhöht, CCPLastAuthCode = AuthCode, ccpPayID = AuthID, CCPPaymentInfoOK = Y, CCPReauthorizeYN = N, ccpSetFailLastTime und UpdateDate = aktuelle Zeit, UpdateEmp = API Call PaySetAuth.
  4. Alle Auftragspositionen des Auftrags im Status HAL erhalten den neuen Status (siehe Schritt 2), inklusive UpdateEmp/UpdateDate.
  5. In CCPTranLog wird eine Zeile mit Vendor AP, dem Shop (CustomerOf), der Auftragsnummer, Message als Notiz, dem berechneten HAL-Betrag als Gesamtbetrag, Kunden- und Rechnungsadressreferenz sowie dem Währungscode eingefügt.

Der Aufruf liefert keine Ergebnismenge.

Hinweise

  • Alle Änderungen laufen in einer Transaktion (bzw. einem Savepoint, falls bereits eine Transaktion offen ist). Bei einem Fehler werden die Änderungen zurückgerollt und log.InsertError (nicht beigefügt) aufgerufen; der Code selbst wirft den Fehler nicht erneut, der Aufrufer erhält daher eventuell keinen Fehlerhinweis.
  • Existiert OrderNr nicht, werden weder Auftragskopf noch Positionen geändert, aber trotzdem eine CCPTranLog-Zeile mit leeren (NULL) Werten für Shop, Kunde, Adresse und Währung eingefügt. Es wird kein Fehler gemeldet.
  • CCPPaymentInfoOK wird auf Y gesetzt und ccpSetFailLastTime aktualisiert, auch wenn Success = 0 ist.
  • ccpSetFailTries wird ohne ISNULL erhöht; ist die Spalte NULL, bleibt sie NULL.
  • Der Betrag wird über Order_Id berechnet, die zu ändernden Positionen werden über OrderNr ermittelt.
  • Lesezugriffe verwenden NOLOCK, Updates ROWLOCK.
  • AuthID, AuthCode und Message haben keinen Standardwert und müssen übergeben werden.

Parameter

Parameter Typ Standardwert Beschreibung
OrderNr
Pflicht
int –

Pixi-Auftragsnummer des Auftrags, dessen Autorisierungsergebnis gemeldet wird.

Beispiel: 100245

Success
bit
boolean
0

Ergebnis der Autorisierung.

Erlaubte Werte

  • 1 – Autorisiert: HAL-Positionen werden auf ANG gesetzt, Logtyp AU / AUTHORIZED.
  • 0 – Abgelehnt: Positionen bleiben HAL, Fehlversuchszähler wird erhöht, Logtyp DE / AUTH DECLINED.

Beispiel: 1

AuthID
Pflicht
varchar(50)
string
–

Zahlungs-/Autorisierungs-ID des Anbieters; wird in OrderHeader.ccpPayID gespeichert.

Beispiel: PAY-7F3A9C21

AuthCode
Pflicht
varchar(50)
string
–

Autorisierungscode des Anbieters; wird in OrderHeader.CCPLastAuthCode gespeichert.

Beispiel: A12345

Message
Pflicht
varchar(200)
string
–

Freitext-Meldung des Anbieters; wird als Notiz (CCPNote) im Transaktionslog gespeichert.

Beispiel: Authorization approved

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:pixiPaySetAuthorizationStatus>
      <OrderNr>100245</OrderNr>
      <!-- <Success>1</Success> -->
      <AuthID>PAY-7F3A9C21</AuthID>
      <AuthCode>A12345</AuthCode>
      <Message>Authorization approved</Message>
    </ns1:pixiPaySetAuthorizationStatus>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

OrderHeader · Schreiben Orderlines · Schreiben CCPTranLog · Schreiben Customers · Lesen Currency · Lesen
SQL-Objekt:
dbo.pipiPaySetAuthorizationStatus
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben