Alipay ist ein chinesisches E-Wallet, das zu AntFinancial gehört, einer Tochtergesellschaft der Alibaba-Gruppe, dem größten E-Commerce-Unternehmen der Welt. Wenn Sie Alipay auswählen, werden die Kunden auf die von Ihnen gehosteten Seiten weitergeleitet, geben ihre persönlichen Daten ein und stimmen der Zahlung zu, bevor sie wieder auf Ihre Website weitergeleitet werden. Sobald der Vorgang abgeschlossen ist, erhalten Sie eine Bestätigung über URL-Benachrichtigung.
Unterstützte Kundenländer | Keine Einschränkungen für Kundenländer. |
Unterstützte Währungen | AUD, CAD, CHF, DKK, EUR, GBP, HKD, JPY, KRW, NOK, NZD, SEK, SGD, THB, USD |
Rückerstattungen |
Vollständige und teilweise Erstattung möglich. |
Rückbuchungen |
Zahlungen sind von Rückbuchungen ausgeschlossen. |
Zero-authorisation |
Nicht unterstützt. |
Wiederkehrende Zahlungen |
Nicht unterstützt. |
Konfiguration
Um Alipay für Ihr Konto zu aktivieren, wenden Sie sich bitte an Ihren Kundenbetreuer.
Ein Test-Sandbox-Konto wird zur Verfügung gestellt, das Sie zum Testen Ihrer Implementierung benötigen.
Bevor Sie mit der Verarbeitung von In-App-Zahlungen beginnen können, müssen Sie Alipay kontaktieren und beantragen, dass Ihr Konto für In-App-Zahlungen freigeschaltet wird.
Klicken Sie hier, um mehr über In-App-Zahlungen zu erfahren (Link zu externer Seite).
Überblick über Alipay
-
Initiieren Sie den Kunden
- Der Kunde erklärt sich mit einer Zahlung über Alipay auf der App des Händlers einverstanden.
- Der Händler sendet eine Anfrage an AUTH, um die Sitzung zu starten.
- Der Händler erhält die Antwort AUTH, einschließlich signeddata.
-
Weiterleiten zu Alipay
- Der Händler verwendet das SDK von Alipay, um die App Alipay auf dem Gerät des Kunden zu öffnen (unter Verwendung der signeddata).
- Der Kunde folgt den Anweisungen auf den von Alipay gehosteten Seiten, um die Zahlung zu autorisieren.
- Der Kunde wird zur App des Händlers weitergeleitet und erhält eine verifystring Wert, der von Alipay bereitgestellt wird.
-
Auth-Antwort verifizieren
- Das VU stellt einen Antrag an VERIFYAUTHRESPONSE, der die verifystring.
- Trust Payments wendet sich an Alipay , um das Ergebnis der von Alipay veranstalteten Sitzung abzufragen.
- Der Händler erhält die Antwort VERIFYAUTHRESPONSE und verwendet diese, um dem Kunden die entsprechende Nachricht anzuzeigen.
-
Abrechnung
- Zu einem späteren Zeitpunkt wird Alipay Trust Payments kontaktieren, um zu bestätigen, dass das Geld überwiesen wurde.
- Trust Payments sendet eine URL-Benachrichtigung an das System des Händlers, um zu bestätigen, dass der Betrag beglichen wurde.
- Der Händler erhält die Benachrichtigung und antwortet auf Trust Payments, um den erfolgreichen Empfang zu bestätigen.
1. Initiieren Sie den Kunden
Wenn sich der Kunde für die Zahlung mit Alipay entscheidet, muss Ihr System eine AUTH -Anfrage durchführen und, falls erfolgreich, den Browser des Kunden auf die in der Antwort zurückgegebene URL umleiten.
AUTH Anfrage (In-App-Zahlungen)
Die folgende Beispielanfrage bezieht sich auf eine Alipay AUTH Anfrage unter Verwendung der Schnittstelle für In-App-Zahlungen:
#!/usr/bin/python
import securetrading
stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)
auth = {
"currencyiso3a": "EUR",
"paymenttypedescription": "ALIPAY",
"requesttypedescriptions": ["AUTH"],
"sitereference": "test_site12345",
"accounttypedescription": "ECOM",
"billingcountryiso2a": "DE",
"baseamount": "1050",
"orderreference": "My_Order_123",
"applicationtype": "APP",
"applicationsystem": "ios"
}
strequest = securetrading.Request()
strequest.update(auth)
stresponse = st.process(strequest) #stresponse contains the transaction response
<?php
if (!($autoload = realpath(__DIR__ . '/../../../autoload.php')) && !($autoload = realpath(__DIR__ . '/../vendor/autoload.php'))) {
throw new Exception('Composer autoloader file could not be found.');
}
require_once($autoload);
$configData = array(
'username' => 'webservices@example.com',
'password' => 'Password1^'
);
$requestData = array(
'currencyiso3a' => 'EUR',
'requesttypedescriptions' => array('AUTH'),
'accounttypedescription' => 'ECOM',
'sitereference' => 'test_site12345',
'baseamount' => '1050',
'paymenttypedescription' => 'ALIPAY',
'billingcountryiso2a' => 'DE',
'orderreference' => 'My_Order_123',
'applicationtype' => 'APP',
'applicationsystem' => 'ios',
);
$api = \Securetrading\api($configData);
$response = $api->process($requestData);
var_dump($response->toArray());
?>
curl --user webservices@example.com:Password1^ <DOMAIN>/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
"alias": "mike@ws.com",
"version": "1.00",
"request": [{
"currencyiso3a": "EUR",
"requesttypedescriptions": ["AUTH"],
"accounttypedescription": "ECOM",
"sitereference": "test_site12345",
"baseamount": "1050",
"paymenttypedescription": "ALIPAY",
"billingcountryiso2a": "DE",
"orderreference": "My_Order_123",
"applicationtype": "APP",
"applicationsystem": "ios"
}]
}'
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"currencyiso3a":"EUR",
"requesttypedescriptions":["AUTH"],
"accounttypedescription":"ECOM",
"sitereference":"test_site12345",
"baseamount":"1050",
"paymenttypedescription":"ALIPAY",
"billingcountryiso2a":"DE",
"orderreference":"My_Order_123",
"applicationtype":"APP",
"applicationsystem":"ios"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="AUTH">
<merchant>
<orderreference>MyOrder123</orderreference>
</merchant>
<billing>
<amount currencycode="EUR">1050</amount>
<payment type="ALIPAY"/>
</billing>
<operation>
<sitereference>test_site12345</sitereference>
<accounttypedescription>ECOM</accounttypedescription>
<applicationtype>APP</applicationtype>
<applicationsystem>ios</applicationsystem>
</operation>
</request>
</requestblock>
Ersetzen Sie <DOMAIN>
mit einer unterstützten Domäne. Klicken Sie hier für eine vollständige Liste.
Feldspezifikation
Feld | Format | Beschreibung | |
accounttypedescription XPath: /operation/accounttypedescription |
Alpha (20) | Nur "ECOM" (E-Commerce) wird unterstützt. | |
applicationsystem XPath: /operation/applicationsystem |
Alpha (7) | Erforderlich, wenn applicationtype ist "APP". Definiert die Plattform, auf der die App ausgeführt wird. Unterstützte Werte sind "android" und "ios". | |
applicationtype XPath: /operation/applicationtype |
Alpha (3) |
Bestimmt die Zahlungsschnittstelle, die dem Kunden angezeigt wird, nachdem er zur von Alipay gehosteten Kasse weitergeleitet wurde:
Wenn "APP" übermittelt wird - Die Transaktion wird über die Schnittstelle Alipay In-App Payments abgewickelt, die in erster Linie für die Verwendung innerhalb von mobilen Apps konzipiert ist. Hinweis: Bevor Sie Transaktionen mit In-App-Zahlungen abwickeln können (sowohl über die Sandbox-Umgebung als auch mit Live-Zahlungen), müssen Sie sich an Alipay wenden und beantragen, dass die Funktion in Ihrem Alipay -Konto aktiviert wird. |
|
baseamount XPath: /billing/amount |
Numerisch (13) | Der Betrag der Transaktion in Basiseinheiten, ohne Kommas oder Dezimalpunkte, d. h. €10 werden als €1000 übermittelt. Dieser Wert muss größer als Null sein. (Die maximale Länge kann je nach Bank variieren - weitere Informationen erhalten Sie von Ihrer Bank) | |
currencyiso3a XPath: /billing/amount/@currencycode |
Alpha (3) |
Die Währung , in der die Transaktion verarbeitet werden soll (im ISO3A-Format). Eine Liste der Währung Codes, die von Alipay unterstützt werden, finden Sie in der Liste oben auf dieser Seite. |
|
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. | |
paymenttypedescription XPath: /billing/payment/@type |
Alpha (20) | Dieser Wert muss als "ALIPAY" angegeben werden. | |
returnurl XPath: /merchant/returnurl |
URL (2048) | Die URL, zu der der Kunde nach der Bearbeitung einer Zahlung mit Alipay zurückgeführt wird. |
|
requesttypedescription XPath: /@type |
Alpha (20) | Der Wert in der Anfrage muss "AUTH" lauten. | |
sitereference XPath: /operation/sitereference |
Alphanumerisch & Unterstrich (50) |
Die Website-Referenz bezieht sich auf Ihr individuelles Konto, das Sie bei der Einrichtung erhalten haben. Wenn Sie Ihre Website-Referenz nicht kennen, wenden Sie sich bitte an unser Support-Team. |
AUTH Antwort
{
u'requestreference': u'An3ug1kap',
u'version': u'1.00',
u'responses': [{
u'transactionreference': u'23-86-113',
u'merchantname': u'Test Merchant',
u'paymenttypedescription': u'ALIPAY',
u'orderreference': u'My_Order_123',
u'settleduedate': u'2017-03-16',
u'baseamount': u'1050',
u'transactionstartedtimestamp': u'2020-03-16 16:25:08',
u'errormessage': u'Ok',
u'settlestatus': u'10',
u'accounttypedescription': u'ECOM',
u'errorcode': u'0',
u'requesttypedescription': u'AUTH',
u'operatorname': u'webservices@example.com',
u'livestatus': u'0',
u'currencyiso3a': u'EUR',
u'partner id': u'2088611221573217'
}]
}
array(3) {
["requestreference"] => string(9) "A0345jmuw"
["version"] => string(4) "1.00"
["responses"] => array(1) {
[0]=> array(17) {
["transactionreference"] => string(9) "23-86-113"
["merchantname"] => string(4) "Test Merchant"
["paymenttypedescription"] => string(6) "ALIPAY"
["orderreference"] => string(12) "My_Order_123"
["transactionstartedtimestamp"] => string(19) "2020-03-16 16:25:08"
["errormessage"] => string(2) "Ok"
["accounttypedescription"] => string(4) "ECOM"
["errorcode"] => string(1) "0"
["settleduedate"] => string(10) "2017-03-16"
["currencyiso3a"] => string(3) "EUR"
["baseamount"] => string(4) "1050"
["requesttypedescription"] => string(4) "AUTH"
["operatorname"] => string(11) "webservices@example.com"
["livestatus"] => string(1) "0"
["settlestatus"] => string(2) "10"
["partner id"] => string(16) "2088611221573217"
}
}
}
{
"requestreference":"W23-fjgvn3d8",
"version":"1.00",
"response":[{
"transactionreference":"23-86-113",
"merchantname":"Test Merchant",
"paymenttypedescription":"ALIPAY",
"orderreference":"My_Order_123",
"settleduedate":"2017-03-16",
"baseamount":"1050",
"transactionstartedtimestamp":"2020-03-16 16:25:08",
"errormessage":"Ok",
"settlestatus":"10",
"accounttypedescription":"ECOM",
"errorcode":"0",
"requesttypedescription":"AUTH",
"operatorname":"webservices@example.com",
"livestatus":"0",
"currencyiso3a":"EUR",
"partner id":"2088611221573217"
}],
"secrand":"zO9"
}
<responseblock version="3.67">
<requestreference>Xd4nk260v</requestreference>
<response type="AUTH">
<merchant>
<merchantname>Test Merchant</merchantname>
<orderreference>MyOrder123</orderreference>
<operatorname>webservices@example.com</operatorname>
<partnerid>2088101122136241</partnerid>
</merchant>
<transactionreference>44-86-102</transactionreference>
<timestamp>2020-03-16 17:34:16</timestamp>
<operation>
<accounttypedescription>ECOM</accounttypedescription>
</operation>
<settlement>
<settleduedate>2017-03-16</settleduedate>
<settlestatus>10</settlestatus>
</settlement>
<billing>
<amount currencycode="EUR">1050</amount>
<payment type="ALIPAY"/>
</billing>
<live>0</live>
<error>
<message>Ok</message>
<code>0</code>
</error>
</response>
<secrand>Z1W</secrand>
</responseblock>
Feldspezifikation
Feld | Format | Beschreibung | |
accounttypedescription XPath: /operation/accounttypedescription |
Alpha (20) | Der zurückgegebene Wert ist "ECOM". | |
baseamount XPath: /billing/amount |
Numerisch (13) | Der Betrag der Transaktion in Basiseinheiten, ohne Kommas oder Dezimalpunkte, so dass €10 als 1000 zurückgegeben werden. | |
currencyiso3a XPath: /billing/amount/@currencycode |
Alpha (3) |
Die Währung, in der die Transaktion verarbeitet wurde (im ISO3A-Format). Eine Liste der Währung Codes, die von Alipay unterstützt werden, finden Sie in der Liste oben auf dieser Seite. |
|
errorcode XPath: /error/code |
Numerisch (1-5) |
Die Fehlercode (errorcode) sollte verwendet werden, um festzustellen, ob die Anfrage erfolgreich war oder nicht.
Klicken Sie hier für eine vollständige Liste der errorcode und Nachrichtenwerte. |
|
errormessage XPath: /error/message |
Alphanumerisch (255) |
Dies ist die entsprechende Meldung zum obigen Code.
Klicken Sie hier für eine vollständige Liste der errorcode und Nachrichtenwerte. |
|
orderreference XPath: /merchant/orderreference |
Alphanumerisch einschließlich Symbole (25) |
Die eindeutige Auftragsreferenz, die im System von Trust Payments und Alipaygespeichert ist. |
|
partnerid XPath: /merchant/partnerid |
Numerisch (16) | Eine eindeutige Kennung für Alipay Partner. |
|
paymenttypedescription XPath: /billing/payment/@type |
Alpha (20) | Der zurückgegebene Wert ist "ALIPAY". | |
requesttypedescription XPath: /@type |
Alpha (20) | Der zurückgegebene Wert ist "AUTH". | |
settlestatus XPath: /settlement/settlestatus |
Numerisch (3) | Damit können Sie den Status der Zahlung ermitteln. Wie dieses Feld am besten zu interpretieren ist, erfahren Sie im Abschnitt Handhabung der Antwort weiter unten. | |
signeddata XPath: /other/signeddata |
Wird von Alipay zurückgegeben. Muss über das SDK übermittelt werden, wenn der Kunde auf die App Alipay weitergeleitet wird. |
||
errordata XPath: /error/data |
Alphanumerisch (255) |
Zusätzliche Informationen zur Behebung des Fehlers. Wird nur zurückgegeben, wenn ein Fehler aufgetreten ist. |
Umgang mit der Antwort
Bei der Bearbeitung der Antwort AUTH für die Zahlungen von Alipay geben wir folgende Empfehlungen ab Kontrollen zur Durchführung folgender Zahlungen müssen weiterhin befolgt werden, mit Ausnahme der Behandlung der settlestatus die an verschiedene Bedingungen geknüpft ist, die im Folgenden erläutert werden:
Die settlestatus die in der Antwort AUTH zurückgegeben wird, wird verwendet, um den Status der Zahlung Alipay zu bestimmen:
Wenn die settlestatus 10" ist, ist die Zahlung ausstehend Abrechnung
- Das Geld ist noch nicht auf Ihrem Bankkonto eingegangen.
- Der nächste Schritt besteht darin, das Gerät des Kunden über das SDK auf die App Alipay umzuleiten, um die Zahlung fortzusetzen.
Das Geld wird erst dann auf Ihr Konto überwiesen, wenn der Kunde auf die App von Alipay weitergeleitet wird, um die Zahlung abzuschließen. Lesen Sie weiter für weitere Informationen.
- Wenn es eine Aktualisierung der Abrechnungsstatus der AUTH gibt, erhalten Sie eine URL-Benachrichtigung , um Sie darüber zu informieren, dass die settlestatus wurde entweder auf "3" oder "100" aktualisiert.
- Weitere Informationen zu den Notifizierungen finden Sie weiter unten.
Wenn die settlestatus ist "3", wurde die Zahlung storniert
- Die Zahlung wurde abgelehnt, oder es ist ein Fehler aufgetreten.
- Um mehr darüber zu erfahren, warum die Zahlung fehlgeschlagen ist, müssen Sie sich die errorcode. z.B. "70000" bedeutet, dass die Zahlung abgelehnt wurde. Klicken Sie hier, um eine vollständige Liste der Fehlercodes zu erhalten.
- In seltenen Fällen kann die settlestatus kann von "3" auf "100" aktualisiert werden (was bedeutet, dass die Zahlung erfolgreich abgewickelt wurde). In diesem Fall erhalten Sie eine weitere Mitteilung an URL-Benachrichtigung . Dies kann z. B. darauf zurückzuführen sein, dass der Kunde sich direkt an Alipay wendet, um ein Problem auf seinem Konto zu lösen, das die erfolgreiche Abwicklung der Zahlung verhindert hat.
2. Weiterleitung zur Alipay App
Nachdem Sie die Antwort von AUTH überprüft haben, müssen Sie, falls die Anfrage erfolgreich war, das Gerät des Kunden mit Hilfe des SDK auf die App Alipay umleiten, einschließlich der signeddata die in der Antwort AUTH zurückgegeben wird.
Weitere Informationen darüber, wie die signierten Daten analysiert und mit Hilfe des SDK übermittelt werden, finden Sie in der technischen Dokumentation vonAlipay(Link zu externer Seite).
Sobald der Kunde auf der App ist, wird er aufgefordert, weitere Informationen einzugeben, um die Zahlung abzuschließen. Zu einem späteren Zeitpunkt, wenn der Kunde die erforderlichen Schritte in der App Alipay erfolgreich abgeschlossen hat, wird das Gerät des Kunden wieder zu Ihrer App zurückgeleitet.
Beim Testen wird Ihnen die von Alipay bereitgestellte Sandbox angezeigt. Um eine Testtransaktion durchzuführen, müssen Sie den Anweisungen auf dem Bildschirm folgen. Bitte wenden Sie sich an Ihren Kundenbetreuer, um die Test-Zugangsdaten zu erhalten, die Sie in der Sandbox eingeben müssen.
3. Auth-Antwort verifizieren
Um zu überprüfen, ob die Zahlung erfolgreich abgewickelt wurde, während der Kunde die App Alipay verwendet hat, müssen Sie eine VERIFYAUTHRESPONSE Anfrage an Trust Payments senden:
VERIFYAUTHRESPONSE Anfrage
#!/usr/bin/python
import securetrading
stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)
verifyAuthResponse = {
"requesttypedescriptions": ["VERIFYAUTHRESPONSE"],
"parenttransactionreference": "44-86-102",
"sitereference": "test_site12345",
"verifystring": "ALIPAY SYNC RESPONSE STRING"
}
strequest = securetrading.Request()
strequest.update(verifyAuthResponse)
stresponse = st.process(strequest) #stresponse contains the transaction response
<?php
if (!($autoload = realpath(__DIR__ . '/../../../autoload.php')) && !($autoload = realpath(__DIR__ . '/../vendor/autoload.php'))) {
throw new Exception('Composer autoloader file could not be found.');
}
require_once($autoload);
$configData = array(
'username' => 'webservices@example.com',
'password' => 'Password1^'
);
$requestData = array(
'requesttypedescriptions' => array('VERIFYAUTHRESPONSE'),
'parenttransactionreference' => '44-86-102',
'sitereference' => 'test_site12345',
'verifystring' => 'ALIPAY SYNC RESPONSE STRING'
);
$api = \Securetrading\api($configData);
$response = $api->process($requestData);
var_dump($response->toArray());
?>
curl --user webservices@example.com:Password1^ <DOMAIN>/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
"alias": "webservices@example.com",
"version": "1.00",
"request": [{
"requesttypedescriptions": ["VERIFYAUTHRESPONSE"],
"parenttransactionreference": "44-86-102",
"sitereference": "test_site12345",
"verifystring": "ALIPAY SYNC RESPONSE STRING"
}]
}'
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"requesttypedescriptions":["VERIFYAUTHRESPONSE"],
"parenttransactionreference":"44-86-102",
"sitereference":"test_site12345",
"verifystring":"ALIPAY SYNC RESPONSE STRING"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="VERIFYAUTHRESPONSE">
<operation>
<parenttransactionreference>44-86-102</parenttransactionreference>
<sitereference>test_site12345</sitereference>
<verifystring>ALIPAY SYNC RESPONSE STRING</verifystring>
</operation>
</request>
</requestblock>
Feldspezifikation
Feld | Format | Beschreibung | |
parenttransactionreference XPath: /operation/parenttransactionreference |
Alphanumerisch & Bindestriche (25) |
Die transactionreference die in der Antwort AUTH zurückgegeben wird. | |
requesttypedescriptions XPath: /@type |
Alpha (20) | Sie müssen "VERIFYAUTHRESPONSE" eingeben, wie im Beispiel des Antrags gezeigt. | |
sitereference XPath: /operation/sitereference |
Alphanumerisch & Unterstrich (50) |
Identifiziert Ihre Website auf dem System Trust Payments .
Wenn Sie Ihre Website-Referenz nicht kennen, wenden Sie sich bitte an unser Support-Team. |
|
verifystring XPath: /operation/verifystring |
Wird zurückgegeben, wenn der Kunde von der App Alipay zurückgeleitet wird. |
VERIFYAUTHRESPONSE Antwort
Die in der Antwort VERIFYAUTHRESPONSE zurückgegebenen Informationen sollten verwendet werden, um die Nachricht zu bestimmen, die dem Kunden nach seinem Zahlungsversuch angezeigt wird.
{
u'requestreference': u'An3ug1kap',
u'version': u'1.00',
u'response': [{
u'transactionstartedtimestamp': u'2020-03-16 16:25:08',
u'errormessage': u'Ok',
u'errorcode': u'0',
u'requesttypedescription': u'VERIFYAUTHRESPONSE',
}]
}
array(3) {
["requestreference"] => string(9) "A0345jmuw"
["version"] => string(4) "1.00"
["response"] => array(1) {
[0]=> array(4) {
["transactionstartedtimestamp"] => string(19) "2020-03-16 16:25:08"
["errormessage"] => string(2) "Ok"
["errorcode"] => string(1) "0"
["requesttypedescription"] => string(18) "VERIFYAUTHRESPONSE"
}
}
}
{
"requestreference":"W23-fjgvn3d8",
"version":"1.00",
"response":[{
"transactionstartedtimestamp":"2020-03-16 16:25:08",
"errormessage":"Ok",
"errorcode":"0",
"requesttypedescription":"VERIFYAUTHRESPONSE"
}],
"secrand":"zO9"
}
<responseblock version="3.67">
<requestreference>Xd4nk260v</requestreference>
<response type="VERIFYAUTHRESPONSE">
<timestamp>2020-03-16 17:34:16</timestamp>
<error>
<message>Ok</message>
<code>0</code>
</error>
</response>
<secrand>Z1W</secrand>
</responseblock>
Feldspezifikation
Feld | Format | Beschreibung | |
errorcode XPath: /error/code |
Numerisch (1-5) |
Die Fehlercode (errorcode) sollte verwendet werden, um festzustellen, ob die Anfrage erfolgreich war oder nicht.
Klicken Sie hier für eine vollständige Liste der errorcode und Nachrichtenwerte. |
|
errormessage XPath: /error/message |
Alphanumerisch (255) |
Dies ist die entsprechende Meldung zum obigen Code.
Klicken Sie hier für eine vollständige Liste der errorcode und Nachrichtenwerte. |
|
requesttypedescription XPath: /@type |
Alpha (20) | Der zurückgegebene Wert ist "VERIFYAUTHRESPONSE". | |
transactionstartedtimestamp XPath: /timestamp |
Datum Uhrzeit JJJJ-MM-TT hh:mm:ss | Der Zeitpunkt, zu dem die Anfrage bearbeitet wurde. |
4. Abschluss der Zahlung
Nach Erhalt der Antwort VERIFYAUTHRESPONSE müssen Sie die zurückgegebenen Daten verwenden, um die entsprechende Antwortmeldung mit dem Ergebnis der Zahlung (z. B. Erfolg/Fehler) anzuzeigen.
Falls konfiguriert, wird unser System eine URL-Benachrichtigung übermitteln, um Sie über das Ergebnis Autorisierung zu informieren. Nach Autorisierung werden die Gelder zu einem späteren Zeitpunkt abgerechnet, wie von Alipay festgelegt.
Der Abrechnung Prozess für Alipay unterscheidet sich von dem Standardprozess bei kartenbasierten Zahlungsmethoden.
Die Meldung Abrechnung darf nicht unmittelbar nach der Bearbeitung der Anfrage gesendet werden. AUTH
Aus diesem Grund sollten Sie dem Kunden sofort eine Erfolgs- oder Fehlermeldung anzeigen, wenn er von den gehosteten Seiten von Alipayzurückkehrt, und nicht auf diese Benachrichtigung warten.
Für den unwahrscheinlichen Fall, dass die Zahlung nach 7 Tagen immer noch aussteht Abrechnung (settlestatus "10"), wird dies zur Untersuchung eingeplant und wir werden Sie mit weiteren Informationen kontaktieren.
Bevor Sie mit dem Testen beginnen, empfehlen wir Ihnen, sich mit unserem Support-Team in Verbindung zu setzen und zu beantragen, dass in Ihrem Konto Regeln aktiviert werden, die URL-Benachrichtigungen in den folgenden Szenarien an Ihr System übermittelt:
- Wenn eine Zahlung genehmigt wird.
- Wenn die Gelder abgewickelt sind.
Konfigurieren der Benachrichtigung Autorisierung
Wir empfehlen, mindestens die folgenden Felder in Ihre Autorisierung Meldung aufzunehmen:
- Basisbetrag (baseamount) (z.B. £10.50 ist "1050")*
- Hauptbetrag (mainamount) (z.B. £10.50 ist "10.50")*
- Rechnungsland (billingcountryiso2a)
- Währung (currencyiso3a)
- Fehlercode (errorcode)
- Live-Status (livestatus)
- Bestellnummer (orderreference)
- Zahlungsart (paymenttypedescription)
- Anforderungstyp (requesttypedescription)
- Abrechnungsstatus (settlestatus)
- Website-Referenz (sitereference)
- Transaktionsnummer (transactionreference)
- Zeitstempel Transaktionsstart (transactionstartedtimestamp)
*Bitte wählen Sie Ihr bevorzugtes Format.
Konfigurieren der Benachrichtigung Abrechnung
Wir empfehlen, die folgenden Felder in die URL-Benachrichtigungen auf Abrechnung aufzunehmen:
- Abrechnungsstatus (settlestatus)
- Website-Referenz (sitereference)
- Transaktionsnummer (transactionreference)
Prüfen Sie die Benachrichtigung
Sie müssen den Inhalt jeder eingegangenen Meldung prüfen und entsprechend reagieren, indem Sie die in unserer Website beschriebenen Verfahren befolgen. URL-Benachrichtigungen Dokumentation. Insbesondere müssen Sie sich die aktualisierte settlestatus Wert:
- Auf Autorisierung: Wenn die settlestatus 0", "1" oder "10" ist, wurde die Zahlung autorisiert und Sie müssen zu diesem Zeitpunkt keine weiteren Maßnahmen ergreifen. Werte von "2" oder "3" bedeuten jedoch, dass die Mittel nicht geplant für Abrechnung (ausgesetzt und storniert, bzw.).
- Auf Abrechnung: Wenn die settlestatus auf "100" aktualisiert wurde, bedeutet dies, dass der Betrag beglichen wurde. Wurde der Wert auf "3" aktualisiert, bedeutet dies, dass ein Problem aufgetreten ist und die Zahlung daraufhin storniert wurde.
Rückerstattungen
Nach der Abwicklung einer Zahlung mit Alipay ist es möglich, dem Kunden eine Rückzahlung zu gewähren, indem Sie eine Anfrage an REFUND senden.
Erstattungen für Alipay werden sofort abgerechnet (settlestatus "100").
Voraussetzungen
- Sie können eine Zahlung erst dann erstatten, wenn die AUTH abgewickelt wurde (settlestatus ist "100").
- Sie können keinen höheren Betrag erstatten, als ursprünglich abgerechnet wurde.
Die REFUND Anfrage und die Antwort für Alipay Zahlungen folgen der gleichen Feldspezifikation, wie sie in unserer Standarddokumentation REFUND beschrieben ist. Klicken Sie hier für weitere Informationen.