Fiat payments

This section contains description and list of methods for working with fiat payment methods and receiving fiat payments.

Main Flow

  1. Request Available Payment Methods (/fiat/get-payment-methods): Our API allows partners to initiate integration by requesting a list of all available payment methods. This request provides information about which methods are available for payment. Each payment method may have different additional fields required for completing the payment, such as choosing a bank or other specific parameters.

  2. Create Payment (/fiat/create-payment): After selecting a payment method, the partner sends a request to create a payment. In this request, the gatewayId (payment method identifier) is specified, and, if necessary, additional fields related to the chosen payment method. These fields depend on the method and may include information about the selected bank or other parameters.

  3. Response to Payment Creation: Our API returns information about the payment in response to the payment creation request. This includes the payment status and additional information about the payment, available in the "extra" field. This information should be displayed by the partner to the end payer, such as card number and bank name.

  4. Payment Confirmation (/fiat/confirm-payment): When the end user successfully completes the payment, the partner provides a "I have paid" button or a similar mechanism. The partner then calls the API method to confirm the payment (confirm-payment). This request informs our API that the user has paid successfully.

  5. Payment Cancellation (/fiat/cancel-payment): If the end user declines the payment, the partner invokes the corresponding API method (cancel-payment). This informs our API that the payment should be canceled.

  6. Webhooks: Our system will send webhooks to the webhookUrl specified during payment creation after receiving the final payment status or during the confirmation or cancellation stages. Webhooks contain information about the payment status and can be used by the partner to update information in their system or on their website.

Webhook

When the payment status changes, status change notifications will be sent to the specified URL The webhook body will be identical to the body of the payment creation/receipt response

The webhook will be sent with the following headers:

HeadingDescription

x-api-public-key

Public key with which the payment was created

x-api-signature

Request signature (drawn up by analogy with request signatures)

x-event-time

Event date in ISO 8601 (RFC3339) format

{
    "id": "133",
    "gatewayId": "12",
    "status": "PENDING",
    "extra": {
      "accountNumber": "2222222222222222",
      "accountName": "Иванов Иван Иванович",
      "bankName": "bank"
    },
    "paymentCurrency": "RUB",
    "paymentAmount": "4990",
    "destinationCurrency": "USDT",
    "destinationAmount": "string",
    "createdAt": "2023-09-26T13:29:34.172Z"
}

Error codes

The current list of error codes is in addition to the main list of error codes

CodeDescription

4001

Incorrect or non-existent gateway identifier sent

4002

Required fields for creating a payment were not submitted

4003

The specified payment was not found

4004

Payment has already been confirmed

4005

Payment has already been canceled

4006

An incorrect amount or an amount less than the minimum amount for the selected gateway was transferred

4007

Incorrect value for payment lifetime passed

4008

An incorrect value was passed to the field for creating a payment

4009

Incorrect payment ID sent

4010

The deposit has an inappropriate status for this operation

4011

Accepting payments for this gateway is currently not possible. There may be too many active payments, please wait for them to complete or contact support

Last updated