Alipay In-App betalingen voor Webservices API

  Laatst bijgewerkt: 

 

CW36.png

Alipay is een Chinese e-wallet die behoort tot AntFinancial, een filiaal van de Alibaba groep, het grootste e-commerce bedrijf ter wereld. Als u Alipay selecteert, worden de klanten doorgestuurd naar de pagina's waar ze hun persoonlijke gegevens invoeren en akkoord gaan met de betaling, voordat ze terug worden geleid naar uw website. Eenmaal voltooid, ontvangt u een bevestiging via een URL-kennisgeving.

  Ondersteunde landen   Geen beperkingen voor landen van de klant.
  Ondersteunde munteenheden   AUD, CAD, CHF, DKK, EUR, GBP, HKD, JPY, KRW, NOK, NZD, SEK, SGD, THB, USD
  Terugbetalingen

  Volledige en gedeeltelijke terugbetaling toegestaan.

  Terugboekingen

  Betalingen zijn niet onderhevig aan terugboekingen.

  Zero-authorisation

  Niet ondersteund.

  Terugkerende betalingen

  Niet ondersteund.

 

Configuratie

Om Alipay op uw account in te schakelen, neemt u contact op met uw accountmanager.
Er wordt een testzandbakaccount verstrekt, die u nodig hebt om uw implementatie te testen.

Voordat u kunt beginnen met het verwerken van In-App betalingen, moet u contact opnemen met Alipay en vragen of uw account is ingeschakeld voor In-App betalingen.
Klik hier voor meer informatie over In-App betalingen (link naar externe site).

 

  Overzicht van Alipay

  1. Initieer de klant
    • De klant gaat akkoord met een betaling via Alipay op de app van de verkoper.
    • Merchant dient AUTH verzoek in om de sessie te starten.
    • Merchant ontvangt AUTH antwoord, inclusief signeddata.

  2. Doorverwijzen naar Alipay
    • Merchant gebruikt Alipay's SDK om de Alipay app te openen op het apparaat van de klant (met behulp van de signeddata).
    • De klant volgt de instructies op Alipay om de betaling te autoriseren.
    • De klant wordt doorgestuurd naar de app van de verkoper met een verifystring waarde geleverd door Alipay.

  3. Auth-antwoord verifiëren
    • Merchant dient VERIFYAUTHRESPONSE aanvraag in, inclusief de verifystring.
    • Trust Payments neemt contact op met Alipay om het resultaat op te halen van de sessie die wordt gehost door Alipay.
    • De verkoper ontvangt het antwoord op VERIFYAUTHRESPONSE en gebruikt dit om het juiste bericht aan de klant weer te geven.

  4. Afwikkeling
    • Op een later tijdstip neemt Alipay contact op met Trust Payments met de bevestiging dat het geld is overgemaakt.
    • Trust Payments stuurt een URL-kennisgeving naar het systeem van de verkoper om te bevestigen dat het geld is vereffend.
    • Merchant ontvangt de melding en reageert op Trust Payments om te bevestigen dat de melding succesvol is ontvangen.

 

1. Initieer de klant

Wanneer de klant ervoor kiest om te betalen met Alipay, moet uw systeem een AUTH verzoek uitvoeren en, indien succesvol, de browser van de klant omleiden naar de URL die in het antwoord wordt geretourneerd.

 

AUTH verzoek (In-App betalingen)

Het onderstaande voorbeeldverzoek is voor een Alipay AUTH verzoek. met behulp van de In-App betalingen interface:

Python PHP cURL Ruwe JSON Ruwe XML
#!/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

Vervang <DOMAIN> met een ondersteund domein. Klik hier voor een volledige lijst.

 

Specificatie veld

  Veld Formaat Beschrijving
X1-EN.png accounttypedescription
XPath: /operation/accounttypedescription
Alpha (20) Alleen "ECOM" (e-commerce) wordt ondersteund.
X1-EN.png applicationsystem
XPath: /operation/applicationsystem
Alfa (7) Vereist indien applicationtype is "APP". Definieert het platform waarop de app wordt uitgevoerd. Ondersteunde waarden zijn "android" en "ios".
X1-EN.png applicationtype
XPath: /operation/applicationtype
Alpha (3) Bepaalt de betalingsinterface die aan de klant wordt getoond nadat hij is doorgestuurd naar de kassa die wordt gehost door Alipay:

Als "APP" wordt ingediend - De transactie wordt verwerkt met behulp van de Alipay In-App Payments interface, die in de eerste plaats is ontworpen voor gebruik vanuit mobiele apps.

Opmerking: Voordat u transacties kunt verwerken met In-App Payments (zowel via de sandbox-omgeving als met live betalingen), moet u contact opnemen met Alipay en verzoeken om de functionaliteit in te schakelen op uw Alipay account.

