Перейти к содержанию

Управление продуктами и ссылками через API

Создание продукта

Запрос

Для создания продукта отправьте POST запрос на https://api.begateway.com/products со следующими параметрами:

Параметр Тип Описание
name * обязательный
string Название продукта.
description * обязательный
string Описание продукта.
currency * обязательный
string Валюта транзакции в формате ISO-4217 alpha-3 code. Например, USD.
amount * обязательный
integer Стоимость продукта в минимальных единицах.
quantity string Количество продуктов в наличии. Параметр не передается, если infinite установлен в true
infinite boolean Устанавливается true, если кол-во продуктов неограниченно. Например, если это виртуальный продукт.
visible_fields array Массив, который может содержать значения first_name, last_name, country, state, city, address, zip, phone, birth_date, email, taxpayer_id. Поля, указанные в массиве, отобразятся на странице платежа и будут обязательны для заполнения.
test boolean Если true, продукт будет тестовым. Иначе, false.
immortal boolean true, если время оплаты не ограничено.
expired_at string Дата и время, до которого может быть оплачен продукт. Формат: ISO 8601 вида YYYY-MM-DDThh:mm:ssTZD, где YYYY – год (например, 2019), MM – месяц (например, 02), DD – день (например, 09), hh – часы (например, 18), mm – минуты (например, 20), ss – секунды (например, 45), TZD – временная зона (+hh:mm или –hh:mm)
return_url string URL, на который будет перенаправлен клиент после завершения оплаты. Если параметр не определен, клиент будет перенаправлен на URL магазина, зарегистрированного с Demo PSP.
shop_id string Идентификатор магазина.
language * обязательный
string Язык страницы оплаты. По умолчанию - en. Доступные значения параметра language.
transaction_type string Тип транзакции. По умолчанию - payment. Допустимые значения:

