Планы подписки
План подписки сообщает YurtaPay, как часто и в каком размере взимать оплату с клиентов. Торговцы могут создать неограниченное количество планов подписки для своих магазинов.
Каждый план имеет уникальный идентификатор, который необходимо передавать в запросах.
Создание плана
Запрос
Отправьте POST запрос на https://api.yurtapay.kz/plans со следующими параметрами:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Пример запроса на создание плана с бесконечным количеством циклов оплаты
curl https://api.yurtapay.kz/plans \
-X POST -u shop_id:secret_key \
-H "Content-Type: application/json" \
-d \
'
{
"test": true,
"title": "Basic plan",
"currency": "USD",
"plan": {
"amount": 20,
"interval": 20,
"interval_unit": "day"
},
"trial": {
"amount": 10,
"interval": 10,
"interval_unit": "hour"
},
"visible_fields": ["first_name", "last_name"],
"language": "ru",
"infinite": true,
"billing_cycles": null,
"number_payment_attempts": 3
}
'
Пример запроса на создание плана с определённым количеством циклов оплаты
{
"test": true,
"title": "Basic plan",
"currency": "USD",
"plan": {
"amount": 20,
"interval": 20,
"interval_unit": "day"
},
"trial": {
"amount": 10,
"interval": 10,
"interval_unit": "hour"
},
"language": "en",
"infinite": false,
"billing_cycles": 12,
"number_payment_attempts": 3
}
Ответ
Если права доступа и параметры верны, YurtaPay вернет 201 код состояния HTTP и данные нового плана. Иначе, система вернет 422 код состояния HTTP и сообщение об ошибке.
Пример ответа при успешном создании плана
{
"id": "pln_a134847c902551de",
"title": "Basic plan",
"currency": "USD",
"language": "ru"
"plan": {
"amount": 20,
"interval": 20,
"interval_unit": "day"
},
"trial": {
"amount": 10,
"interval": 10,
"interval_unit": "hour"
},
"number_payment_attempts": 3,
"test": true
}
Пример ответа на запрос на создание плана с неверными параметрами
{
"errors": {
"title": [
"can't be blank"
]
},
"message": "Title can't be blank"
}
Получение ссылки на оплату
Для получения оплаты за план, направьте клиента через GET или POST запрос на https://api.yurtapay.kz/plans/{plan_id}/pay, где {plan_id} - это идентификатор плана.
Получение информации о плане
Для получения информации о плане отправьте GET запрос на https://api.yurtapay.kz/plans/{plan_id}, где {plan_id} - идентификатор плана.
Если такой план существует, система вернет вам 200 код состояния и полную информацию о нем.
Пример запроса на получение информации о плане с ID pln_a134847c902551de
curl -u shop_id:secret \
https://api.yurtapay.kz/plans/pln_a134847c902551de
Пример запроса на получение информации о плане
{
"id": "pln_a134847c902551de",
"title": "Basic plan",
"currency": "USD",
"language": "ru",
"plan": {
"amount": 20,
"interval": 20,
"interval_unit": "day"
},
"trial": {
"amount": 10,
"interval": 10,
"interval_unit": "hour"
},
"number_payment_attempts": 3,
"test": true
}
Получение информации о плане
Для запроса списка всех планов отправьте GET запрос на https://api.yurtapay.kz/plans.
Если планы имеются, YurtaPay вернет 200 код состояния и массив планов.
Пример запроса на список планов
curl -u shop_id:secret \
https://api.yurtapay.kz/plans
Пример ответа на запрос на список планов
[
{
"id": "pln_2b0c211f50deb72c",
"title": "Basic plan",
"currency": "USD",
"language": "en",
"plan": {
"amount": 20,
"interval": 7,
"interval_unit": "day"
},
"trial": {
"amount": 10,
"interval": 40,
"interval_unit": "hour"
},
"number_payment_attempts": 3,
"test": true
},
{
"id": "pln_75eca73bfdcf143a",
"title": "Pro plan",
"currency": "USD",
"language": "fr",
"plan": {
"amount": 30,
"interval": 7,
"interval_unit": "day"
},
"trial": {
"amount": 10,
"interval": 40,
"interval_unit": "hour"
},
"number_payment_attempts": 5,
"test": true
}
]