Logo

Payment Confirmation

As a payment is processed, we notify the store platform about the payment status. Requests are sequentially sent to the URL of your handler (set in the project settings). First, a CHECK request is made, followed by a PAY request after a successful response and funds are deducted from the client. In case of any error during the payment process, an ERROR request is made.

CHECK - Check the ability to provide the service to the subscriber. You need to confirm the system’s readiness (verify the correctness of the payment amount, the existence of the account in the database, etc.).

PAY - Notification of successful deduction; you need to provide the service to the subscriber. In case of any error at this stage (e.g., database is unavailable), the payment receives a “not completed” status. Once the issue is resolved, you can retry processing the payment in the statistics.

ERROR - Payment error at any stage. If the error is caused by an empty/incorrect server response, the request will not be sent. Note that this status is not final, and there may be situations where a PAY request follows an ERROR request.



https://your_handler_address?
  method=check
  &params[account]=user
  &params[projectId]=1
  &params[sum]=100
  &params[sign]=9bdf52a4830779a1383ac24f1b3ed054
  &params[localpayId]=1234567
  &params[paymentType]=unitpay

method – one of the methods.
projectId – Your store ID in the Pay4Bit system.
localpayId – Internal payment number in Pay4Bit.
account – Subscriber identifier in the partner’s system.
sum – Amount deducted from the subscriber’s account, in rubles.
paymentType – The system in which the payment was made.
sign – Digital signature. It is formed as an md5 hash of the concatenated values of account, sum, and your project’s secret key.

IMPORTANT: The partner’s system must not have two different payments with the same localpayId. When receiving a repeated CHECK or PAY request, the result of the previous request should be returned without adding/crediting anything.

Successful Response

The response should be sent in JSON format

{"result": {
    "message": "Request successfully processed"
}}

message – Text status of the request execution.

Error Response

The response should be sent in JSON format

{"result": {
    "message": "Error description"
}}

message – Text status of the request execution.