Reference

Endpoints and errors

Endpoints

EnvironmentURL
Betahttps://beta.api.acquiring.averspay.kg/v1/payment
Prodhttps://api.acquiring.averspay.kg/v1/payment

Common errors

StatusMeaning
400Invalid request - for example, invalid/missing timestamp or Amount ≤ 0.
401Invalid signature.
403Forbidden.
400 Bad Request
{ "statusCode": 400, "ErrorMessage": "A valid UNIX timestamp must be provided in the header" }
{ "statusCode": 400, "ErrorMessage": "An invalid amount is provided. Amount must be greater than 0." }
401 Unauthorized
{ "statusCode": 401, "ErrorMessage": "An invalid signature is provided" }
403 Forbidden
{ "statusCode": 403, "ErrorMessage": "Forbidden" }

Public keys

Use a public key appropriate for your environment to verify webhook signatures.

Production — public-key.pem
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuF/PUmhMPPidcMxhZBPb
BSGJoSphmCI+h6ru8fG8guAlcPMVlhs+ThTjw2LHABvciwtpj51ebJ4EqhlySPyT
hqSfXI6Jp5dPGJNDguxfocohaz98wvT+WAF86DEglZ8dEsfoumojFUy5sTOBdHEu
g94B4BbrJvjmBa1YIx9Azse4HFlWhzZoYPgyQpArhokeHOHIN2QFzJqeriANO+wV
aUMta2AhRVZHbfyJ36XPhGO6A5FYQWgjzkI65cxZs5LaNFmRx6pjnhjIeVKKgF99
4OoYCzhuR9QmWkPl7tL4Kd68qa/xHLz0Psnuhm0CStWOYUu3J7ZpzRK8GoEXRcr8
tQIDAQAB
-----END PUBLIC KEY-----
Beta — public-key.pem
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwlrlKz/8gLWd1ARWGA/8
o3a3Qy8G+hPifyqiPosiTY6nCHovANMIJXk6DH4qAqqZeLu8pLGxudkPbv8dSyG7
F9PZEAryMPzjoB/9P/F6g0W46K/FHDtwTM3YIVvstbEbL19m8yddv/xCT9JPPJTb
LsSTVZq5zCqvKzpupwlGS3Q3oPyLAYe+ZUn4Bx2J1WQrBu3b08fNaR3E8pAkCK27
JqFnP0eFfa817VCtyVKcFHb5ij/D0eUP519Qr/pgn+gsoG63W4pPHN/pKwQUUiAy
uLSHqL5S2yu1dffyMcMVi9E/Q2HCTcez5OvOllgOtkNYHSv9pnrMRuws3u87+hNT
ZwIDAQAB
-----END PUBLIC KEY-----

FAQ

How do I start integrating with Finik Web SDK?

Read this documentation: generate RSA keys (see "Key generation" section), then create an API key in your Finik personal account. For individual entrepreneurs — everything is done through the app and personal account. For organizations — contact Finik representatives, they will help you at every step.

How do I get API keys for the Web SDK?

First generate RSA keys using the openssl commands (see "Key generation" section). Then log in to your Finik personal account, open the "Keys" section and click "Generate key" — provide your public key and select type WEB. Done: you will receive an x-api-key for integration.

What is the difference between the beta and production environments for Web SDK?

The beta environment is used for debugging the integration — you can create payments without real money being charged. The production environment works with real funds. Separate API keys are issued for each environment: beta — https://beta.api.acquiring.averspay.kg/v1/payment, prod — https://api.acquiring.averspay.kg/v1/payment.

This error usually occurs due to an incorrect API key.

Check the following:

Whether the API key is used for the correct environment (beta or production). A common cause is using a beta API key in production or vice versa. Whether the API key was copied correctly. A few characters at the beginning or end of the key may have been accidentally missed when copying. Make sure an up-to-date and valid API key is being used.

In most cases, the error is related to using the wrong API key or copying it incorrectly.

What is a Callback URL and how do I configure it for Web SDK?

A Callback URL is the address of your server to which we send POST notifications about payment status (success/error). This is optional but recommended for automation. You can specify it when sending your public key or add it later through your personal account. The notification format is described in the documentation.

Why aren't requests being sent to my Callback URL?

Check that your server is accessible from the outside, supports HTTPS, and accepts POST requests. Also make sure you have correctly specified the Callback URL in the settings (no errors in the domain). If everything is correct — check your server logs and contact us to verify notification delivery.

Can the same public key be used for multiple merchants?

No, each merchant must have their own unique public key. A separate key pair is generated for each legal entity or individual entrepreneur. This is a security requirement.

Do I need to top up my balance for beta environment testing?

No, in the beta environment no top-up is required as payments do not charge real funds. However, if you use the production environment for testing, you need to top up your account as real money is charged (transaction fees apply).

What data is required when creating a payment through Web SDK?

Required fields: CardType (always FINIK_QR), PaymentId (unique UUID), RedirectUrl, and the Data object with accountId, name_en, and webhookUrl. The Amount field is optional — if not provided, the client enters the amount themselves. See the "Request body" section for details.

How do I know if my integration is working correctly?

Conduct a test payment for a minimum amount (e.g., 0.01 som) in the beta environment. If you receive a successful response, see the transaction in your personal account (if you have access), and also receive a notification to your Callback URL (if configured) — the integration is working.