Возврат

Для того, чтобы оформить возврат по заказу необходимо вызвать метод Refund

При покупке использовались баллы программы лояльности

Клиент покупает 2 футболки на сайте магазина, каждая из них стоит 1100 рублей. Общая сумма покупки равна 2200 рублей. У клиента есть 200 баллов, один балл равен одному рублю, 200 рублей клиент оплачивает баллами, оставшуюся часть (2000) — с помощью сервиса Долями.

Как формируется заказ в таком случае?

Магазин вызывает метод Create со следующими параметрами:

  • order.prepaid_amount = 200
  • item quantity = 2
  • item price = 1100
  • order.amount+order.prepaid_amount = i.quantity*i.price 2000+200=1100*2

Далее при подтверждении заказа, магазин высылает метод Commit и передает такие же значения в поля amount/prepaid.amount/items.

Как оформляется возврат в таком случае?

После подтверждения заказа клиент решает вернуть одну из футболок, тогда магазин вызывает метод Refund и передает следующие значения:

  • refunded.prepaid_amount = 100
  • returned.item quantity = 1
  • returned.item price = 1100
  • amount+refunded.prepaid_amount = returned.item.quantity*returned.item.price 1000+100 = 1*1100

При покупке не использовались баллы программы лояльности

Клиент покупает 2 футболки на сайте магазина, каждая из них стоит 1100 рублей. Общая сумма покупки равна 2200 рублей. У клиента нет баллов лояльности, клиент оплачивает заказ (2200 рублей) с помощью сервиса Долями.

Как формируется заказ в таком случае?

Магазин вызывает метод Create со следующими параметрами:

  • order.prepaid_amount = 0
  • item quantity = 2
  • item price = 1100
  • order.amount+order.prepaid_amount = i.quantity*i.price2200+0 = 2*1100

Далее при подтверждении заказа магазин высылает метод Commit и передает такие же значения в поля amount/prepaid.amount/items.

Как оформляется возврат в таком случае?

После подтверждения заказа клиент решает вернуть одну из футболок, тогда магазин вызывает метод Refund и передает следующие значения:

  • refunded.prepaid_amount = 0
  • returned.item quantity = 1
  • returned.item price = 1100
  • amount + refunded.prepaid_amount = returned.item.quantity * returned.item.price1100+0=1 * 1100