REST API Vocuher Elite Payments (1.1.0)

Download OpenAPI specification:

Contact for developers: IT@voucher-elite.com

Overview

The Voucher Elite Payments widget for voucher's purchase with BLIK payment solution. Our API allows clients to create transactions and manage payments. This documentation provides details on how to authenticate and interact with the API endpoints.

Base URL

Base url for api calls: https://payments.voucher-elite.com
Test mode: in this mode you will be able to make a real payment for 0,01 PLN.
Instead of code from text message use fixed code: 777 777

Test credentials:
client_id: KIIoT56mwQV9SI4xTr
client_secret: GYst9Wn0LlhNL86VZVU0

Production mode: fully operational. Contact support to launch onboarding process and get production credentials Key features (production mode):

  • Min deposit 20 EUR or 20 PLN, max depost 1000 EUR or 4000 PLN
  • User phone number restricted to European Union, Norway, Switzerland, UK
  • User IP restricted to European Union, Norway, Switzerland, UK
  • VPN allowed

Tokens

When you use access token which is no longer valid or is not valid in the location where your request has been routed, than you may receive on any API call response - 401 Unauthorized:

 {
    "error": "invalid_token",
    "error_description": "The access token expired"
 }
Then you need to get a new tokens using API call to /api/login/single-step-default-scope In case when you are being routed to other location, all your request will be routed there for some time, so you don’t have to worry that every request might end in different location.

WEB API

This documentation provides an overview of the essential components and endpoints for interacting with the Vocuher Elite Payments API. For further assistance, please refer to the support team.

Authentication

Obtain an access token using client credentials
Notes

  • Always ensure the Authorization header is set with the Bearer token received from the authentication endpoint.
  • Validate input data before making requests to avoid common errors.

Request Body schema: application/json
required
client_id
string
client_secret
string

Client password

grant_type
string

Type of authentication mechanism.

Responses

Request samples

Content type
application/json
{
  • "client_id": "KIIoT56mwQV9SI4xTr",
  • "client_secret": "GYst9Wn0LlhNL86VZVU0",
  • "grant_type": "client_credentials"
}

Response samples

Content type
application/json
{
  • "access_token": "S0lJb1Q1Nm13UVY5U0k0eFRy.YvRLzh1N....",
  • "token_type": "bearer",
  • "expires_in": "1199",
  • "refresh_token": "S0lJb1Q1Nm13UVY5U0k0eFRy.YvRLzh1NBE/vXkUtm…."
}

Transaction Creation

Create a new transaction.

Authorizations:
BearerAuth
Request Body schema: application/json
required
email
string

Sender's email address.

environment
string

Can be "test" for testing environment or "prod" for production environment.

phone
string

Sender's phone number. Phone number must have preceeding prefix unique for each country.

name
string

Sender's Name.

surname
string

Sender's Surname.

merchant_transaction_id
string

Unique transaction ID in the client's system

amount
decimal

Amount in selected currency.

currency
string

The only allowed values are "EUR" or "PLN".

success_url
string

URL to redirect to upon successful transaction.

fail_url
string

URL to redirect to upon transaction failure.

Responses

Request samples

Content type
application/json
{
  • "email": "sender@example.com",
  • "environment": "test",
  • "phone": "+48123456789",
  • "name": "Marek",
  • "surname": "Nowak",
  • "merchant_transaction_id": "unique-id-123",
  • "amount": 1.00000001,
  • "currency": "EUR",
  • "success_url": "https://example.com/success",
}

Response samples

Content type
application/json
{}

Notify status

Automatic webhook executed upon transactions tatus change between inProgress/approved/failed statuses. Sends the transactions tatus to the client system.

Request Body schema: application/json
required
transaction_id
string

Transaction ID

merchant_transaction_id
string

Transaction ID from client system

status
string

Transaction status.

Enum Name Description
inProgress Transaction is being processed.
approved Transaction succeeded and is approved.
failed Error occured. Transaction failed
detailed_status
string

Detailed transaction status.

Transaction Status Status Details Description
InProgress New New, registered
Confirmed Amount was confirmed by the user
UserVerified User was verified successfully
InProgress Transaction is in progress
failed RejectedByUser Transaction was rejected by users
UserVerifyFailed User could not be verified
BlikError Error on part of Vocuher Elite's environment
Error Internal error
Timeout:New|Confirmed|UserVerified|InProgress Transaction's timeout, with information about the state of the transaction before it timed out.
ValidationFailed:phone,email,currency,other Transaction cannot proceed because prerequisites validation failed.
approved Success Transaction suceeded.

amount
decimal

Transaction amount

currency
string
method
string
environment
string

Request samples

Content type
application/json
{
  • "transaction_id": "72b9e52b-27dd-44d3-85ca-0ffd3236f3e8",
  • "merchant_transaction_id": "1a0a1977-82aa-42d2-9447-6b975eff21ad",
  • "status": "approved",
  • "detailed_status": "string",
  • "amount": 1.00000001,
  • "currency": "EUR",
  • "method": "BLIK",
  • "environment": "test"
}

Get status

Gets the status of a transaction.

Authorizations:
BearerAuth
path Parameters
transactionId
required
string

The ID of the transaction

Responses

Response samples

Content type
application/json
{
  • "transaction_id": "72b9e52b-27dd-44d3-85ca-0ffd3236f3e8",
  • "merchant_transaction_id": "1a0a1977-82aa-42d2-9447-6b975eff21ad",
  • "status": "approved",
  • "detailed_status": "string",
  • "amount": 1.00000001,
  • "currency": "EUR",
  • "method": "BLIK",
  • "environment": "test"
}