Предпросмотр платежей
Предпросмотр платежей позволяет расчитать сдачу, отобразить оставшуюся к оплате сумму, сумму кэшбэка, который будет начислен за текущий заказ, а так же проверить возможность оплаты заказа бонусами.
В API предпросмотра можно отправлять список платежей, которые будут учтены при расчёте всех значений.
Отправка запроса
Для предпросмотра платежей необходимо отправить POST
-запрос на URL https://api.zenky.io/v2/orders/{orderId}/payments/preview
,
передав в поле payments
список платежей.
{
"payments": [
{"method": "cash", "amount": "100000"}
]
}
В ответ вы получите структуру следующего формата:
{
"total": {
"value": 10399000,
"short": "103 990",
"trimmed": "103990",
"full": "103 990 руб.",
"currency": {
"name": "Российский рубль",
"thousands_separator": " ",
"decimals_separator": ".",
"prefix": "",
"suffix": " руб.",
"symbol": "₽"
}
},
"unpaid": {
"value": 399000,
"short": "3 990",
"trimmed": "3990",
"full": "3 990 руб.",
"currency": {
"name": "Российский рубль",
"thousands_separator": " ",
"decimals_separator": ".",
"prefix": "",
"suffix": " руб.",
"symbol": "₽"
}
},
"change": {
"value": 0,
"short": "0",
"trimmed": "0",
"full": "0 руб.",
"currency": {
"name": "Российский рубль",
"thousands_separator": " ",
"decimals_separator": ".",
"prefix": "",
"suffix": " руб.",
"symbol": "₽"
}
},
"cashback": {
"value": 0,
"short": "0",
"trimmed": "0",
"full": "0 руб.",
"currency": {
"name": "Российский рубль",
"thousands_separator": " ",
"decimals_separator": ".",
"prefix": "",
"suffix": " руб.",
"symbol": "₽"
}
},
"max_bonuses_payment": {
"value": 0,
"short": "0",
"trimmed": "0",
"full": "0 руб.",
"currency": {
"name": "Российский рубль",
"thousands_separator": " ",
"decimals_separator": ".",
"prefix": "",
"suffix": " руб.",
"symbol": "₽"
}
},
"payments": [
{
"method": {
"id": "cash",
"name": "Наличные"
},
"amount": {
"value": 10000000,
"short": "100 000",
"trimmed": "100000",
"full": "100 000 руб.",
"currency": {
"name": "Российский рубль",
"thousands_separator": " ",
"decimals_separator": ".",
"prefix": "",
"suffix": " руб.",
"symbol": "₽"
}
}
}
]
}
Описание полей
Поля cashback
и max_bonuses_payment
Поля cashback
и max_bonuses_payment
заполняются только для заказов, к которым прикреплён покупатель. Для
заказов, у которых ещё нет прикреплённого покупателя, значением этих полей будет 0 руб.
Поле payments
и оплата бонусами
Поле payments
содержит оригинальный список платежей (отправленный в запросе на предпросмотр), но в нём
может отсутствовать оплата бонусами, либо сумма оплаты бонусами может отличаться от изначально
запрошенной суммы.
Это связано с тем, что максимальная сумма оплаты бонусами зависит от настроек программы лояльности магазина. Кроме того, это на значение влияет текущий баланс покупателя.
- Если была запрошена оплата бонусами, но запрошенная сумма превышает максимальную сумму оплаты заказа, значением
amount
транзакции оплаты бонусами будет являться максимально разрешённая сумма оплаты; - Если была запрошена оплата бонусами, но запрошенная сумма превышает баланс покупателя, значением
amount
транзакции оплаты бонусами будет являться текущий баланс покупателя (либо максимально разрешённая сумма оплаты — выбирается наименьшее значение); - Если была запрошена оплата бонусами, но к заказу ещё не прикреплён покупатель, оплата бонусами будет
отсутствовать в списке
payments
.