Перейти к основному содержимому

Создание платежа

POST
https://api.easydonate.ru/v0/payments/create

Описание

Метод для создания платежа через EasyDonate. Метод возвращает ссылку на оплату, по которой необходимо перенаправить покупателя для оформления заказа.


Заголовки

Required

X-Shop-Key

String

Ключ магазина, расположенный в настройках

Required

Content-Type

String

application/json

Запрос

Request body schema application/json

Required

username

String [1..32] [a-zA-Z0-9_]

Никнейм покупателя

Required

server_id

UInt[32]

Идентификатор сервера. Можно найти в настройках магазина, в разделе "Серверы"

Required

products

Array[1..10]

Массив объектов товаров

Required

id

UInt[32]

Идентификатор товара. Можно найти в настройках магазина, в разделе "Товары"

quantity

UInt[32]

Количество позиций. По умолчанию 1

Required

email

String [5..128]

Электронная почта покупателя

return_url

String

URL, на который будет перенаправлен клиент после оплаты

promocode

String [A-Z0-9]{2,16}

Название промокода, созданного в разделе "Купоны"

lang

Enum

Язык платежной формы. Если не указан, будет определен автоматически. Возможные значения: ru, en

Ответ

200
Успешный запрос

Required

success

Boolean

Статус запроса

Required

data

Required

payment_id

UInt[32]

Номер заказа

Required

url

String

URL, на который нужно перенаправить покупателя для оплаты заказа

Required

meta

Object

Метаданные запроса

Required

timestamp

ISO8601 DateTime

Время запроса

Required

requestId

UUID

Идентификатор запроса

400
Ошибка в параметрах

Required

success

Boolean

Статус запроса

Required

error

Required

code

String

Код ошибки

Required

message

String

Описание ошибки

Required

meta

Object

Метаданные запроса

Required

timestamp

ISO8601 DateTime

Время запроса

Required

requestId

UUID

Идентификатор запроса

403
Анкета не заполнена или счет не активен

Required

success

Boolean

Статус запроса

Required

error

Required

code

String

Код ошибки

Required

message

String

Описание ошибки

Required

meta

Object

Метаданные запроса

Required

timestamp

ISO8601 DateTime

Время запроса

Required

requestId

UUID

Идентификатор запроса

404
Ошибка

Required

success

Boolean

Статус запроса

Required

error

Required

code

String

Код ошибки

Required

message

String

Описание ошибки

Required

meta

Object

Метаданные запроса

Required

timestamp

ISO8601 DateTime

Время запроса

Required

requestId

UUID

Идентификатор запроса

500
Не удалось создать платеж

Required

success

Boolean

Статус запроса

Required

error

Required

code

String

Код ошибки

Required

message

String

Описание ошибки

Required

meta

Object

Метаданные запроса

Required

timestamp

ISO8601 DateTime

Время запроса

Required

requestId

UUID

Идентификатор запроса

Возможные коды ошибок

BAD_REQUEST

Параметры запроса не прошли валидацию. Недопустимое значение параметра

SHOP_NOT_FOUND

Магазин с указанным ключом не найден

SERVER_NOT_FOUND

Сервер с указанным ID не найден

PRODUCT_NOT_FOUND

Товар с указанным ID не найден

ORDER_CREATION_FAILED

Не удалось создать платеж по какой-либо причине

BANK_ACCOUNT_INACTIVE

Анкета не заполнена или не активна

Пример запроса

Payload
cURL
PHP
JavaScript

Content Type

application/json

{
    "username": "Player",
    "server_id": 143,
    "email": "player@domain.com",
    "products": [
        {
            "id": 1000,
            "quantity": 1
        },
        {
            "id": 1002,
            "quantity": 1
        }
    ]
}
curl --location 'https://api.easydonate.ru/v0/payments/create' \
--header 'Content-Type: application/json' \
--header 'X-Shop-Key: <Shop-Key>' \
--data '{"username":"Player","server_id":143,"email":"player@domain.com","products":[{"id":1000,"quantity":1},{"id":1002,"quantity":1}]}'
curl
GuzzleHttp
<?php

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.easydonate.ru/v0/payments/create',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => json_encode([
        'username' => 'Player',
        'server_id' => 143,
        'email' => 'player@domain.com',
        'products' => [
            [
                'id' => 1000,
                'quantity' => 1
            ],
            [
                'id' => 1002,
                'quantity' => 1
            ]
        ]
    ]),
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/json',
        'X-Shop-Key: <Shop-Key>'
    ]
]);

$response = curl_exec($curl);

curl_close($curl);
<?php

$client = new GuzzleHttp\Client;

$request = $client->post('https://api.easydonate.ru/v0/payments/create', [
    'headers' => [
        'X-Shop-Key' => $shopKey
    ],
    'json' => [
        'username' => 'Player',
        'email' => 'player@domain.com',
        'server_id' => 143,
        'products' => [
            [
                'id' => 1000,
                'quantity' => 1,
            ],
            [
                'id' => 1002,
                'quantity' => 1,
            ]
        ]
    ]
]);

$response = $request->getBody()->getContents();
const request = await fetch("https://api.easydonate.ru/v0/payments/create", {
    method: "POST",
    headers: {
        "Content-Type": "application/json",
        "X-Shop-Key": "<Shop-Key>",
    },
    body: JSON.stringify({
        username: "Player",
        server_id: 143,
        email: "player@domain.com",
        products: [
            {
                id: 1000,
                quantity: 1,
            },
            {
                id: 1002,
                quantity: 1,
            },
        ],
    }),
});

const response = await request.text();

Пример ответа

200
400
403
404
500

Content Type

application/json

{
    "success": true,
    "data": {
        "payment_id": 10000000,
        "url": "https://securepay.easydonate.ru/00000000-0000-0000-0000-000000000000"
    },
    "meta": {
        "timestamp": "2026-06-23T13:54:41+00:00",
        "requestId": "b81e1d85-ff12-414b-9a59-8d8e65469b69"
    }
}
{
    "success": false,
    "error": {
        "code": "BAD_REQUEST",
        "message": "Param `server_id` must be an integer"
    },
    "meta": {
        "timestamp": "2026-06-23T14:26:09+00:00",
        "requestId": "00000000-0000-0000-0000-000000000000"
    }
}
{
    "success": false,
    "error": {
        "code": "SHOP_NOT_FOUND",
        "message": "Shop not found"
    },
    "meta": {
        "timestamp": "2026-06-23T14:27:41+00:00",
        "requestId": "00000000-0000-0000-0000-000000000000"
    }
}
{
    "success": false,
    "error": {
        "code": "ORDER_CREATION_FAILED",
        "message": "Could not create order"
    },
    "meta": {
        "timestamp": "2026-06-23T14:27:41+00:00",
        "requestId": "00000000-0000-0000-0000-000000000000"
    }
}