Pay by Bank (ook bekend als Account to Account) voor Webservices API

  Laatst bijgewerkt: 

 

Pay by Bank (ook bekend als Account to Account of A2A ) is een betaalmethode via bankoverschrijving. Trust Payments biedt Pay by Bank een verwerkingspartner die is goedgekeurd door de financiële toezichthouders in het Verenigd Koninkrijk en de EER (Europese Economische Ruimte). Als u ervoor kiest om te betalen met Pay by Bank bij het afrekenen, worden klanten omgeleid naar een pagina die wordt gehost door onze verwerkingspartner, die hen vraagt om hun bank te selecteren. De bank bepaalt de volgende stappen die de klant onderneemt om de betaling goed te keuren, maar meestal wordt de klant gevraagd om een of andere vorm van SCA (Strong Customer Authentication) uit te voeren, bijvoorbeeld het bekijken en goedkeuren van de bestelling met behulp van een bankieren-app die op hun apparaat is geïnstalleerd. Zodra de klant akkoord gaat met de betaling, wordt hij uiteindelijk teruggeleid naar uw website.

  Ondersteunde landen   GB
  Ondersteunde munteenheden   GBP
  Terugbetalingen

  Niet ondersteund.

  Terugboekingen   Betalingen zijn niet onderhevig aan terugboekingen.
  Zero-authorisation

  Niet ondersteund.

  Terugkerende betalingen

  Niet ondersteund.

 

Configuratie

Neem contact op met je Account Manager om Pay by Bank in te schakelen op je account.
Er wordt een test sandbox account geleverd, die je nodig hebt om je implementatie te testen.

  Wij raden aan deze betaalmethode weer te geven als "Pay by Bank" bij het afrekenen, omdat uit de feedback die wij hebben ontvangen blijkt dat klanten meer vertrouwd zijn met deze term.

 

Procesoverzicht

  1. Initieer de klant
    • De klant gaat akkoord met een betaling via Pay by Bank op de website van de verkoper.
    • Merchant dient AUTH verzoek in om de sessie te starten, inclusief de returnurl.
    • Merchant ontvangt AUTH antwoord, inclusief redirecturl.

  2. Redirect naar inlogpagina bank
    • Merchant stuurt de browser van de klant door naar de redirecturl. Dit is een pagina gehost door een Trust Payments verwerkingspartner, die de klant vraagt zijn bank te selecteren.
    • De browser van de klant wordt dan doorgestuurd naar de pagina's van de geselecteerde bank, waar de klant wordt gevraagd in te loggen en de bestelgegevens te bekijken.
    • Als de klant akkoord gaat met de betaling en het afrekenproces succesvol is, wordt zijn browser uiteindelijk doorgestuurd naar de returnurl, een pagina gehost door de handelaar.

  3. Controleer het resultaat
    • U moet dan een TRANSACTIONQUERY verwerken en controleren of de gegevens in het antwoord overeenstemmen met die in het oorspronkelijke AUTH verzoek.
    • Dit is om ervoor te zorgen dat de gegevens in de redirect terug naar de returnurl tijdens het vervoer niet is gewijzigd.

  4. Voltooiing van de betaling
    • Na de TRANSACTIONQUERY kunt u vaststellen dat de transactie zich normaal gesproken in een van de twee staten bevindt, zoals aangegeven door de settlestatus:
      • 100 ("Betaald") - Transactie werd geautoriseerd en het geld heeft de rekening van de klant verlaten en zal worden verrekend op de bankrekening van de merchant in een tijdsbestek dat wordt bepaald door de voorwaarden die zijn overeengekomen met Trust Payments tijdens het onboardingproces.
      • 3 ("Geannuleerd") - Transactie is geannuleerd.
    • Maar er is een ander geval waarin de transactie in settlestatus 10 ("Betaling") staat. Dit betekent dat de transactie nog niet is voltooid. Gewoonlijk wordt dit binnen enkele minuten opgelost in 100 ("Betaald") of 3 ("Geannuleerd"), hoewel dit langer kan duren.
    • Zodra het bovenstaande is voltooid, kunt u vervolgens een passend bericht weergeven in de browser van de klant (bv. succes/fout).

 

1. Initieer de klant

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

Verderop in dit artikel geven we aanbevelingen over hoe je Pay by Bank kunt presenteren bij je kassa en tips om de klantbetrokkenheid te verbeteren. Klik hier om daarheen te scrollen.

 

AUTH verzoek

Het onderstaande voorbeeldverzoek is voor een Pay by Bank AUTH 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)

