Interaction with the service is carried out according to the request-response scheme. Requests are sent in JSON format using the POST method. For secure access to the service, a JWT token is used in all methods, which is generated by a GET request to /public/login, accessToken parameter. The project has the property of Idempotency. In case of a network error, the response to a duplicate request will be similar to the first one. However, the duplicate request will not be processed. Idempotency is ensured by passing a unique value in the x-req-id header in the request.
Mobile Cashier API (1.1.7)
📄 Download OpenAPI specificationAPI description is provided in OpenAPI 3.0.0 format.
General Information
Order Statuses
| Status | Description | Final |
|---|---|---|
CREATED |
Order created | Yes |
DECLINED |
Order declined | Yes |
EXPIRED |
Order validity time expired | Yes |
IN_PROCESS |
Order status is not determined, clarification required | No |
PAYOUT_IN_PROGRESS |
Order status is not determined, clarification required | No |
QRCDATA_IN_PROGRESS |
Order status is not determined, clarification required | No |
SBP_ACCEPTED |
Successful payment via SBP (Fast Payment System) | Yes |
CHARGED |
Funds charged | Yes |
QRCDATA_CREATED |
QR code generation successful | No |
PAID |
Payout completed | Yes |
REFUNDED |
Order refunded | Yes |
Notifications Service
Notifications (webhook, callback) are POST requests sent by the system upon order status change to the address specified in the CallbackUrl parameter of the order method. The notification format corresponds to the response to the order data request. The system will make repeated attempts to send notifications until receiving http-code 200 or timeout expiration.
The http request header contains the payment-sign parameter - a signature, the result of signing the original notification body (Body from http request) with a private key, in base64 encoding.
For signature validation, use the public key:
Example for signature verification during integration using openssl tools. Execute command in command line:
Decode base64:
echo "base64signature" | base64 -d > catsign.txt
Verify signature:
openssl dgst -sha256 -verify PublicStage.key -signature catsign.txt callback.txt
Where
catsign.txt is the signature from Payment-Sign header, PublicStage.key is the public key, callback.txt is the callback body.
In case of successful verification, you will get the message "Verified OK".
Important:
Order status check is mandatory after the order lifetime expires. Notification delivery is not guaranteed 30 minutes after order creation.
Payment Form
The scenario with entering card data on PaymentForm does not require TSP compliance with PCIDSS security requirements, unlike the scenario with entering card data on the TSP side.
Opening the payment form is performed by a POST request to the address:
where:
- payment - fixed value
- domain - address for sending requests
- ExternalOrderID - order number received in response to the payment form creation method
Opening the form with a POST request allows passing additional parameters, such as the address for redirect after payment.
To call the form with redirect capability:
- Use native html form with POST method
- In action specify form URL supporting redirect functionality
- Specify redirect links in two hidden fields (successUrl, failUrl)
- In enctype specify application/x-www-form-urlencoded
- Submit native form with standard submit call (POST request with redirect)
Example:
Authorization
System Access
Request Body Schema: application/json
Responses
Orders
Get Orders List
Query Parameters
Responses
Create Order
You can create an order in two ways:
- Using orderAmount field
- You pass the order amount in the selected currency
- After creation, the amount is automatically converted to rubles, and payment will be accepted in rubles
- All commissions are included in the final amount
- The amount must be specified in minimum currency units (kopecks/cents/eurocents, etc.)
- Using paymentAmount field
- Payment amount remains in rubles
- System converts it to currency and deducts commissions
- Amount must be specified in kopecks
Important:
- To create a payout order, you must specify type "PayOut"
- When creating an income order (e.g., for sale), the type can be omitted; "PayIn" will be used by default
Request Body Schema: application/json
Responses
Get Order Data
Path Parameters
Responses
Refund Order
Path Parameters
Request Body Schema: application/json
Responses
Order Status
Path Parameters
Responses
SBP (Fast Payment System)
qrcData - QR Code Registration in SBP
Path Parameters
Responses
SBP Payout
SBP (Fast Payment System)
SBP is Russia's national fast payment system that enables instant transfers between different banks using phone numbers or bank details.
Path Parameters
Request Body Schema: application/json
Responses
Get Bank List for Payout
Responses
SberPay
SberPay Payment
Path Parameters
Request Body Schema: application/json
Responses
Card Methods
Card Payout
Path Parameters
Request Body Schema: application/json
Responses
Payment Form Request
Request Body Schema: application/json
Responses
Charge Funds
In subsequent requests, externalOrderId should be passed in the OrderId field.
Request Body Schema: application/json
Responses
Void Order
In subsequent requests, externalOrderId should be passed in the OrderId field.