В админ зоната на Shopify има бутон за всяка поръчка за „Приемане на плащане“. Има ли еквивалентно действие, което може да се извърши чрез API?
Приемете плащане чрез Shopify API
Отговори (2)
да Можете да създадете транзакция и да вземете сумата, която е била предварително разрешена.
ShopifyAPI::Transaction.create({:order_id => order.id, :kind => 'capture'})
Да, уверете се, че оригиналната поръчка е създадена чрез приложния програмен интерфейс (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