auth = {
"requesttypedescription": "AUTH",
"sitereference": "test_site12345",
"accounttypedescription": "ECOM",
"returnurl": "https://www.example.com/success",
"baseamount": "1050",
"currencyiso3a": "EUR",
"paymenttypedescription": "ATA"
}

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 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).

Raadpleeg de lijst bovenaan deze pagina voor een lijst met Munt codes die worden ondersteund door Pay by Bank.

X1-EN.png paymenttypedescription
XPath: /billing/payment/@type
Alpha (20) Deze waarde moet worden ingediend als "ATA".
X1-EN.png requesttypedescription
XPath: /@type
Alpha (20) De waarde in het verzoek moet "AUTH" zijn.
X1-EN.png returnurl
XPath: /merchant/returnurl
URL (2048) De URL waarnaar de klant wordt teruggestuurd na een succesvolle autorisatie.
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.
X3-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.

 

AUTH antwoord

Python PHP Ruwe JSON Ruwe XML
{
u'requestreference': u'An3ug1kap',
u'version': u'1.00',
u'responses': [{
u'requesttypedescription': u'AUTH',
u'baseamount': u'1050',
u'currencyiso3a': u'EUR',
u'paymenttypedescription': u'ATA',
u'errorcode': u'0',
u'errormessage': u'Ok',
u'livestatus': u'0',
u'merchantcountryiso2a': u'GB',
u'merchantname': u'Test Merchant',
u'operatorname': u'webservices@example.com',
u'accounttypedescription': u'ECOM',
u'redirecturl': u'https://web-app.sandbox.token.io/app/request-token/rq:xxx:yyy',
u'settleduedate': u'2022-02-09',
u'settlestatus': u'10',
u'transactionstartedtimestamp': u'2022-02-09 15:43:49',
u'transactionreference': u'1-2-345'
}]
}

 

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).

Raadpleeg de lijst bovenaan deze pagina voor een lijst met Munt codes die worden ondersteund door Pay by Bank.

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 livestatus
XPath: /live
Numeriek (1)
  • 0 - Transactie verwerkt met een testrekening.
  • 1 - Transactie verwerkt met een live rekening.
X4-EN.png operatorname
XPath: /merchant/operatorname
Alfanumeriek (255) De waarde van dit veld bevat de naam van de gebruiker die het verzoek heeft verwerkt.
X4-EN.png paymenttypedescription
XPath: /billing/payment/@type
Alpha (20) De teruggezonden waarde is "ATA".
X4-EN.png redirecturl
XPath: /other/redirecturl
URL (255) Stuur de browser van de klant door naar deze URL, die wordt gehost door een Trust Payments verwerkingspartner, zodat de klant de betaling kan voltooien.
X4-EN.png requesttypedescription
XPath: /@type
Alpha (20) De geretourneerde waarde is "AUTH".
X4-EN.png settleduedate
XPath: /settlement/settleduedate
Datum JJJJ-MM-DD De datum waarop de transactie zal worden afgewikkeld.
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 transactionreference
XPath: /transactionreference
Alfanumeriek, inclusief
koppeltekens (25)
Een unieke referentie voor de transactie, toegewezen door Trust Payments.
X4-EN.png transactionstartedtimestamp
XPath: /timestamp
Datum tijd JJJJ-MM-DD hh:mm:ss Het tijdstip waarop de transactie werd verwerkt.
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.

X2-EN.png

merchantcountryiso2a
XPath: /merchant/merchantcountryiso2a

Alpha (2)

Dit zijn gegevens die verband houden met de rekening die wordt gebruikt om de transactie te verwerken. Als u deze velden wilt wijzigen, neem dan contact op met ons Support Team.

De teruggegeven waarden zijn afhankelijk van uw accountconfiguratie.

 

X2-EN.png merchantname
XPath: /merchant/merchantname
Alfanumeriek (255)

 

Behandeling van het antwoord

De settlestatus teruggestuurd in het antwoord AUTH wordt gebruikt om de status van de betaling Pay by Bank 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 het omleiden van de browser van de klant naar de redirecturl om de betaling te voltooien.

Geld wordt pas op uw rekening gestort als de klant is doorverwezen naar de redirecturlom de betaling te voltooien. Lees verder voor meer informatie.

  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.

Naast het bovenstaande bevelen wij ook aan na de betaling aanvullende controles te verrichten.

 

2. Redirect naar inlogpagina bank

Uw systeem moet de browser van de klant omleiden naar de redirecturl, een pagina gehost door een Trust Payments verwerkingspartner, om de betaling te verwerken.

