В админке Shopify для каждого заказа есть кнопка «Принять платеж». Есть ли эквивалентное действие, которое можно выполнить через API?
Принимайте оплату через Shopify API
Ответы (2)
да. Вы можете создать транзакцию и зафиксировать сумму, которая была ранее авторизована.
ShopifyAPI::Transaction.create({:order_id => order.id, :kind => 'capture'})
person
David Lazar
schedule
22.08.2012
Вот документация по транзакциям: api.shopify.com/transactions.html
- person David Underwood; 23.08.2012
Да, убедитесь, что исходный заказ создан через API и имеет статус «ожидающий», вид транзакции «авторизация» и статус транзакции «успешная». Тогда, когда вы фиксируете платеж, это только меняет финансовый статус. Вы не можете просто изменить значение финансового статуса в заказе, не зафиксировав транзакцию.
Итак, это исходный запрос на создание заказа с использованием API:
POST /admin/orders.json
{
"financial_status": "pending",
"fulfillment_status": "fulfilled",
"transactions": [{
"amount": "21",
"kind": "authorization",
"gateway": "Gateway",
"status": "success",
"source_name": "My API"
}]
}
А затем, чтобы зафиксировать транзакцию, сделайте следующее:
POST /admin/orders/{order_id}/transactions.json
{
"transaction": {
"kind": "capture"
}
}
Убедитесь, что в вашем API включены права на запись для заказов: https://redeeem.myshopify.com/admin/apps/private
person
kaleazy
schedule
26.04.2018