Authentication

Getting Started

To start working with the Alliance pay platform, you need to:

  1. Contact Alliance bank to obtain information about the terms of the internet acquiring service.

  2. Open an account with Alliance bank.

  3. Sign an agreement to connect to the internet acquiring service.

  4. Connect to the test environment and conduct test transactions.

  5. Connect to the production environment.

  6. Start using the internet acquiring service.

Creation of user security session

The process of creating a new user security session includes a sequence of steps, such as:

  • Generating client keys - "Process of generating client communication JWK keys".

  • Obtaining encrypted authorization data by encrypting the request body - "Process of creating JWE encrypted data" and sending the "Request to create a technical session".

  • Decrypting the received data.

! For test purposes only! They are forbidden to be used with product keys.

Clarification: Encryption and decryption URL

{{url}}cipher/decrypt_by_jwk?message=

{{url}}cipher/encrypt_by_jwk?message=

The following algorithms are used for encryption and decryption:

  • Key encryption algorithm (alg) - ECDH-ES+A256KW

  • Encryption of the request body using the algorithm (enc) - A256GCM

Example of encrypt/decrypt

Process of Generating Client Communication JWK Keys

Generating a public and private key (JSON Web Key) is done with the following parameters:

An example of key generation for reference is available at https://mkjwk.org/arrow-up-right

Process of Creating JWEarrow-up-right Encrypted Data

The object represents encrypted data.

To create it, the following parameters must be specified:

  • Encoding of the encrypted data: UTF-8

  • Encryption algorithm: ECDH-ES+A256KW

  • Encryption method: A256GCM

  • The corresponding algorithm's public key must be used.

Example of pre-encryption data:

Example of JWE after encryption:

The process of decrypting JWE data:

Example JWE token

Example of data after decrypting the JWE token

Request for creating a technical session

Example response

Request for decrypting the technical session

Example request body

Example response

Session refresh is not provided; to generate a new serverPublic, you need to repeat the request for creating a technical session.

Last updated