Duplication check in Axepta BNP Paribas Online is designed to detect and manage duplicate payment attempts across multiple channels (API, HPP, etc.).
It ensures that users and merchants do not accidentally trigger multiple payments with identical parameters, including cases where a payment is already in progress.
Duplicates can originate from several causes :
User interaction errors (e.g., refresh, double-click, tab closure)
Merchant-side logic issues (e.g., retry loops)
Network latency or waiting times causing uncertainty about the payment status
Payment attempts still in progress when a new request is submitted
The merchant must choose the following elements, which will be configured on the Axepta BNP Paribas Online side :
Historical depth in which duplicates are checked: 1 hour to 4 days (in hours)
Scope: 1 or multiple MID
Consideration of "in progress" payments: yes/no
Duplicate checks are triggered before the payment page is displayed and between payment pages:
If a duplicate is detected, the user is redirected to the Failure URL
No payment is submitted if the request matches an existing or in-progress transaction
A failed transaction will not trigger duplicate detection.
Option 1: Payment made via the Payment Method Selection Page (HPP) or Card Payment Form (payssl) It is necessary to add at least one of the following parameters in the API calls to /payments/sessions and /payments:
order.merchantReference
order.invoiceId
Option 2: Duplicate Verification via API – Coming Soon The Axepta Online API provides an endpoint allowing merchants to verify if a transaction is a duplicate before submitting it:
Endpoint: coming soon
Parameter: merchantReference or invoiceId (required), Amount, Currency.
The API returns a status indicating whether a transaction is a duplicate :
| Status | Code | Description |
|---|---|---|
| OK | 00000000 | No duplicates detected |
| FAILED | 2XXX1550 | Payment already made |
| FAILED | 2XXX1551 | Payment pending |
| FAILED | 2XXX1552 | Multiple duplicates detected, additional criteria required |
If a duplicate is detected, the response also includes details of the existing transaction (PayID, TransactionID, Date, etc.).