Daarbij wordt de klant doorverwezen naar pagina's van zijn bank, waar hij wordt gevraagd in te loggen op zijn rekening en de transactie te autoriseren.

  De redirecturl binnen een iframe. Hierdoor wordt de inhoud niet correct weergegeven en kan de betaling uiteindelijk niet succesvol worden afgerond.

  Tijdens het testen krijgt u de zandbakomgeving te zien. 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 sandbox kunt invoeren.

Op een later tijdstip wordt de klant teruggestuurd naar de returnurl verstrekt in het AUTH verzoek. Uw systeem krijgt een GET-verzoek terug dat de hieronder beschreven velden bevat:

  Veld Formaat Beschrijving
X4-EN.png orderreference Alfanumeriek, inclusief
symbolen (25)

Uw unieke bestelreferentie opgeslagen op het Trust Payments systeem.

Dit veld wordt leeg teruggestuurd indien het is weggelaten uit het AUTH verzoek.

X4-EN.png settlestatus Numeriek (3)

Een numerieke waarde die wordt gebruikt om de voortgang van afwikkeling met betrekking tot deze transactie aan te geven. U moet dit verifiëren door een TRANSACTIONQUERY verzoek uit te voeren zoals hieronder beschreven.

X4-EN.png transactionreference Alfanumeriek, inclusief
koppeltekens (25)
Unieke referentie van de transactie, beschikbaar nadat een betalingsverzoek is verwerkt. U moet dit gebruiken in een volgend TRANSACTIONQUERY verzoek met onze Webservices API om de huidige status van de betaling vast te stellen, zoals hieronder beschreven.

 

3. Controleer het resultaat

In dit stadium van het proces zal de klant zijn doorverwezen naar de returnurl en uw server moet het resultaat verifiëren door een TRANSACTIONQUERY verzoek te sturen, zoals in het onderstaande voorbeeld:

 

Voorbeeld aanvraag

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)

query = {
"requesttypedescriptions": ["TRANSACTIONQUERY"],
"filter":{
"sitereference": [{"value":"test_site12345"}],
"transactionreference": [{"value":"55-9-12345"}]
}
}

strequest = securetrading.Request()
strequest.update(query)
stresponse = st.process(strequest) #stresponse contains the transaction response

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

 

Specificatie van het verzoekveld

  Veld Formaat Beschrijving
X1-EN.png sitereference
XPath: /filter/sitereference
Alfa (50) De sitereferentie die de transactie heeft verwerkt.
X1-EN.png transactionreference
XPath: /filter/transactionreference
Alfanumeriek, inclusief koppeltekens (25) De unieke referentie geassocieerd met de Pay by Bank transactie.

 

Antwoord

Wanneer u een antwoord ontvangt op TRANSACTIONQUERY , moet u in de eerste plaats kijken naar de transactionreference en orderreferencedie u kunt gebruiken om de transactie correct te identificeren, zodat u de bestelling in uw eigen administratie kunt bijwerken.

Ten tweede moet u de waarde van de settlestatus teruggestuurd in het antwoord op TRANSACTIONQUERY , omdat u daarmee het resultaat van de transactie kunt bepalen:

  • 100 ("Settled") - De klant heeft de Pay by Bank transactie goedgekeurd en de acquiring bank heeft vervolgens de overboeking goedgekeurd. Fondsen worden verrekend op de bankrekening van de merchant binnen een tijdsbestek dat wordt bepaald door de voorwaarden die zijn overeengekomen met Trust Payments tijdens het onboardingproces.
  • 3 ("Geannuleerd") - De transactie is geannuleerd.
  • 10 ("Pending") - De transactie is in afwachting van autorisatie en zal later worden bijgewerkt tot 3 of 100, afhankelijk van de vraag of transactie autorisatie succesvol was.

Ten slotte is het een goede gewoonte om de andere velden in het antwoord op TRANSACTIONQUERY te bekijken om na te gaan of zij ook de verwachte waarden bevatten.

