1. Über Alipay(via PPRO)

1.1 Allgemeines zu Alipay

InfoTyp
Mit dem E-Wallet von Chinas führendem Online-Bezahlsystem können Kunden und Händler Zahlungen senden und empfangen. Alipay hat über 800 Mio. registrierte Nutzer und 2014 über 100 Mio. Online-Zahlungen pro Tag verarbeitet.Zahlungen per Wallet

Weitere Informationen finden Sie auch auf der Webseite von Alipay ( https://intl.alipay.com/ ).

1.2 Diagramm zum Prozessablauf

2 1cs Online Bezahlsystem-Schnittstelle

2.1 Definitionen

Datenformate:

FormatBeschreibung
aalphabetisch
asalphabetisch mit Sonderzeichen
nnumerisch
analphanumerisch
ansalphanumerisch mit Sonderzeichen
nsnumerisch mit Sonderzeichen
boolBool’scher Ausdruck (true oder false)
3feste Länge mit 3 Stellen/Zeichen
..3variable Länge mit maximal 3 Stellen/Zeichen
enumAufzählung erlaubter Werte
dttmISODateTime (JJJJ-MM-TTThh:mm:ss)

Abkürzungen:

AbkürzungBeschreibungKommentar
CNDBedingung (condition)
MPflicht (mandatory)Wenn ein Parameter Pflicht ist, dann muss er vorhanden sein
OoptionalWenn ein Parameter optional ist, dann kann er vorhanden sein, ist aber nicht erforderlich
Cbedingt (conditional)Wenn ein Parameter bedingt ist, dann gibt es eine Bedingungsregel, die angibt, ob er Pflicht oder optional ist

Hinweis: Bitte beachten Sie, dass die Bezeichnungen der Parameter in Groß- oder Kleinbuchstaben zurückgegeben werden können.

2.2 Alipay-Zahlung via Formular-Schnittstelle

Um mittels PPRO eine Alipay-Zahlung über ein Paygate-Formular abzuwickeln, verwenden Sie bitte folgende URL:

https://www.computop-paygate.com/alipay.aspx

Hinweis: Aus Sicherheitsgründen lehnt das 1cs OBS alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp.

Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:

KeyFormatCNDBeschreibung
MerchantIDans..30MHändlerID, die von der First Cash Solution vergeben wird. Dieser Parameter ist zusätzlich auch unverschlüsselt zu übergeben.
TransIDans..64MIhre eigene TransaktionsID, die für jede Zahlung eindeutig sein muss
RefNrans..40OEindeutige Referenznummer des Händlers. Nur die Zeichen a-zA-Z0-9,-_ sind erlaubt.
Amountn..10MBetrag in der kleinsten Währungseinheit (z.B. EUR Cent). Bitte wenden Sie sich an den 1cs Support, wenn Sie Beträge < 100 (kleinste Währungseinheit) buchen möchten.
Currencya3MWährung, drei Zeichen DIN / ISO 4217, z.B. EUR, USD, GBP. Nur CHF zulässig. Hier eine Übersicht: Währungstabelle
MACan64MHash Message Authentication Code (HMAC) mit SHA-256-Algorithmus. Details finden Sie hier:
HMAC Authentication (Request)
HMAC Authentication (Notify)
UserDataans..1024OWenn beim Aufruf angegeben, übergibt das 1cs OBS die Parameter mit dem Zahlungsergebnis an den Shop.
URLSuccessans..256MVollständige URL, die das 1cs OBS aufruft, wenn die Zahlung erfolgreich war. Die URL darf nur über Port 443 aufgerufen werden. Diese URL darf keine Parameter enthalten: Um Parameter durchzureichen nutzen Sie stattdessen den Parameter UserData.
Allgemeine Hinweise: Wir empfehlen, den Parameter “response=encrypt” zu verwenden, um eine verschlüsselte Antwort von 1cs OBS zu erhalten.
Betrüger könnten das verschlüsselte DATA-Element kopieren, welches an URLFailure gesendet wurde, und betrügerisch dasselbe DATA an URLSuccess senden. Überprüfen Sie daher unbedingt den “code”-Wert des DATA-Elements. Nur eine Antwort mit “code=00000000” sollte als erfolgreich angesehen werden.
URLFailureans..256MVollständige URL, die das 1cs OBS aufruft, wenn die Zahlung gescheitert ist. Die URL darf nur über Port 443 aufgerufen werden. Diese URL darf keine Parameter enthalten: Um Parameter durchzureichen nutzen Sie stattdessen den Parameter UserData.
Allgemeine Hinweise: Wir empfehlen, den Parameter “response=encrypt” zu verwenden, um eine verschlüsselte Antwort vom 1cs OBS zu erhalten.
Betrüger könnten das verschlüsselte DATA-Element kopieren, welches an URLFailure gesendet wurde, und betrügerisch dasselbe DATA an URLSuccess/URLNotify senden. Überprüfen Sie daher unbedingt den “code”-Wert des DATA-Elements. Nur eine Antwort mit “code=00000000” sollte als erfolgreich angesehen werden.
Responsea7ODie Status-Rückmeldung, die das 1cs OBS an URLSuccess und URLFailure sendet, sollte verschlüsselt werden. Dazu übergeben Sie den Parameter Response=encrypt.
URLNotifyans..256MVollständige URL, die das 1cs OBS aufruft, um den Shop zu benachrichtigen. Die URL darf nur über Port 443 aufgerufen werden. Sie darf keine Parameter enthalten: Nutzen Sie stattdessen den Parameter UserData. Allgemeine Hinweise: Wir empfehlen, den Parameter “response=encrypt” zu verwenden, um eine verschlüsselte Antwort vom 1cs OBS zu erhalten.
Betrüger könnten das verschlüsselte DATA-Element kopieren, welches an URLFailure gesendet wurde, und betrügerisch dasselbe DATA an URLSuccess/URLNotify senden. Überprüfen Sie daher unbedingt den “code”-Wert des DATA-Elements. Nur eine Antwort mit “code=00000000” sollte als erfolgreich angesehen werden
ReqIdans..32OUm Doppelzahlungen (z.B. durch ETM) zu vermeiden, übergeben Sie einen alphanumerischen Wert, der Ihre Transaktion oder Aktion identifiziert und nur einmal vergeben werden darf. Falls die Transaktion oder Aktion mit derselben ReqID erneut eingereicht wird, führt das 1cs OBS keine Zahlung oder weitere Aktion aus, sondern gibt nur den Status der ursprünglichen Transaktion oder Aktion zurück. Bitte beachten Sie, dass das 1cs OBS für die erste initiale Aktion (Authentifizierung/Autorisierung) einen abgeschlossenen Transaktionsstatus haben muss. Dies gilt nicht für 3-D Secure Authentifizierungen, die durch einem Timeout beendet werden. Der Status 3-D Secure Timeout gilt nicht als abgeschlossener Status, bei dem ReqID-Funktionalität am 1cs OBS nicht greift. Einreichungen mit identischer ReqID auf einen offenen Status werden regulär verarbeitet. Hinweis: Bitte beachten Sie, dass eine ReqID nur 12 Monate gültig ist, danach wird sie vom 1cs OBS gelöscht.
OrderDescans..768MBeschreibung der Waren, Einzelpreise usw., Verwendungszweck auf dem Kontoauszug
SellingPointans..50OVerkaufsstelle
Serviceans..50Overkaufte Produkte oder Dienstleistung
Channelans..64OKonfigurationskanal des PPRO-Vertrags (Account und ContractID sind im System hinterlegt). Wenn vorhanden, überschreibt er den eventuell im System hinterlegten Channel.
Languagea2O2-stelliger Sprachcode, der für die Zahlungsseiten für den Kunden bevorzugt werden soll.
Mögliche Werte:
CN: Vereinfachtes Chinesisch
TW: Traditionelles Chinesisch
US: Englisch (Standard)
Wenn der Parameter leer ist, wird die Standardsprache verwendet.
AccOwnerans3..50MName des Kontoinhabers
Devicea6OBei Übergabe von „Mobile“ wird statt der Desktop-Version die Mobil-Version von Alipay aufgerufen
AddrCountryCodea2MLändercode im Format ISO-3166-1, alphanumerisch 2-stellig
HotelNameans..128CName des Hotels, für das die Reservierung gemacht wurde. Obligatorisch, wenn die Geschäftsart des Händlers Hotel ist.
CheckInTimeams..128CDatum des Eincheckens in GMT+8 im Format: JJJJ-MM-TT. Obligatorisch, wenn die Geschäftsart des Händlers Hotel ist.
Beispiel: 2020-01-22
Mehrere Einträge sollten mit einem ‘|’ getrennt werden.
Beispiel: 2020-01-22|020-02-10
ChecoutTimeans..128CDatum des Auscheckens in GMT+8 im Format: JJJJ-MM-TT. Obligatorisch, wenn die Geschäftsart des Händlers Hotel ist.
Beispiel: 2020-01-25
Mehrere Einträge sollten mit einem ‘|’ getrennt werden.
Beispiel: 2020-01-25|2020-02-14
OrderDesc2ans..400CBase64-codiertes JSON-Objekt mit Beschreibung und Menge der gekauften Produkte
Plainans..50OEin einzelner Wert, der von Ihnen gesetzt werden kann, um Informationen wieder unverschlüsselt in der Antwort bzw. im Notify zurückzugeben, z.B. die MID.
Da der “Plain”-Parameter Teil des verschlüsselten “Data” im 1cs OBS ist, ist dieser vor Manipulationen geschützt. 
Customans..1024ODer “Custom”-Parameter wird vor der Verschlüsselung an den Aufruf angehängt und ist Teil des verschlüsselten “Data” im 1cs OBS Aufruf. Dadurch ist der Wert gegen Manipulation geschützt. 
Der Custom-Wert wird dann in Klartext an die 1cs OBS-Antwort angehängt und dabei wird “|” durch “&” ersetzt. Dadurch können Sie einen Custom-Wert übergeben und bekommen mehrere Key-Value-Paare zu Ihrer eigenen Verwendung in der Antwort zurück.
Parameter für Zahlungen mit Alipay

Die folgende Tabelle beschreibt die Ergebnis-Parameter, die das 1cs OBS an Ihre URLSuccess, URLFailure und URLNotify übergibt. Wenn Sie den Parameter Response=encrypt angegeben haben, werden die folgenden Parameter mit Blowfish verschlüsselt an Ihr System übergeben:

(info) es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden

(info) die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden

ParameterFormatCNDBeschreibung
midans..30MHändlerID, die von der First Cash Solution vergeben wird.
PayIDan32MVom 1cs OBS vergebene ID für die Zahlung; z.B. zur Referenzierung in Batch-Dateien sowie im Capture- oder Credit-Request.
XIDan32MVom 1cs OBS vergebene ID für alle einzelnen Transaktionen (Autorisierung, Buchung, Gutschrift), die für eine Zahlung durchgeführt werden
TransIDans..64MIhre eigene TransaktionsID, die für jede Zahlung eindeutig sein muss
Statusa…50M
OK oder AUTHORIZE_REQUEST (URLSuccess) sowie FAILED (URLFailure)
Descriptionans..1024MNähere Beschreibung bei Ablehnung der Zahlung. Bitte nutzen Sie nicht den Parameter Description, sondern Code für die Auswertung des Transaktionsstatus!
Coden8MFehlercode gemäß 1cs OBS Antwortcodes (Fehlercodes)
Refnrans..40OEindeutige Referenznummer des Händlers. Nur die Zeichen a-zA-Z0-9,-_ sind erlaubt.
MACan64MHash Message Authentication Code (HMAC) mit SHA-256-Algorithmus. Details finden Sie hier:
HMAC-Authentisierung (Anfrage)
HMAC-Authentisierung (Notify)
UserDataans..1024OWenn beim Aufruf angegeben, übergibt das 1cs Online Bezahlsystem die Parameter mit dem Zahlungsergebnis an den Shop
PaymentPurposeans..26OZahlungszweck
PaymentGuaranteea..12OWert + Beschreibung:
NONE – keine Zahlungsgarantie
VALIDATED – Kundenkonto valide, aber keine Zahlungsgarantie
FULL – Zahlungsgarantie

Hinweis: Dieser Parameter wird nur zurückgegeben, falls der Status=OK ist.
ErrorTextans..128CDetaillierte PPRO Fehlermeldung.
Hinweis: Wird nur bei Status=FAILED zurückgegeben. Nutzung nur in Abstimmung mit der 1cs möglich.
TransactionIDan..20OEindeutige Transaktionsnummer bei PPRO
Plainans..50OEin einzelner Wert, der von Ihnen gesetzt werden kann, um Informationen wieder unverschlüsselt in der Antwort bzw. im Notify zurückzugeben, z.B. die MID. Da der “Plain”-Parameter Teil des verschlüsselten “Data” im 1cs OBS ist, ist dieser vor Manipulationen geschützt. 
Customans..1024ODer “Custom”-Parameter wird vor der Verschlüsselung an den Aufruf angehängt und ist Teil des verschlüsselten “Data” im 1cs OBS Aufruf. Dadurch ist der Wert gegen Manipulation geschützt. Der Custom-Wert wird dann in Klartext an die 1cs OBS-Antwort angehängt und dabei wird “|” durch “&” ersetzt. Dadurch können Sie einen Custom-Wert übergeben und bekommen mehrere Key-Value-Paare zu Ihrer eigenen Verwendung in der Antwort zurück.
Ergebnis-Parameter für URLSuccess, URLFailure und URLNotify bei Alipay

2.3 Gutschrift mit Referenz

Gutschriften sind über eine Server-zu-Server-Kommunikation möglich. Bei einer Gutschrift mit Bezug auf eine Buchung ist die Höhe der Gutschrift auf die Höhe der vorangegangen Buchung beschränkt. Um eine Gutschrift (Credit) mit Referenztransaktion auszuführen, verwenden Sie bitte folgende URL:

https://www.computop-paygate.com/credit.aspx

Hinweis: Aus Sicherheitsgründen lehnt das 1cs OBS alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp.

Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:

ParameterFormatCNDBeschreibung
MerchantIDans..30MHändlerID, die von der First Cash Solution vergeben wird. Dieser Parameter ist zusätzlich auch unverschlüsselt zu übergeben.
PayIDan32MVom 1cs Online Bezahlsystem vergebene ID für die gutzuschreibende Zahlung
TransIDans..64MIhre eigene TransaktionsID, die für jede Zahlung eindeutig sein muss.
Refnrans..40OEindeutige Referenznummer des Händlers. Nur die Zeichen a-zA-Z0-9,-_ sind erlaubt.
MACan64MHash Message Authentication Code (HMAC) mit SHA-256-Algorithmus. Details finden Sie hier:
HMAC-Authentisierung (Anfrage)
HMAC-Authentisierung (Notify)
Amountn..10MBetrag in der kleinsten Währungseinheit (z.B. EUR Cent). Bitte wenden Sie sich andie First Cash Solution, wenn Sie Beträge < 100 (kleinste Währungseinheit) buchen möchten.
Currencya3MWährung, drei Zeichen DIN / ISO 4217, z.B. EUR, USD, GBP. Hier eine Übersicht: Währungstabelle
UserDataans..256OWenn beim Aufruf angegeben, übergibt das 1cs OBS die Parameter mit dem Zahlungsergebnis an den Shop.
ReqIdans..32OUm Doppelzahlungen (z.B. durch ETM) zu vermeiden, übergeben Sie einen alphanumerischen Wert, der Ihre Transaktion oder Aktion identifiziert und nur einmal vergeben werden darf. Falls die Transaktion oder Aktion mit derselben ReqID erneut eingereicht wird, führt das 1cs OBS keine Zahlung oder weitere Aktion aus, sondern gibt nur den Status der ursprünglichen Transaktion oder Aktion zurück.
Bitte beachten Sie, dass das 1cs OBS für die erste initiale Aktion (Authentifizierung/Autorisierung) einen abgeschlossenen Transaktionsstatus haben muss. Dies gilt nicht für 3-D Secure Authentifizierungen, die durch einem Timeout beendet werden. Der Status 3-D Secure Timeout gilt nicht als abgeschlossener Status, bei dem ReqID-Funktionalität am 1cs OBS nicht greift. Einreichungen mit identischer ReqID auf einen offenen Status werden regulär verarbeitet.
Hinweis: Bitte beachten Sie, dass eine ReqID nur 12 Monate gültig ist, danach wird sie vom 1cs OBS gelöscht.
Parameter für Gutschrift von Zahlungen mit Alipay über Socket-Verbindungen

Die folgende Tabelle beschreibt die Parameter, die das 1cs OBS als Antwort zurückgibt:

(info) es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden

(info) die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden

ParameterFormatCNDBeschreibung
midans..30MHändlerID, die von der First Cash Solution vergeben wird
PayIDan32MVom 1cs Online Bezahlsystem vergebene ID für die Zahlung, z.B. zur Referenzierung in Batch-Dateien sowie im Capture- oder Credit-Request
XIDan32MVom 1cs Online Bezahlsystem vergebene ID für alle einzelnen Transaktionen (Autorisierung, Buchung, Gutschrift), die für eine Zahlung durchgeführt werden
TransIDans..64MIhre eigene TransaktionsID, die für jede Zahlung eindeutig sein muss.
Statusa..50MOK (URLSuccess) oder FAILED (URLFailure)
Descriptionans..1024MNähere Beschreibung bei Ablehnung der Zahlung. Bitte nutzen Sie nicht den Parameter Description sondern Code für die Auswertung des Transaktionsstatus!
Coden8MFehlercode gemäß 1cs Online Bezahlsystem Antwort Codes (Fehlercodes)
UserDataans..256OWenn beim Aufruf angegeben, übergibt das 1cs OBS die Parameter mit dem Zahlungsergebnis an den Shop.
RefNrans..40OEindeutige Referenznummer des Händlers, welche als Auszahlungsreferenz in der entsprechenden Acquirer EPA-Datei angegeben wird. Bitte beachten Sie, ohne die Übergabe einer eigenen Auszahlungsreferenz können Sie die EPA-Transaktionen nicht zuordnen, zusätzlich kann das Computop Settlement File (CTSF) auch nicht zusätzlich angereichert werden.
Nur die Zeichen a-zA-Z0-9,-_ sind erlaubt.
ErrorTextans..128CDetaillierte PPRO Fehlermeldung.
Hinweis: Wird nur bei Status=FAILED zurückgegeben. Nutzung nur in Abstimmung mit der First Cash Solution möglich
Antwort-Parameter für Gutschrift von Zahlungen mit Alipay über Socket-Verbindungen

 

3. Batch-Nutzung der Schnittstelle

Grundsätzliche Informationen zur Arbeit mit Batch-Dateien sowie zu deren Aufbau erfahren Sie im separaten Handbuch zum Batchmanager. Im Batch-Verfahren sind nicht alle Funktionen verfügbar, die für die Online-Schnittstelle verfügbar sind.

Dieses Kapitel beschreibt die Parameter, die Sie im Datensatz (Record) für die Ausführung von Gutschriften mit Alipay übergeben müssen und welche Informationen Sie der Antwort-Datei über den Status des Zahlungsvorgangs entnehmen können.

Folgende Tabelle gibt eine Übersicht der pro Aktion jeweils möglichen Batch-Versionen und ihrer Besonderheiten:

ActionVersionBeschreibung
Credit1.0 / 2.0Standardversion ohne Rückgabe von Parameter Code
1.x / 2.xmit RefNr (gilt für alle Versionen außer 1.0)
Beschreibung der möglichen Batch-Versionen

Der Aufbau für eine Zahlung mit Alipay in einer einzureichenden Batch-Datei sieht folgendermaßen aus:

HEAD,<MerchantID>,<Date>,<Version>

Alipay,Credit,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>

FOOT,<CountRecords>,<SumAmount>

Beispiel für Master-MID-Funktion:

HEAD,[Master]MerchantID,Date,2.x

Type,Action,[Slave]MID,Amount,Currency,TransID,Data (depends on Action)

FOOT,CountRecords,SumAmount

Die folgende Tabelle beschreibt die einzelnen Felder und Werte, die im Datensatz (Record) innerhalb der Batch-Datei verwendet werden:

KeyFormatCNDBeschreibung
Typea..11MHEAD für Header, FOOT für Footer, Alipay für Alipay
Actiona..20MDer Action-Parameter definiert die Art der Transaktion: Credit (Gutschrift)
Amountn..10MBetrag in der kleinsten Währungseinheit (z.B. EUR Cent). Bitte wenden Sie sich an den 1cs Support, wenn Sie Beträge < 100 (kleinste Währungseinheit) buchen möchten.
Currencya3MWährung, drei Zeichen DIN / ISO 4217, z.B. EUR, USD, GBP. Hier eine Übersicht: Währungstabelle
TransIDans..64MIhre eigene TransaktionsID, die für jede Zahlung eindeutig sein muss
RefNrans..40OEindeutige Referenznummer des Händlers. Nur die Zeichen a-zA-Z0-9,-_ sind erlaubt.
PayIDan32MVom 1cs OBS vergebene ID für diese Transaktion
Beschreibung der Felder im Datensatz von Batch-Dateien

Der Record-Bereich in der Antwort-Datei zu Batch-Transaktionen sieht folgendermaßen aus:

HEAD,<MerchantID>,<Date>,<Version>

Alipay,Credit,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,<Status>,<Code>

FOOT,<CountRecords>,<SumAmount>

Die folgende Tabelle beschreibt die Antwort-Parameter, die der Batch-Manager im Record-Bereich zu jeder Transaktion speichert (hier nicht erklärte Standardparameter wie etwa <TransID> oder <RefNR> und Aufrufparameter werden unverändert zum Aufruf wieder zurückgegeben und sind vorstehend beschrieben):

KeyFormatCNDBeschreibung
Actiona..20MDer Action-Parameter definiert die Art der Transaktion: Credit (Gutschrift)
PayIDan32MVom 1cs OBS vergebene ID für diese Transaktion
Statusa..50MOK (URLSuccess) oder FAILED (URLFailure)
Coden8MFehlercode gemäß 1cs OBS Antwort-Codes (Fehlercodes)
Beschreibung der Ergebnis-Parameter im Datensatz von Batch-Dateien

4. JSON-Object OrderDesc2

Schema

{

    "$schema": "http://json-schema.org/draft-06/schema#",

    "type": "array",

    "items": {

        "$ref": "#/definitions/GoodsInfoElement"

    },

    "definitions": {

        "GoodsInfoElement": {

            "type": "object",

            "additionalProperties": false,

            "properties": {

                "itemDescription": {

                    "type": "string"

                },

                "number": {

                    "type": "integer"

                }

            },

            "required": [

                "itemDescription",

                "number"

            ],

            "title": "GoodsInfoElement"

        }

    }

}

Beispiel

[{

     "itemDescription": "Book",

     "number": 3

}, {

     "itemDescription": "Movie",

     "number": 2

}

]