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 - Once the payment is created, the Pay4Bit system returns its key details, such as paymentId and digital signatures.

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 via dashboard.

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_callback_url?
  method=check
  &params[account]=user
  &params[projectId]=1
  &params[sum]=100
  &params[amount]=100.00
  &params[currency]=AED
  &params[sign]=9bdf52a4830779a1383ac24f1b3ed054
  &params[check_sign]=ed787fcd62467dc3fdfb5f58c38557c1919154ec34e4e2147e630f9111a07e77
  &params[localpayId]=1234567
  &params[paymentType]=applepay
  &params[revenue]=23.67
  &params[desc]=Balance reload

method – one of the methods.
projectId – Your store ID in the Pay4Bit system.
localpayId – Pay4Bit Payment ID.
account – Subscriber identifier in the partner’s system.
sum – Paid amount.
amount – Paid amount (formatted to two decimal places).
currency – Currency in which the payment was made.
paymentType – The system in which the payment was made.
revenue – Revenue amount (In EUR).
sign – Digital signature. It is formed as an md5 hash of the concatenated values of payment id, account, sum, and merchant secret key.
check_sign – Digital signature. It is formed as a sha256 hash of the concatenated values of desc, account, amount, and merchant 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.