pixiGetCreditCardInfo
Liefert die zu einem Auftrag gespeicherten Kreditkartendaten und die Autorisierungs-ID des Kreditkartenzahlungsanbieters.
Sucht den Auftrag mit der angegebenen OrderNr in OrderHeader und verknüpft den zugehörigen Adressdatensatz (OrderHeader.AddrRef = Addresses.AddrKey). Die Kreditkartenfelder stammen aus diesem Adressdatensatz.
Die gelieferte Zeile enthält:
- den Text der Kartenart, ermittelt aus
Creditcards.CardTextüberAddresses.ACardType - Karteninhaber, Kartennummer, Ablaufdatum und CVC
- die Autorisierungs-ID des Kreditkartenzahlungsanbieters (
OrderHeader.ccpPayID) - das Kennzeichen
CCPIDUsedBefore. Es ist1, wenn ein anderer Auftrag desselben Kunden (CustRef) mit niedrigerer Auftragsnummer bereits dieselbeccpPayIDhat, sonst0.
Existiert kein Auftrag mit dieser Nummer oder hat der Auftrag keinen passenden Adressdatensatz, ist die Ergebnismenge leer.
Hinweise
- Alle Tabellen werden mit
NOLOCKgelesen; es können nicht festgeschriebene Daten geliefert werden. - Der Aufruf liefert sensible Zahlungsdaten (vollständige Kartennummer und CVC) so, wie sie gespeichert sind. Der Zugriff auf diesen Aufruf sollte eingeschränkt werden.
- Ist
ccpPayIDNULL, trifft der Vergleich mit früheren Aufträgen nie zu, undCCPIDUsedBeforeist0. - Die Kartenart wird über eine skalare Unterabfrage ermittelt. Enthält
Creditcardsmehrere Zeilen mit demselbenCardType, löst SQL Server einen Fehler aus (Unterabfrage liefert mehr als einen Wert). Gibt es keine passende Zeile, istCreditCardTypeNULL. - Die Datentypen der Spalten hängen von den Tabellendefinitionen ab, die nicht Teil des Codes sind.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
OrderNr
Pflicht
|
int | – |
Auftragsnummer ( Beispiel: |
Antwort
Result-Set 1 · Immer; leer, wenn kein Auftrag mit dieser Nummer und passendem Adressdatensatz existiert.
Kreditkartendaten des Auftrags.
| Spalte | Typ | Beschreibung |
|---|---|---|
OrderNr
|
int |
Auftragsnummer. |
CreditCardType
Kann leer sein |
string |
Anzeigetext der Kartenart aus |
CreditCardHolder
Kann leer sein |
string |
Name des Karteninhabers ( |
CreditCardNumber
Kann leer sein |
string |
Kartennummer wie gespeichert ( |
CreditCardExpiry
Kann leer sein |
string |
Ablaufdatum der Karte ( |
CVC
Kann leer sein |
string |
Kartenprüfnummer ( |
CCPAuthorizationID
Kann leer sein |
string |
Autorisierungs-/Zahlungs-ID des Kreditkartenzahlungsanbieters ( |
CCPIDUsedBefore
|
int |
|
Beispielantwort
<SqlRowSet1>
<row>
<OrderNr>100245</OrderNr>
<CreditCardType>VISA</CreditCardType>
<CreditCardHolder>Max Mustermann</CreditCardHolder>
<CreditCardNumber>4111111111111111</CreditCardNumber>
<CreditCardExpiry>12/27</CreditCardExpiry>
<CVC>123</CVC>
<CCPAuthorizationID>TX-8F3A21C9</CCPAuthorizationID>
<CCPIDUsedBefore>0</CCPIDUsedBefore>
</row>
</SqlRowSet1>
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:pixiGetCreditCardInfo>
<OrderNr>100245</OrderNr>
</ns1:pixiGetCreditCardInfo>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
curl -X POST 'https://apigateway.descartes.com/tms/pixi/' \
--user 'USERNAME:PASSWORD' \
--header 'Content-Type: text/xml; charset=utf-8' \
--data-binary @- <<'XML'
<?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:pixiGetCreditCardInfo>
<OrderNr>100245</OrderNr>
</ns1:pixiGetCreditCardInfo>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
XML
<?php
$soapClient = new SoapClient(null, [
'login' => 'USERNAME',
'password' => 'PASSWORD',
'location' => 'https://apigateway.descartes.com/tms/pixi/',
'uri' => 'https://apigateway.descartes.com/tms/pixi/',
]);
$arguments = [
'OrderNr' => '100245',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetCreditCardInfo', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetCreditCardInfo