Возврат возврата отмененного заказа с использованием Shopify REST API
Я пытаюсь отменить и вернуть заказ, используя эту конечную точку:
https://help.shopify.com/en/api/reference/orders/order
Со следующей полезной нагрузкой:
{"refund": {
"shipping": {"full_refund": true},
"refund_line_items": [{
"quantity": 1,
"line_item_id": 2032498606169,
"price": "39.90",
"subtotal": "39.90",
"total_tax": "6.37",
"discounted_total_price": "39.90",
"total_cart_discount_amount": "0.00",
"location_id": null,
"restock_type": "no_restock",
"discounted_price": "39.90"
}],
"transactions": [{
"amount": "39.90",
"maximum_refundable": "39.90",
"kind": "refund",
"parent_id": 1147873263705,
"currency": "EUR",
"order_id": 922997620825,
"gateway": "amazon_payments"
}],
"notify": true
}}
У заказа есть только одна статья, поэтому я в основном возмещаю весь заказ.
Тем не менее, этот вызов API REST возвращает успех, но когда я проверяю страницу заказа, я действительно вижу, что заказ был отменен, но, в конце концов, не было возврата.
И статус заказа отображает "Отменено", "Оплачено", "Не выполнено". Так что я вынужден вернуть его вручную.
Почему мой звонок REST просто отменяет этот заказ, но не возвращает деньги?
Спасибо!
1 ответ
Вы ошиблись ссылкой. От вашей ссылки сообщение об отмене должно быть:
POST /admin/api/2019-04/orders/#{order_id}/cancel.json {} // post an empty object -- not null
API возврата на https://help.shopify.com/en/api/reference/orders/refund показывает немного другое тело POST, чем то, что вы предоставили. Вам не нужна информация о ценах в вашем refund_line_item.
Вы подтвердили, что parent_id в возмещении sale
или же capture
транзакция и что тип шлюза совпадает.