X1-EN.png baseamount
XPath: /billing/amount
Numeriek (13) Het bedrag van de transactie in basiseenheden, zonder komma's of decimalen, dus €10 wordt ingediend als 1000. Deze waarde moet groter zijn dan nul. (De maximumlengte kan variëren, afhankelijk van uw wervende bank - Neem contact op met uw bank voor meer informatie)
X1-EN.png currencyiso3a
XPath: /billing/amount/@currencycode
Alpha (3)

De Munt waarin de transactie zal worden verwerkt (in ISO3A-formaat).

Voor een lijst van Munt codes die worden ondersteund door Alipay, zie de lijst bovenaan deze pagina.

X1-EN.png orderreference
XPath: /merchant/orderreference
Alfanumeriek, inclusief symbolen (25)

 

Aanbevolen lengte 25 tekens of minder (exacte lengte afhankelijk van de wervende bank). Niet-naleving van deze eis kan ertoe leiden dat de tekst in de transactie wordt ingekort.

Uw unieke bestelreferentie die in het Trust Payments systeem kan worden opgeslagen.
X1-EN.png paymenttypedescription
XPath: /billing/payment/@type
Alpha (20) Deze waarde moet worden ingediend als "ALIPAY".
X1-EN.png returnurl
XPath: /merchant/returnurl
URL (2048) De URL waar de klant naar terugkeert na het verwerken van een betaling met Alipay.
X1-EN.png requesttypedescription
XPath: /@type
Alpha (20) De waarde in het verzoek moet "AUTH" zijn.
X1-EN.png sitereference
XPath: /operation/sitereference
Alfanumeriek
& underscore (50)
De site referentie heeft betrekking op uw individuele account die u bij de installatie hebt ontvangen. Als u uw site referentie niet kent, neem dan contact op met ons Support Team.

 

AUTH antwoord

Python PHP Ruwe JSON Ruwe XML
{
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'
}]
}

 

Specificatie veld

  Veld Formaat Beschrijving
X4-EN.png accounttypedescription
XPath: /operation/accounttypedescription
Alpha (20) De geretourneerde waarde is "ECOM".
X4-EN.png baseamount
XPath: /billing/amount
Numeriek (13) Het bedrag van de transactie in basiseenheden, zonder komma's of decimalen, dus €10 wordt geretourneerd als 1000.
X4-EN.png currencyiso3a
XPath: /billing/amount/@currencycode
Alpha (3)

De Munt waarin de transactie werd verwerkt (in ISO3A-formaat).

Voor een lijst van Munt codes die worden ondersteund door Alipay, zie de lijst bovenaan deze pagina.

X4-EN.png errorcode
XPath: /error/code
Numeriek (1-5) De foutcode (errorcode) moet worden gebruikt om te bepalen of het verzoek succesvol was of niet.
  • Als de foutcode "0" is, is de transactie geslaagd.
  • Als de foutcode (errorcode) niet "0" is, was de transactie niet succesvol.

Klik hier voor een volledige lijst van errorcode en berichtwaarden.

X4-EN.png errormessage
XPath: /error/message
Alfanumeriek (255) Dit is het bericht dat overeenkomt met de bovenstaande code.

Klik hier voor een volledige lijst van errorcode en berichtwaarden.

X4-EN.png orderreference
XPath: /merchant/orderreference
Alfanumeriek, inclusief
symbolen (25)
De unieke orderreferentie die is opgeslagen in het systeem van Trust Payments en Alipay.
X4-EN.png partnerid
XPath: /merchant/partnerid
Numeriek (16) Een unieke identificatiecode voor Alipay partners.
X4-EN.png paymenttypedescription
XPath: /billing/payment/@type
Alpha (20) De geretourneerde waarde is "ALIPAY".
X4-EN.png requesttypedescription
XPath: /@type
Alpha (20) De geretourneerde waarde is "AUTH".
X4-EN.png settlestatus
XPath: /settlement/settlestatus
Numeriek (3) Hiermee kunt u de status van de betaling bepalen. Raadpleeg het gedeelte " Omgaan met het antwoord " hieronder voor informatie over hoe u dit veld het best kunt interpreteren.
X4-EN.png signeddata
XPath: /other/signeddata
  Teruggestuurd van Alipay. Moet worden ingediend via de SDK wanneer de klant wordt doorgestuurd naar de Alipay app.
X2-EN.png errordata
XPath: /error/data
Alfanumeriek (255)

Aanvullende informatie om te helpen bij het oplossen van de fout.

Wordt alleen geretourneerd als er een fout is opgetreden.

 

Behandeling van het antwoord

