The payment page hosted by Axepta BNP Paribas is used when a merchant wants to offer a complete and customized payment experience to their customers. This method is ideal for e-commerce sites that want to integrate a secure payment solution compliant with current standards.

This integration requires minimal development effort, supports multiple payment methods under a single implementation, and ensures that customer sensitive data remains entirely within Axepta BNP Paribas systems. By outsourcing payment processing, your business significantly reduces responsibilities and costs related to PCI-DSS compliance.


Summary



1. Key Advantages

  • Optimized User Experience: Provide your customers with an intuitive, secure, and responsive payment interface
  • Minimal Development Effort: Offer multiple payment methods under a single implementation

  • Compliance with Standards: Comply with current regulations through Axepta BNP Paribas's management of customer sensitive data, significantly reducing your PCI-DSS compliance responsibilities and costs


2. Payment Flow

 Customer proceeds to checkout on your online store.

  1. Your frontend requests the payment page to the backend.
  2. Your backend makes a Create checkout session call to Axepta BNP Paribas.

  3. Axepta BNP Paribas responds with the redirect URL to your backend.
  4. Your backend orchestrates the browser to redirect the User Interface to the redirect URL.
  5. Customer is redirected to Hosted payment page hosted by Axepta BNP Paribas.
  6. Customer selects its preferred payment method and completes payment.
  7. Upon completion, customer is redirected to the return URL that was submitted by you during Create checkout session call (urls.return) with payId in the query parameters.
  8. Browser fetches the return URL hosted by your backend.
  9. Backend makes a GET Payment details call with payId to retrieve the response code of the payment.
  10. Axepta BNP Paribas responds with the responseCode of the payment along with other parameters.
  11. Backend returns a success or a failure page based on the response code of the payment.


3. Create checkout session (step by step)

(Swagger documentation of the /payment/session API: Create checkout session )

Technical Connection Data

Technical connection data must be passed in the HTTP headers of the REST request:

  • Content-Type

The payload type: data must be passed in a JSON payload.

Content-Type: application/json

  • Authorization data received during the OAuth-v2 authentication step

This includes the token type and JSON Web Token (JWT). They must be specified in the 'Authorization' header.

Authorization: <token_type> <YOUR_JWT>

  • Idempotency ID

Essential for detecting possible HTTP repetitions.

Use the 'Idempotency-Key' header and generate a uuid-v4 as the value

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

Minimal Data

To initiate payment, the minimum required data includes:

  • Merchant-side transaction identifier: 'transId'

  • The amount and currency of the transaction: 'amount' object

    • Composed of 'currency' and 'value' data
    • The amount must always be expressed in the smallest unit of the transaction currency (e.g., EUR cents)
  • Customer identification: 'customerInfo' object

    • At minimum, the customer's email: 'email'
    • It is highly recommended to provide customer identification on the merchant website: 'merchantCustomerId'

This data is essential for the 'One-Click' functionality

  • Order data: 'order' object

    • At least one of the following: order number 'merchantReference' or invoice number 'invoiceId' generated on the merchant website
    • It is recommended to provide both
  • Return URLs: 'urls' object

    • Mandatory addresses for 3 return URLs: return, cancel, webhook
curl -i -X POST \
  https://test.paymentpage.axepta.bnpparibas/api/v2/payments/sessions \
  -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": {
        "merchantCustomerId": "id-8803",
        "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" 
    }
}

Response and redirect to the payment page

You should receive an HTTP 202 response message indicating that transaction processing has been initiated and that a payment context has been created on the server.

The response body contains the link to the payment page hosted on the Axepta BNP Paribas Online platform.

You must redirect the customer's browser to this link.

{
    "_links": {
        "redirect": {
            "href": "https://test.paymentpage.axepta.bnpparibas/paymentpage.aspx?token=eb577d2d61ba4396bfeb0de554e76a70",
            "type": "text/html"
        }
    }
}



4. Recommendations

We recommend transmitting at least the following data:

  • Transaction Identifier: The unique payment identifier
  • Payment Amount: The amount to be paid by the customer.
  • Currency: The currency used for the payment.
  • Customer Identifier: The unique customer identifier
  • Email: The customer's email
  • Order Identifier (order.merchantReference): The order identifier
  • Invoice Identifier (order.invoiceId): The invoice identifier associated with this payment

Our complete guidelines are available here: Integration recommendation - Documentation Axepta BNP Paribas - Axepta


5. Available payment methods

We offer the following payment methods tailored to your specific needs as well as those of your customers:

  • Cards
    • American Express (AMEX)
    • Cartes Bancaires
    • Union Pay International (UPI)
    • Diners
    • Discover
    • JCB
    • MasterCard
    • Visa
  • Bancontact
  • Wallets
  • Paiements fractionnés
    • Floa
  • Offres de crédit
    • PF Connect
  • Virement instantané (Instanéa)
  • Wero


6. Related features

  • Automatic Generation of End-to-End Reference (RefNr): Each transaction is assigned a unique automatically generated reference.
  • Duplication Control: Detect and manage duplicate payment attempts to prevent errors - Enabled during your store configuration or via a support request
  • Confirmation Email: Axepta BNP Paribas can send a confirmation email to the customer for successful or failed payments - Enabled during your store configuration or via a support request