Techioz Blog

Shopifyの注文応答の返金:「任意の返金は許可されません」

概要

注文を返金していますが、返金される商品には返品送料 (弊社側で使用する変数) がかかるため、それを金額から差し引いています。 これは生産的なショップでは失敗しますが、テストモードまたは偽の支払い方法を使用すると、エラーは表示されず、返金が行われます。 テスト環境では、払い戻しは order_adjustment を使用して作成されます。一方、生産的なショップで返金を試みると、返金も order_adjustment も作成されません。

Shopify shopify-api-ruby の問題

例:

return_shipping_cost_cents = 1 USD
maximum_refundable = 20 USD
amount = 19 USD

Shopify は注文に対する調整を作成し、金額を返金する必要があります。

エラーメッセージ: {“errors”=>{“base”=>[“任意の払い戻しは許可されていません”]}}

{
"refund_line_items"=>[
  {
    "line_item_id"=>"11922901111117",
    "quantity"=>1,
    "restock_type"=>"no_restock"
  }
],
"shipping"=>{
  "full_refund"=>false
}
}
return_shipping_cost_cents = 6,95
{
  "shipping": {
    "amount": "0.00",
    "tax": "0.00",
    "maximum_refundable": "0.00"
  },
  "duties": [],
  "total_duties_set": {
    "shop_money": {
      "amount": "0.00",
      "currency_code": "USD"
    },
    "presentment_money": {
      "amount": "0.00",
      "currency_code": "USD"
    }
  },
  "return": null,
  "refund_line_items":
  [
    {
      "quantity": 1,
      "line_item_id": 11922901111117,
      "location_id": null,
      "restock_type": "no_restock",
      "price": "62.97",
      "subtotal": "62.97",
      "total_tax": "4.25",
      "discounted_price": "62.97",
      "discounted_total_price": "62.97",
      "total_cart_discount_amount": "0.00"
    }
  ],
  "transactions": 
  [
    {
      "order_id": 4786111111837,
      "kind": "refund",
      "gateway": "shopify_payments",
      "parent_id": 6017111111269,
      "amount": 60.27,
      "currency": "USD",
      "maximum_refundable": "67.22"
    }
  ],
  "currency": "USD",
  "note": "33HxxxYvLq"
}

return_shipping を請求する注文を返金しようとしていますが、Shopify が order_adjustment を使用して返金を作成することを期待しています。

解決策

このエラーが発生する可能性としては、注文が「部分返金」を許可しないゲートウェイで支払われたことが考えられます。元のゲートウェイの支払いが次のいずれでもないことを確認してください。