Het kaartbetaalformulier wordt gebruikt wanneer een handelaar een vereenvoudigde en veilige betaaloplossing voor kaarttransacties wil aanbieden.

Deze methode is ideaal voor e-commercewebsites die een snelle betaaloplossing willen integreren die voldoet aan de veiligheidsnormen.


Samenvatting



1. Belangrijkste voordelen

  • Geoptimaliseerde gebruikerservaring: Bied uw klanten een intuïtieve, veilige en responsieve betaalinterface.
  • Veiligheid en naleving van normen: Voldoen aan de huidige regelgeving via het beheer van gevoelige klantgegevens door Axepta BNP Paribas, waardoor uw verantwoordelijkheden en kosten voor PCI-DSS-naleving aanzienlijk worden verminderd.
  • Flexibiliteit: Laat klanten betalen met verschillende kaarten (bijv. Visa, Mastercard, Bancontact).


2. Betaal Flow

hosted-forms_partner.png

De klant voert de betaling uit in uw webshop:

  1. Uw frontend vraagt de betaalpagina aan bij de backend.

  2. Uw backend doet een betaalverzoek met 'paymentMethods.integrationType=HOSTED' naar Axepta BNP Paribas.

  3. Axepta BNP Paribas reageert met een HTTP 202-statuscode en een doorverwijzings-URL naar uw backend.

  4. Uw backend zorgt ervoor dat de browser de klant doorstuurt naar de doorverwijzings-URL.

  5. De klant wordt doorgestuurd naar het betaalformulier van Axepta BNP Paribas.

  6. De klant vult de betaalgegevens in en voltooit de betaling.

  7. Na afronding wordt de klant teruggestuurd naar de return-URL die u hebt opgegeven bij het betaalverzoek (urls.return), met de payId in de URL-parameters.

  8. De browser laadt de return-URL, die door uw backend wordt gehost.

  9. Uw backend doet een GET Payment details-aanroep met de payId om de betaalstatus op te halen.

  10. Axepta BNP Paribas stuurt de betaalstatuscode terug, samen met andere parameters.

  11. Uw backend toont een succes- of foutpagina aan de klant, gebaseerd op de betaalstatus.


3.  Aanmaken van een payment-sessie 

(API /payment Swagger Documentation: Create payment )

Payment sessie (eenvoudig betaling)

Technische Verbindingsgegevens

Technische verbindingsgegevens moeten worden meegegeven in de HTTP-headers van de REST-aanvraag:

  • Content-Type

het type payload; gegevens moeten in een JSON-payload worden meegegeven.

Content-Type: application/json

  • Autorisatiegegevens, ontvangen tijdens de OAuth-v2-authenticatiestap. Dit omvat het token type en JSON Web Token (JWT).
    Deze moeten worden gespecificeerd in de 'Authorization'-header. 

Authorization: <token_type> <YOUR_JWT>

  • Idempotentie ID

Essentieel voor het detecteren van mogelijke HTTP-herhalingen.

Gebruik de 'Idempotency-Key'-header en genereer een uuid-v4 als waarde. 

Idempotency-Key: "8f35cb16-2f05-4aa1-85cf-b1e41ee7aec9"


Minimale Gegevens Data

Om een betaling te starten, zijn de volgende minimale gegevens vereist:

  • Merchant-side transaction identifier: 'transId'
    • Het bedrag en de valuta van de transactie: 'amount'-object, bestaande uit 'currency' en 'value'.
    • Het bedrag moet altijd worden uitgedrukt in de kleinste eenheid van de transactievaluta (bijvoorbeeld EUR-centen).
  • Klantidentificatie: 'customerInfo'-object.
    • Minimaal het e-mailadres van de klant: 'email'.
    • Het is sterk aangeraden om ook de klantidentificatie op de handelaarswebsite mee te geven: 'merchantCustomerId'.
    • Deze data is essentieel voor de 'One-Click'-functionaliteit.
  • Orderdata: 'order'-object.
    • Minimaal één van de volgende: ordernummer 'merchantReference' of factuurnummer 'invoiceId' gegenereerd op de handelaarswebsite.
    • Het is aangeraden om beide te verstrekken.
  • Return-URL's: 'urls'-object.
    • Verplichte adressen voor 3 return-URL's: return, cancel, webhook.
  • Gewenst betaaltype: het 'paymentMethods'-object

    • Hierin moet worden gespecificeerd:

      • Of de betaling wordt gehost door Axepta BNP Paribas Online of volledig aan de kant van de handelaar wordt verwerkt: 'integrationType'

      • Het gewenste betaaltype: 'type'

Voorbeeld van minimale create session curl
curl -i -X POST \
  https://test.paymentpage.axepta.bnpparibas/api/v2/payments \
  -H 'Authorization: <token_Type> <YOUR_JWT>' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: "8f35cb16-2f05-4aa1-85cf-b1e41ee7aec9" \
  -d '{
    "transId": "95330876-67ae-4949-a11c-b9a29257831b",
 	"amount": {
    	"currency": "EUR",
    	"value": 1500
    },
    "customerInfo": {
        "email": "john-doe@email.com"
    },
 	"order": {
    	"merchantReference": "order7811",
        "invoiceId": "invoice10240203569454"
    },
 	"urls": {
 		"return":"https://myProcessingServer.net/myApi/success.php?transId=95330876-67ae-4949-a11c-b9a29257831b",
		"cancel":"https://myProcessingServer.net/myApi/cancel.php?transId=95330876-67ae-4949-a11c-b9a29257831b",
 		"webhook":"https://myBackOfficeServer.net/webhook.php" 
    },
    "paymentMethods": {
        "integrationType": "HOSTED",
        "type": "CARD"
	}
}'


Voorbeeld van een kaartbetaalformulier



iframe betaling

Om de betaalpagina in een aparte iframe te openen, moet je het object 'template' gebruiken. Stel hierin het veld 'customField14' in met de waarde: "iframe".

Het 'template'-object laat toe om de betaalpagina aan te passen.

Zie de documentatie voor meer details: Aanpassing van de afrekenervaring

Exemple object template pour iframe
...
	"template": {
		"customFields": {
	    	"customField14": "iframe"
		}
	},
...

Voorbeeld van een betaalpagina weergegeven in een aparte iframe




4. Aanbevelingen

We raden aan om minstens de volgende gegevens door te sturen:

  • Transactie-identifier: de unieke betalingsidentifier
  • Betaalbedrag: het bedrag dat de klant moet betalen
  • Valuta: de valuta gebruikt voor de betaling
  • Klantidentifier: de unieke klantidentifier
  • E-mail: het e-mailadres van de klant
  • Orderidentifier (order.merchantReference): de orderidentifier
  • Factuuridentifier (order.invoiceId): de factuuridentifier gekoppeld aan deze betaling

Onze complete richtlijnen zijn beschikbaar: https://axeptabnpparibas-docs.redocly.app/


5. Beschikbare betaalmethoden

We bieden de volgende betaalmethoden, afgestemd op uw specifieke behoeften en die van uw klanten:


6. Gerelateerde functies

  • Automatische generatie van end-to-end-referentie (RefNr): elke transactie krijgt een unieke, automatisch gegenereerde referentie.
  • Duplicaatcontrole: detecteert en beheert dubbele betaalpogingen om fouten te voorkomen. Deze functie is beschikbaar tijdens de configuratie van uw webshop of via een supportverzoek.
  • No labels