Bij de behandeling van het antwoord op AUTH voor Alipay betalingen doen wij de volgende aanbevelingen controles om de volgende betalingen uit te voeren moeten nog steeds worden gevolgd, met uitzondering van de behandeling van de settlestatus veld, waarvoor verschillende voorwaarden gelden die hieronder nader worden toegelicht:

De settlestatus teruggestuurd in het antwoord op AUTH wordt gebruikt om de status van de betaling op Alipay te bepalen:

  Als de settlestatus is "10", is de betaling in behandeling. afwikkeling

  • Het geld is nog niet op uw bankrekening gestort.
  • De volgende stap is om het apparaat van de klant om te leiden naar de Alipay app met behulp van hun SDK om verder te gaan met de betaling.

Geld wordt pas op uw rekening gestort als de klant wordt doorgestuurd naar Alipay's app, om de betaling te voltooien. Lees verder voor meer informatie.

  • Wanneer er een update is van de Status betaling van de AUTH, ontvangt u een URL-kennisgeving om u te informeren dat de settlestatus is bijgewerkt tot "3" of "100".
  • Nadere informatie over de kennisgevingen is hieronder te vinden.

  Als de settlestatus is "3", de betaling is geannuleerd.

  • De betaling is geweigerd, of er is een fout opgetreden.
  • Om meer te weten te komen over waarom de betaling niet is gelukt, moet u kijken naar de errorcode. bijv. "70000" geeft aan dat de betaling is geweigerd. Klik hier voor een volledige lijst met foutcodes.
  • In zeldzame gevallen kan de settlestatus kan worden bijgewerkt van "3" tot "100" (wat betekent dat de betaling met succes is afgewikkeld). Als dit gebeurt, ontvangt u nog een URL-kennisgeving om u te informeren. Dit kan bijvoorbeeld komen doordat de klant rechtstreeks contact opneemt met Alipay om een probleem met zijn account op te lossen waardoor de betaling niet succesvol kon worden verwerkt.

 

2. Redirect naar Alipay app

Na controle van het antwoord op AUTH , als het verzoek succesvol was, moet u het apparaat van de klant omleiden naar de Alipay app met behulp van hun SDK, inclusief de signeddata teruggestuurd in het antwoord op AUTH .

Voor meer informatie over het parsen van de ondertekende gegevens en het indienen ervan met behulp van de SDK, zie Alipay's technische documentatie (link naar externe site).

Eenmaal op de app wordt de klant gevraagd aanvullende informatie in te voeren om de betaling te voltooien. Op een later tijdstip, als de klant de vereiste stappen op de Alipay app met succes heeft doorlopen, wordt het apparaat van de klant teruggeleid naar uw app.

  Bij het testen krijgt u de sandbox te zien die door Alipay ter beschikking wordt gesteld. Om een testtransactie te voltooien, moet u de instructies op het scherm volgen. Neem contact op met uw accountmanager voor testgegevens die u in de zandbak kunt invoeren.

 

3. Controleer Auth Response

Om te controleren of de betaling succesvol is verwerkt terwijl de klant de Alipay app gebruikte, moet u een VERIFYAUTHRESPONSE verzoek indienen bij Trust Payments:

 

VERIFYAUTHRESPONSE verzoek

Python PHP cURL Ruwe JSON Ruwe XML
#!/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

 

Specificatie veld

  Veld Formaat Beschrijving
X1-EN.png parenttransactionreference
XPath: /operation/parenttransactionreference
Alfanumeriek
en koppeltekens (25)
De transactionreference teruggestuurd in het antwoord op AUTH .
X1-EN.png requesttypedescriptions
XPath: /@type
Alpha (20) U moet "VERIFYAUTHRESPONSE" indienen, zoals in het verzoekvoorbeeld.
X1-EN.png sitereference
XPath: /operation/sitereference
Alfanumeriek
& underscore (50)
Identificeert uw site op het Trust Payments systeem.

Als u uw site referentie niet kent, neem dan contact op met ons Support Team.

X1-EN.png verifystring
XPath: /operation/verifystring
  Komt terug wanneer de klant wordt teruggestuurd vanuit de Alipay app.

 

VERIFYAUTHRESPONSE antwoord

De informatie in het antwoord op VERIFYAUTHRESPONSE moet worden gebruikt om het bericht te bepalen dat de klant te zien krijgt na zijn betalingspoging.

Python PHP Ruwe JSON Ruwe XML
{
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',
}]
}

 

Specificatie veld

  Veld Formaat Beschrijving
X4-EN.png errorcode
XPath: /error/code
Numeriek (1-5) De foutcode (errorcode) moet worden gebruikt om te bepalen of het verzoek succesvol was of niet.
  • Als de foutcode "0" is, is de transactie geslaagd.
  • Als de foutcode (errorcode) niet "0" is, was de transactie niet succesvol.

