# Axepta Online API The Axepta Online API allows you to seamlessly process and manage payments, supporting 350+ payment methods worldwide. Built on REST principles, the API is designed to be predictable and developer-friendly, with resource-oriented URLs, JSON-encoded requests and responses, and standard HTTP status codes. **Security** The Axepta Online API is designed with maximum security while remaining easy to implement. All communication occurs over HTTPS (TLS 1.2 or higher), ensuring end-to-end encryption at the transport level. This prevents packet sniffing, replay attacks, and other vulnerabilities without requiring additional encryption of the data itself. **Test Before You Go Live** Use our test environment to test your integration without affecting live data. The root URL determines whether the request is for test or live integration. Version: 2.0.0 ## Servers Test server ``` https://test.paymentpage.axepta.bnpparibas/api/v2 ``` Production server ``` https://paymentpage.axepta.bnpparibas/api/v2 ``` ## Security ### bearerAuth You should use the token obtained from the /authorization/oauth/token endpoint. Type: http Scheme: bearer Bearer Format: JWT ### basicAuth Type: http Scheme: basic ## Download OpenAPI description [Axepta Online API](https://axeptabnpparibas-docs.redocly.app/_spec/index.yaml) ## Authentication **Securely authenticate API requests using Basic Auth or OAuth 2.0** The Axepta Online API supports two authentication methods to ensure secure access to payment processing and management endpoints. Choose the approach that aligns with your integration needs: **Basic Authentication** Use your Merchant ID as the username and API Key as the password. Combine them in the format `MerchantID:APIKey`, encode the string using Base64, and include it in the Authorization header with the `Basic` prefix for direct access to endpoints. **OAuth 2.0** Generate a short-lived JSON Web token (JWT) by authenticating with your API key via the `authorization/oauth/token` endpoint. ### Request OAuth Token - [POST /authorization/oauth/token](https://axeptabnpparibas-docs.redocly.app/authentication/authorizationservice.md) ## Payments **Create checkout session** This endpoint generates a URL for a hosted payment page where customers can securely select their preferred payment method and complete their transaction. **Create payment** This endpoint is used to initiate a payment for a specific payment method. You can choose between two integration types: * HOSTED: Returns a URL for a payment method-specific hosted form, where the customer is redirected to securely complete the payment. * DIRECT: Enables server-to-server communication, where you manage the payment UI and directly interacts with the API to process payments. Note that not all payment methods support both HOSTED and DIRECT integration types. Some support only one of these options, while others support both. For detailed information about the supported integration types for each payment method, refer to the payment method-specific documentation in our product guide. **Confirm payment** This endpoint is used for payment methods that require a multi-step payment flow. It allows you to confirm a previously created payment instance (initiated via the Create Payment endpoint) to complete the transaction. This step is essential for certain payment methods to finalize the payment process. **Incremental authorization** This endpoint allows you to increase the authorized amount for an existing card transaction when the initial authorization is insufficient. The additional amount is appended to the original authorization, and the total authorized amount reflects both. **Reverse payment** This endpoint is used to reverse a payment that has not yet been captured, effectively canceling the authorization. **Capture payment** This endpoint is used to capture an existing authorized payment. **Refund payment** This endpoint is used to refund a captured payment. **Refund payment without reference** This endpoint is used to refund a payment without reference. **Retrieve payment details by Payment ID** This endpoint is used to retrieve payment details with the Payment ID (payId) **Retrieve payment details by Transaction ID** This endpoint is used to retrieve payment details with the Transaction ID (transId) **Update payment details** This endpoint is used to update payment details **Create payment link** This endpoint allows you to generate a payment link that can be shared with customers via email, SMS, or other channels. When customers click the link, they are redirected to a hosted payment page where they can select their preferred payment method and complete the transaction. ### Create checkout session - [POST /payments/sessions](https://axeptabnpparibas-docs.redocly.app/payments/createsession.md): This endpoint generates a URL for a hosted payment page where customers can securely select their preferred payment method and complete their transaction. ### Create payment - [POST /payments](https://axeptabnpparibas-docs.redocly.app/payments/createpayment.md): This endpoint is used to initiate a payment for a specific payment method. You can choose between two integration types: HOSTED: Returns a URL for a payment method-specific hosted form, where the customer is redirected to securely complete the payment. DIRECT: Enables server-to-server communication, where you manage the payment UI and directly interacts with the API to process payments. Note that not all payment methods support both HOSTED and DIRECT integration types. Some support only one of these options, while others support both. For detailed information about the supported integration types for each payment method, refer to the payment method-specific documentation in our product guide. ### Confirm payment - [POST /payments/{id}/confirms](https://axeptabnpparibas-docs.redocly.app/payments/confirmpayment.md): This endpoint is used for payment methods that require a multi-step payment flow. It allows you to confirm a previously created payment instance (initiated via the Create Payment endpoint) to complete the transaction. This step is essential for certain payment methods to finalize the payment process. ### Incremental authorization - [POST /payments/{id}/incrementals](https://axeptabnpparibas-docs.redocly.app/payments/incrementauthorization.md): This endpoint allows you to increase the authorized amount for an existing card transaction when the initial authorization is insufficient. The additional amount is appended to the original authorization, and the total authorized amount reflects both. ### Reverse payment - [POST /payments/{id}/reversals](https://axeptabnpparibas-docs.redocly.app/payments/reversepayment.md): This endpoint is used to reverse a payment that has not yet been captured, effectively canceling the authorization. ### Capture payment - [POST /payments/{id}/captures](https://axeptabnpparibas-docs.redocly.app/payments/capturepayment.md): This endpoint is used to capture an existing authorized payment. ### Refund payment with reference - [POST /payments/{id}/refunds](https://axeptabnpparibas-docs.redocly.app/payments/refundpayment.md): This endpoint is used to refund a captured payment. ### Refund payment without reference - [POST /payments/refunds](https://axeptabnpparibas-docs.redocly.app/payments/refundexternalpayment.md): This endpoint is used to refund a payment without reference. ### Retrieve payment details by Payment ID - [GET /payments/getByPayId/{id}](https://axeptabnpparibas-docs.redocly.app/payments/getpaymentdetailsbypaymentid.md): Returns all details about existing payment. ### Retrieve payment details by Transaction ID - [GET /payments/getByTransId/{id}](https://axeptabnpparibas-docs.redocly.app/payments/getpaymentdetailsbytransactionid.md): This endpoint is used to retrieve payment details with the Transaction ID (transId). ### Update payment details - [PATCH /payments/{id}](https://axeptabnpparibas-docs.redocly.app/payments/updatepaymentdetails.md): Update details about existing payment. ### Create payment link - [POST /payments/links](https://axeptabnpparibas-docs.redocly.app/payments/createpaymentlink.md): This endpoint allows you to generate a payment link that can be shared with customers via email, SMS, or other channels. When customers click the link, they are redirected to a hosted payment page where they can select their preferred payment method and complete the transaction. ## Customers **Retrieve customers** This endpoint is used to retrieve a list of customers. **Retrieve customer** This endpoint is used to retrieve details of a specific customer. **Update customer data** This endpoint is used to update customer data. **Delete customer** This endpoint is used to delete a specific customer and associated payment methods. **Retrieve payment methods** This endpoint is used to retrieve all payment methods for a specific customer. **Retrieve payment method** This endpoint is used to retrieve details of a specific payment method. **Delete payment method** This endpoint is used to delete a specific payment method. ### Get list of customers - [GET /customers](https://axeptabnpparibas-docs.redocly.app/customers/getcustomers.md): Get list of customers ### Get customer details - [GET /customers/{id}](https://axeptabnpparibas-docs.redocly.app/customers/getcustomer.md): Get customer details ### Update customer details - [PATCH /customers/{id}](https://axeptabnpparibas-docs.redocly.app/customers/updatecustomer.md): Updates details about customer ### Delete customer details - [DELETE /customers/{id}](https://axeptabnpparibas-docs.redocly.app/customers/deletecustomer.md): Delete customer details ### Get list of payment methods for customer - [GET /customers/{id}/paymentMethods](https://axeptabnpparibas-docs.redocly.app/customers/getpaymentmethods.md): Get list of payment methods for customer ### Get payment method details - [GET /customers/{customerId}/paymentMethods/{paymentMethodId}](https://axeptabnpparibas-docs.redocly.app/customers/getpaymentmethod.md): Get payment method details ### Delete payment method details - [DELETE /customers/{customerId}/paymentMethods/{paymentMethodId}](https://axeptabnpparibas-docs.redocly.app/customers/deletepaymentmethod.md): Delete payment method details