# Creating a payment (form)

{% hint style="info" %}
If your website was created using CMS please take a look at the list of our [modules](/en/modules.md).
{% endhint %}

To initiate a payment through a single form of payment, you just need to direct the user to a special URL and transfer a number of required parameters.

## pay

<mark style="color:blue;">`GET`</mark> `https://unitpay.ru/pay/PUBLICKEY?sum&account&desc&signature`

The request is used to initialize a payment

#### Path Parameters

| Name      | Type   | Description                                                        |
| --------- | ------ | ------------------------------------------------------------------ |
| publickey | string | public key. You can find it under the Settings tab of your project |

#### Query Parameters

| Name      | Type   | Description                                                                                                                                                                                                                                                                                            |
| --------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| backurl   | string | The user's return address from the payment form without making a purchase; the project address is used by default. The project domain must be used in the address. Examples: <https://redirect.\\><project domain>/?someParams", "https\://\<project domain>/redirect/                                 |
| locale    | string | It is mandatory to specify the payment form language, acceptable values: ru, en. By default, the form language is determined based on the country that the user's IP address belongs to                                                                                                                |
| currency  | string | <p>The order currency according to ISO 4217 (RUB, UAH, BYN, EUR, USD etc. Currency codes <https://help.unitpay.ru/v/master/book-of-reference/payment-system-codes>). <br>If the payment system does not support the required currency, the amount will be converted to the payment system currency</p> |
| signature | string | It protects you from hackers: substituting the description or price of the order, placing a link to the payment on the resources of fraudsters.                                                                                                                                                        |
| desc      | string | Order description. It is used only for informing when making a payment                                                                                                                                                                                                                                 |
| account   | string | Subscriber ID in your system (for example, email or order number).                                                                                                                                                                                                                                     |
| sum       | number | Payment amount. In rubles by default. See the additional currency parameter                                                                                                                                                                                                                            |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}

**Example:**

```
https://unitpay.ru/pay/111111-11111?sum=100&account=222111&desc=Online%20course&signature=2c38bb3114b2f02222ee35f6b60c6bbe628ad31bed59633787204ae59659a02e
```

\*\*\*\*

**PUBLIC KEY**: The value of the project public key can be found on the project page in the special Payment Form section of your personal account.

<figure><img src="/files/wTArYU9HyZAkvbxspbuy" alt=""><figcaption></figcaption></figure>

**Request digital signature**

For additional security of your payments, we perform mandatory verification of the digital signature when creating a payment. The signature guarantees protection against the substitution of the transmitted values (e.g., changing the payment amount or order number).

|               | **Value** | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **signature** | line      | <p>Digital signature. It is formed as sha256( account + "{up}" + currency + "{up}" + desc + "{up}" + sum + "{up}" + secretKey),<br>where <strong>sha256</strong> is the hashing method;<br> <strong>{up}</strong> is the parameter separator in the hash function;<br> <strong>account, sum, currency, desc</strong> are the payment initialization parameters described above;<br> <strong>secretKey</strong> is the secret key of the project (available in your personal account);</p><p><strong>Important Note</strong>. If you do not transmit <strong>currency</strong> to the payment form, this parameter should not be used in signature generation.</p> |

**Default payment method**

You can define the payment system that will be used for the user by default. To do this, add parameter / **system\_code** corresponding to the [alphabetic code of the payment system](/en/book-of-reference/payment-system-codes.md) at the end of the URL of your payment form (for example: <https://unitpay.money/pay/demo\\>).

**Return to the store's website**

After initializing the payment, the user goes to the receipt page where the payment status is tracked. After users have received a successful or error status, they are redirected to the partner's site (Fail URL/Success URL fields in the personal account settings) with GET parameters:

|           | **Value** | **Description**                                                                      |
| --------- | --------- | ------------------------------------------------------------------------------------ |
| account   | text      | Subscriber ID in the partner's system (for example, the subscriber's login or email) |
| paymentId | number    | Payment number in the UnitPay system                                                 |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.unitpay.ru/en/payments/create-payment-easy.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