payment - одновременное сочетание авторизации и списания средств
authorization - проверка банковской карты и резервирование суммы платежа.
Пример запроса для неограниченного количества продуктов и без ограничения времени оплаты
curl https://api.begateway.com/products \
-X POST -u {Your shop id}:{Your shop secret key} \
-H "Content-Type: application/json" \
-d \
'{
    "name": "product",
    "description": "description",
    "currency": "USD",
    "amount": "990",
    "infinite": true,
    "test": false,
    "immortal": true,
    "return_url": "http://return-url.com",
    "shop_id": "1",
    "language": "en",
    "transaction_type": "payment"
}'
Пример запроса для ограниченного количества продуктов и при ограничении времени оплаты
curl https://api.begateway.com/products \
-X POST -u {Your shop id}:{Your shop secret key} \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d \
'{
    "name": "product",
    "description": "description of product",
    "currency": "USD",
    "amount": "990",
    "quantity": "10",
    "infinite": false,
    "test": false,
    "immortal": false,
    "expired_at": "2023-12-31",
    "return_url": "http://return-url.com",
    "shop_id": "1",
    "language": "en",
    "transaction_type": "payment"
}`
Ответ

В ответ на запрос создания продукта система Demo PSP вернет код состояния HTTP 201 и соответствующие данные нового продукта с платежными ссылками.

При передаче неверных параметров Demo PSP вернет код состояния HTTP 422 и сообщение об ошибке.

Пример ответа при создании продукта, HTTP код 201
{
    "id": "prd_ed27b047d3ccd1a6",
    "name": "product",
    "description": "description of product",
    "currency": "USD",
    "amount": 990,
    "quantity": 10,
    "infinite": false,
    "language": "en",
    "transaction_type": "payment",
    "created_at": "2022-12-20T18:54:42.033Z",
    "updated_at": "2022-12-20T18:54:42.033Z",
    "test": false,
    "additional_data": {},
    "pay_url": "https://api.begateway.com/products/prd_ed27b047d3ccd1a6/pay",
    "payment_url": "https://api.begateway.com/products/prd_ed27b047d3ccd1a6/pay",
    "confirm_url": "https://checkout.begateway.com/v2/confirm_order/prd_ed27b047d3ccd1a6/1"
}
Пример ответа на запрос с недопустимыми параметрами, HTTP код 422
{
    "message": "Currency is not in ISO 4217 Alpha-3 format. Currency is unknown ISO 4217 Alpha-3 code",
    "errors": {
        "currency": [
            "is not in ISO 4217 Alpha-3 format",
            "is unknown ISO 4217 Alpha-3 code"
        ]
    }
}

Получение ссылки на оплату и параметров ранее созданного продукта

Запрос

Для получения параметров продукта направьте клиента через GET запрос на https://api.begateway.com/products/{product_id}, где {product_id} - значение id, полученное в ответе на запрос создания продукта.

Пример запроса на получение информации о продукте с ID prd_ed27b047d3ccd1a6
curl -u shop_id:secret \
    https://api.begateway.com/products/prd_ed27b047d3ccd1a6
Ответ

Если продукт с id, указанным в запросе, существует, Demo PSP вернет 200 код состояния с телом ответа.

При передаче неверных параметров Demo PSP вернет 302 код состояния с телом ответа с сообщением об ошибке.

Пример ответа с информацией о продукте, HTTP код 200
{
    "id": "prd_ed27b047d3ccd1a6",
    "name": "product",
    "description": "description of product",
    "currency": "USD",
    "amount": 990,
    "quantity": 10,
    "infinite": false,
    "language": "en",
    "transaction_type": "payment",
    "created_at": "2022-12-20T18:54:42.033Z",
    "updated_at": "2022-12-20T18:54:42.033Z",
    "test": false,
    "additional_data": {},
    "pay_url": "https://api.begateway.com/products/prd_ed27b047d3ccd1a6/pay",
    "payment_url": "https://api.begateway.com/products/prd_ed27b047d3ccd1a6/pay",
    "confirm_url": "https://checkout.begateway.com/v2/confirm_order/prd_ed27b047d3ccd1a6/1"
}

Получение параметров всех продуктов

Запрос

Для получение информации о всех продуктах отправьте GET запрос на https://api.begateway.com/products.

Пример запроса
curl -u {Your shop id}:{Your shop secret key} \
  https://api.begateway.com/products
Ответ

Если права доступа верны, Demo PSP вернет 200 код состояния HTTP и продукты.

Пример ответа
[
{
    "id": "prd_4e3933e63c7490fc",
    "name": "product",
    "description": "description of product",
    "amount": 100,
    "currency": "USD",
    "language": "en",
    "infinite": true,
    "quantity": 0,
    "transaction_type": "payment",
    "created_at": "2023-05-02T17:35:14.950Z",
    "updated_at": "2023-05-02T17:35:14.950Z",
    "additional_data": {},
    "test": false,
    "pay_url": "https://api.begateway.com/products/prd_4e3933e63c7490fc/pay",
    "payment_url": "https://api.begateway.com/products/prd_4e3933e63c7490fc/pay",
    "confirm_url": "https://checkout.begateway.com/v2/confirm_order/prd_4e3933e63c7490fc/1"
},
{
    "id": "prd_1567bece456ac4aa",
    "name": "product 2",
    "description": "description of product 2",
    "amount": 990,
    "currency": "EUR",
    "language": "it",
    "infinite": false,
    "quantity": 7,
    "transaction_type": "payment",
    "created_at": "2023-02-15T11:54:59.579Z",
    "updated_at": "2023-02-15T11:54:59.579Z",
    "additional_data": {},
    "test": false,
    "pay_url": "https://api.begateway.com/products/prd_1567bece456ac4aa/pay",
    "payment_url": "https://api.begateway.com/products/prd_1567bece456ac4aa/pay",
    "confirm_url": "https://checkout.begateway.com/v2/confirm_order/prd_1567bece456ac4aa/1"
},
{
    "id": "prd_3c97b6f1bba28db7",
    "name": "test product",
    "description": "description of test product",
    "amount": 100,
    "currency": "USD",
    "language": "en",
    "infinite": true,
    "quantity": null,
    "transaction_type": "authorization",
    "created_at": "2020-01-21T10:46:20.232Z",
    "updated_at": "2020-02-17T16:53:43.770Z",
    "additional_data": {},
    "test": true,
    "pay_url": "https://api.begateway.com/products/prd_3c97b6f1bba28db7/pay",
    "payment_url": "https://api.begateway.com/products/prd_3c97b6f1bba28db7/pay",
    "confirm_url": "https://checkout.begateway.com/v2/confirm_order/prd_3c97b6f1bba28db7/1"
}
]

Обновление продукта

Запрос

Для обновления продукта отправьте PUT запрос на https://api.begateway.com/products/{product_id}, где {product_id} - это идентификатор продукта, параметр id из ответа на запрос создания продукта.

Параметры запроса идентичны параметрам запроса на создание продукта.

Пример запроса на обновления стоимости продукта с ID prd_1567bece456ac4aa и кол-ва таких продуктов
curl https://api.begateway.com/products/prd_1567bece456ac4aa \
-X PUT -u {Your shop id}:{Your shop secret key} \
-H "Content-Type: application/json" \
-d \
'
{
    "amount": 950,
    "infinite": false,
    "quantity": "5"
}
Ответ

Если продукт с таким ID существует и права доступа верны, Demo PSP вернет 204 код состояния HTTP и пустое тело ответа.