Contents
→ Updated version will be provided end of 2023 |
This document describes the BNP SDK authentication method and the corresponding parameters for the request and the responses passed back. If a merchant develops an app of its own, this method is necessary so that secure authentication takes place via the BNP interface, independently of the app. The authentication is based on a one-off token that is exchanged between BNP and the merchant.
Further information about integration of the SDK can be found within GitHub repository at https://github.com/axepta.
High level process overview:
For the authentication request, the merchant’s endpoint should accept a POST request with Content-Type: application/json and a JSON body like this:
{
"merchantID" : <BNP_MerchantID>
}
The Mobile SDK expects a JSON object as response from merchant’s endpoint, so merchant’s endpoint needs to create a JSON object with attributes from the response and also the generated AuthToken and AuthLabel like this:
{
"AuthToken“: <generated_token>,
"AuthLabel": <generated_label>,
“ExpiryDate”: <expiry_date_of_token>
"Description": <description_from_axepta_response>,
"Status": <status_from_axepta_response>,
"Code": <code_from_axepta_response>
}
In order to register a one-off token for encryption on BNP Payment platform, the merchant must transmit the following parameters to BNP via a server-to-server connection. Use the following URL to do this:
Notice: For security reasons, Payment platform rejects all payment requests with formatting errors. Therefore please use the correct data type for each parameter.
The following table describes the encrypted payment request parameters:
Parameter | Format | CND | Description | |
---|---|---|---|---|
MerchantID | ans..30 | M | ID of merchant. Additionally this parameter has to be passed in plain language too. | |
AuthToken | an16..56 | M | Unique token generated by merchant which is used to decrypt the payment request | |
AuthLabel | an32..64 | M | Identifier for the AuthToken used to decrypt the payment request | |
ExpiryDate | dttm | O | End time of token validity. The maximum period of validity amounts 24 hours. If the value is not specified the token expires after 15 minutes by default. |
The following table describes the Payment platform response parameters:
Parameter | Format | CND | Description | |
---|---|---|---|---|
MID | ans..30 | M | ID of merchant | |
Status | a..30 | M | OK or FAILED | |
Description | ans..1024 | M | More detailed description of the values for Status and Code. Please do not use the Description but the Code parameter for the transaction status analysis! | |
Code | n8 | M | Error code according to Paygate Response Codes Excel file | |
ExpiryDate | dttm | M | End time of token validity. Either default value or return of the value of request. |