Управление продуктами и ссылками через API
Создание продукта
Запрос
Для создания продукта отправьте POST запрос на https://epsp.fortebank.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). Параметр обязателен кроме случаев, когда в запросе отправлено "immortal": true. |
| return_url | string | URL, на который будет перенаправлен клиент после завершения оплаты. Если параметр не определен, клиент будет перенаправлен на URL магазина, зарегистрированного с Forte E-commerce. |
| shop_id | string | Идентификатор магазина. |
| language * обязательный |
string | Язык страницы оплаты. По умолчанию - en. Доступные значения параметра language. |
| transaction_type | string | Тип транзакции. По умолчанию - payment. Допустимые значения: payment - одновременное сочетание авторизации и списания средств authorization - проверка банковской карты и резервирование суммы платежа. |
Пример запроса для неограниченного количества продуктов и без ограничения времени оплаты
curl https://epsp.fortebank.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://epsp.fortebank.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"
}`
Ответ
В ответ на запрос создания продукта система Forte E-commerce вернет код состояния HTTP 201 и соответствующие данные нового продукта с платежными ссылками.
При передаче неверных параметров Forte E-commerce вернет код состояния 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://epsp.fortebank.com/products/prd_ed27b047d3ccd1a6/pay",
"payment_url": "https://epsp.fortebank.com/products/prd_ed27b047d3ccd1a6/pay",
"confirm_url": "https://securepayments.fortebank.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://epsp.fortebank.com/products/{product_id}, где {product_id} - значение id, полученное в ответе на запрос создания продукта.
Пример запроса на получение информации о продукте с ID prd_ed27b047d3ccd1a6
curl -u shop_id:secret \
https://epsp.fortebank.com/products/prd_ed27b047d3ccd1a6
Ответ
Если продукт с id, указанным в запросе, существует, Forte E-commerce вернет 200 код состояния с телом ответа.
При передаче некорректного или несуществующего id, Forte E-commerce вернет код состояния 404.
Пример ответа с информацией о продукте, 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://epsp.fortebank.com/products/prd_ed27b047d3ccd1a6/pay",
"payment_url": "https://epsp.fortebank.com/products/prd_ed27b047d3ccd1a6/pay",
"confirm_url": "https://securepayments.fortebank.com/v2/confirm_order/prd_ed27b047d3ccd1a6/1"
}
Получение параметров всех продуктов
Запрос
Для получение информации о всех продуктах отправьте GET запрос на https://epsp.fortebank.com/products.
Пример запроса
curl -u {Your shop id}:{Your shop secret key} \
https://epsp.fortebank.com/products
Ответ
Если права доступа верны, Forte E-commerce вернет 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://epsp.fortebank.com/products/prd_4e3933e63c7490fc/pay",
"payment_url": "https://epsp.fortebank.com/products/prd_4e3933e63c7490fc/pay",
"confirm_url": "https://securepayments.fortebank.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://epsp.fortebank.com/products/prd_1567bece456ac4aa/pay",
"payment_url": "https://epsp.fortebank.com/products/prd_1567bece456ac4aa/pay",
"confirm_url": "https://securepayments.fortebank.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://epsp.fortebank.com/products/prd_3c97b6f1bba28db7/pay",
"payment_url": "https://epsp.fortebank.com/products/prd_3c97b6f1bba28db7/pay",
"confirm_url": "https://securepayments.fortebank.com/v2/confirm_order/prd_3c97b6f1bba28db7/1"
}
]
Обновление продукта
Запрос
Для обновления продукта отправьте PUT запрос на https://epsp.fortebank.com/products/{product_id}, где {product_id} - это идентификатор продукта, параметр id из ответа на запрос создания продукта.
Параметры запроса идентичны параметрам запроса на создание продукта.
Пример запроса на обновления стоимости продукта с ID prd_1567bece456ac4aa и кол-ва таких продуктов
curl https://epsp.fortebank.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 существует и права доступа верны, Forte E-commerce вернет 204 код состояния HTTP и пустое тело ответа.