Klik hier voor een volledige lijst van errorcode en berichtwaarden.

X4-EN.png errormessage
XPath: /error/message
Alfanumeriek (255) Dit is het bericht dat overeenkomt met de bovenstaande code.

Klik hier voor een volledige lijst van errorcode en berichtwaarden.

X4-EN.png requesttypedescription
XPath: /@type
Alpha (20) De teruggezonden waarde is "VERIFYAUTHRESPONSE".
X4-EN.png transactionstartedtimestamp
XPath: /timestamp
Datum tijd JJJJ-MM-DD hh:mm:ss  Het tijdstip waarop het verzoek is verwerkt.

 

4. Voltooiing van de betaling

Na ontvangst van het antwoord VERIFYAUTHRESPONSE moet u de geretourneerde gegevens gebruiken om het juiste antwoordbericht weer te geven met het resultaat van de betaling (bv. succes/fout).

Indien geconfigureerd, zal ons systeem een URL-kennisgeving indienen om u te informeren over het resultaat van autorisatie . Na autorisatie worden de fondsen op een later tijdstip vereffend, zoals bepaald door Alipay.

  Het proces afwikkeling voor Alipay verschilt van het standaardproces dat wordt gevolgd bij betaalmethoden met een kaart.

  De afwikkeling kennisgeving mag niet onmiddellijk na de verwerking van de AUTH

Daarom moet u een succes- of foutmelding aan de klant tonen onmiddellijk nadat hij terugkeert van Alipay's gehoste pagina's, en niet wachten op deze melding.

In het onwaarschijnlijke geval dat de betaling na 7 dagen nog in behandeling is bij afwikkeling (settlestatus "10"), zal dit worden ingepland voor onderzoek en zullen wij contact met u opnemen voor verdere informatie.

Voordat u begint met testen, raden wij u aan contact op te nemen met ons Support Team en te verzoeken dat regels worden ingeschakeld op uw account, die URL-kennisgevingen naar uw systeem sturen in de volgende scenario's:

  • Wanneer een betaling is goedgekeurd.
  • Als de fondsen vereffend zijn.

 

Configuratie van de autorisatie melding

Wij raden u aan ten minste de volgende velden op te nemen in uw autorisatie kennisgeving:

  • Basisbedrag (baseamount) (bijv. 10,50 pond is "1050")*.
  • Hoofdbedrag (mainamount) (bijv. 10,50 pond is "10,50")*.
  • Land facturatie (billingcountryiso2a)
  • Munt (currencyiso3a)
  • Foutcode (errorcode)
  • Live Status (livestatus)
  • Bestelreferentie (orderreference)
  • Betalingstype (paymenttypedescription)
  • Verzoektype (requesttypedescription)
  • Status betaling (settlestatus)
  • Site referentie (sitereference)
  • Transactiereferentie (transactionreference)
  • Tijdstempel start transactie (transactionstartedtimestamp)

*Kies uw voorkeursformaat.

 

Configuratie van de afwikkeling melding

Wij raden aan de volgende velden op te nemen in URL-kennisgevingen die op afwikkeling worden verzonden:

  • Status betaling (settlestatus)
  • Site referentie (sitereference)
  • Transactiereferentie (transactionreference)

 

Controleer de kennisgeving

U moet de inhoud van elke ontvangen kennisgeving controleren en dienovereenkomstig reageren door de in onze URL-kennisgevingen documentatie. In het bijzonder moet u kijken naar de bijgewerkte settlestatus waarde:

  • Op autorisatie: Als de settlestatus "0", "1" of "10" is, is de betaling geautoriseerd en hoeft u op dit moment geen verdere actie te ondernemen. Waarden van "2" of "3" geven echter aan dat de fondsen niet gepland voor afwikkeling (opgeschort en geannuleerd, respectievelijk).
  • Op afwikkeling: Als de settlestatus is bijgewerkt tot "100", betekent dit dat het geld is vereffend. Als dit echter is bijgewerkt tot "3", betekent dit dat er een probleem is geweest en dat de betaling vervolgens is geannuleerd.

 

Terugbetalingen

Na het verwerken van een betaling met Alipay, is het mogelijk om de klant terug te betalen door een REFUND verzoek in te dienen.

Restituties voor Alipay worden onmiddellijk verrekend (settlestatus "100").

 

Vereisten

  • U kunt een betaling niet terugbetalen totdat de AUTH is voldaan (settlestatus is "100").
  • U kunt niet een hoger bedrag terugbetalen dan oorspronkelijk was verrekend.

Het REFUND verzoek en antwoord voor Alipay betalingen volgen dezelfde veldspecificatie als in onze standaard REFUND documentatie. Klik hier voor meer informatie.

Was dit artikel nuttig?
0 van de 0 vonden dit nuttig