2012-07-18 34 views
1

(我是第一次海報,所以請原諒我缺乏適當的格式,如果這個問題已經以某種形式或方式回答)Shopify API部分退款在以通過交易使用PHP

問題: Shopify API - 部分退款在訂貨物通過新交易的創建(而不是簡單地取消訂單)

原因:給客戶退還部分不取消訂單

問題:查詢在將'創建事務'發送到shopify API時發生崩潰,沒有錯誤,嘗試和捕獲不會啓動,並且查詢購物後的代碼也被忽略。

Shopify開發者API XML/JSON的交易: http://api.shopify.com/transactions.html

目前使用Sandeepsheety的PHP API代碼: https://github.com/sandeepshetty/shopify.php/blob/master/README.md

<?php 
//------------------------------------------------------------------------------- 
//PHP Code Begins 
//NOTE: [Does return correct values for the Order through GET through id=135264996 and, 
// transaction GET data is verified as well - Test Order Total = $94.50 and, 
// tested a few other orders ids with the same result.] 
//------------------------------------------------------------------------------- 

     //Does connect and I have verified with a few GETS and even a couple cancellations 
     $shopify = shopify_api_client($SHOPIFY_STORE_URL, NULL, $SHOPIFY_API_KEY, $SHOPIFY_TOKEN, true); 

     //Based on Create Transactions: (POST /admin/orders/#{id}/transactions.json) 
     $jsonURL= "/admin/orders/135264996/transactions.json"; 

     $query = $shopify('POST', $jsonURL, array('kind'='refund', 'amount'=10)); 
     //NOTHING HAPPENS and Code Stops HERE 

     echo "Passed"; //IGNORED 
?> 
+0

你能澄清一下你的意思嗎?「嘗試和捕捉沒有啓動」?如果響應代碼> = 400,shopify.php會引發異常。您需要一個圍繞POST請求的try/catch塊,它似乎在上面的代碼片段中缺失。 – 2012-07-25 23:55:23

回答

4

的事務API僅支持 '捕捉' 的那種。服務器返回一個403 Forbidden,文本爲「僅當前支持捕獲」。

shopify.php不能正確處理該錯誤,但這是您遇到的問題。

+0

令人失望,但同樣感謝DenisOdorcic。我相信我只是在'交易描述'中的註釋中感到困惑:...有五種類型的交易:授權,銷售,獲取,無效和退款......退款只能在處理完一個捕獲後發生,並且是將獲得的資金部分或全部退還給持卡人。 – user1535423 2012-07-18 20:10:00