Ruwe JSON
{
"requestreference": "W57-4r9dhbtx",
"version": "1.00",
"response": [
{
"transactionstartedtimestamp": "2021-11-29 14:12:45",
"errormessage": "Ok",
"errorcode": "0",
"records": [
{
"authmethod": "FINAL",
"billingcounty": "Gwynedd",
"transactionstartedtimestamp": "2021-11-29 14:10:04",
"sitereference": "test_site12345",
"billingstreet": "Test Street",
"transactionreference": "57-97-146",
"billingcountryiso2a": "GB",
"billingemail": "test@test.com",
"billingfirstname": "Joe",
"livestatus": "0",
"splitfinalnumber": "1",
"settleduedate": "2021-11-29",
"billingpremise": "123",
"errorcode": "0",
"baseamount": "2000",
"billingtown": "Bangor",
"acquirertransactionreference": "05b3f4d0-feba-4c49-b97f-f126b5871f21",
"billingpostcode": "TR45 6ST",
"merchantname": "Merchant test site",
"paymenttypedescription": "ATA",
"orderreference": "MyOrder123",
"settledtimestamp": "2021-11-29 14:10:04",
"accounttypedescription": "ECOM",
"updatereason": "stgateway",
"requesttypedescription": "AUTH",
"customerip": "1.2.3.4",
"currencyiso3a": "GBP",
"billinglastname": "Bloggs",
"settlebaseamount": "2000",
"errormessage": "Ok",
"interface": "JWT-JWT-JWT",
"operatorname": "webservices@example.com",
"settlestatus": "0",
"customercountryiso2a": "GB",
"customercounty": "Gwynedd",
"customeremail": "test@test.com",
"customerfirstname": "Joe",
"customerlastname": "Bloggs",
"customerpostcode": "TR45 6ST",
"customerpremise": "123",
"customerstreet": "Test Street",
"customertown": "Bangor"
}
],
"found": "1",
"requesttypedescription": "TRANSACTIONQUERY"
}
],
"secrand": "lN"
}

 

4. Voltooiing van de betaling

Zodra de klant terugkeert van de door zijn bank gehoste pagina's naar de returnurl gehost op uw site, en u hebt de bovenstaande stappen gevolgd om de status van de transactie te bepalen, moet u een passend bericht weergeven in de browser van de klant (bv. succes of fout).

 

Afwikkeling

  Het afwikkeling proces voor Pay by Bank verschilt van het standaardproces dat wordt gevolgd bij kaartbetalingen

Zodra een betaling is toegestaan, wordt de settlestatus zal worden bijgewerkt tot "100". afwikkeling van fondsen op uw bankrekening zal op een later tijdstip plaatsvinden, zoals bepaald door de voorwaarden en tijdlijnen die zijn overeengekomen met Trust Payments tijdens het onboardingproces.

  In zeldzame gevallen kan een Pay by Bank transactie niet worden bijgewerkt naar settlestatus "100"

In het onwaarschijnlijke geval dat een 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.

 

De klantervaring ontwerpen

Omdat je klanten misschien niet bekend zijn met Pay by Bank en hoe dit hun betaalervaring kan stroomlijnen, raden we aan om dit te benadrukken in je kassa en het gemak dat Pay by Bank kan bieden te benadrukken, omdat onderzoek heeft aangetoond dat klanten eerder geneigd zijn om nieuwe betaalmethoden te gebruiken.

Om precies te zijn, als uw klant aan uw kassa staat met zijn mobiele apparaat, kan hij een aankoop afronden via de bank-app die op het mobiele apparaat is geïnstalleerd, wat betekent dat hij geen kaartgegevens hoeft in te voeren. Het proces is zo eenvoudig als het aanmelden bij hun bank-app om de transactie te autoriseren, wat meestal inhoudt dat ze een pincode invoeren of ontgrendelen met behulp van biometrische verificatie, zoals een ingebouwde vingerafdruklezer of gezichtsherkenning.

We raden je ook aan om klanten die ervoor hebben gekozen om te betalen via Pay by Bank te informeren dat ze ermee akkoord gaan om hun bankgegevens te delen met Trust Payments als hun bank daarom vraagt, zodat de backofficeprocessen beter kunnen verlopen.

 

Uw transacties beheren in MyST

Net als bij elke andere betaalmethode kunnen alle Pay by Bank transacties worden bekeken en beheerd in MyST, onze online portal. Houd bij het werken met Pay by Bank transacties rekening met het volgende:

  • Houd er rekening mee dat Pay by Bank in MyST vaak wordt weergegeven als "Pay by Bank", met een groene achtergrond. Maar het kan ook worden weergegeven als "Account to account" (bijvoorbeeld in de Compact-modus).

 

Test

U moet uw oplossing testen voordat u live betalingen kunt gaan verwerken. Testtransacties worden verwerkt via uw test site referentie.

  Vereisten

U moet contact opnemen met ons Support Team en vragen dat uw test site referentie wordt geconfigureerd om rechtstreeks verbinding te maken met de sandbox-omgeving. Test frameworks en sandboxes worden individueel geregeld met elk van onze deelnemende merchants.

Bij het uitvoeren van testtransacties zal de redirect URL in het antwoord op AUTH je browser omleiden naar de sandboxomgeving om het betaalproces op Pay by Bank te simuleren. We zullen je voorzien van testgegevens die je nodig hebt om door de interface te gaan.

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