2016-05-19 6 views
0

ストライプAPIを使用して、ワンタイム購入の割引を作成するのが私の全体的な目標です。 APIを使用した割引は、1回限りの支払いでは使用していない請求書のみに適用されることに気付きました。ストライプオーダーの変更額

私が現在試みているのは、注文金額を変更することです。私はAPIで注文量を更新できないので、自分のコードで作成された既存の注文を削除し、新しいSKUアイテムの価格よりも別の金額で新しいものを作成する必要があります。これは動作していないようです。

要求は、この(ストライプダッシュボードのログを介して)次のようになります。

{ 
items: 
0: 
    type: "sku" 
    parent: "sku_8E8ZS8KYaJbUkK" 
    quantity: "1" 
    amount: "6800" 
1: 
    type: "sku" 
    parent: "sku_8E8I4F1FcseFQz" 
    quantity: "2" 
    amount: "6800" 
    customer: cus_8TV6gRP0hrxmEy 
    currency: "sek" 
    metadata: 
    delivery_date: "1463814000" 
} 

しかし、応答が私の更新量を無視するようだ:

items: { 
    object: "order_item" 
    amount: 8500 
    currency: "sek" 
    description: "Specialpåse" 
    parent: "sku_8E8ZS8KYaJbUkK" 
    quantity: 1 
    type: "sku" 
} 

PHPコード:

$newOrder = \Stripe\Order::create(array(
       "items" => generateItems($items), 
       "customer" => $customer, 
       "currency" => "sek", 
       "metadata" => array("delivery_date" => $delivery_date) 
      )); 

function generateItems($items) { 
     $newArray = array(); 
     $x = 0; 
     foreach ($items as $i) { 
      $newArray[$x] = array("type" => $i['type'], "parent" => $i['parent'], "quantity" => $i['quantity'], "amount" => $i['product_price']*100); 
      $x++; 
     } 
     return $newArray; 
    } 

を$ itemsは次のようになります:

Array 
(
    [0] => Array 
     (
      [type] => sku 
      [parent] => sku_8E8ZS8KYaJbUkK 
      [quantity] => 2 
      [name] => Specialpåse 
      [product_price] => 68 
      [subscription_price] => 60 
      [purchase_type] => single_purchase 
     ) 

    [1] => Array 
     (
      [type] => sku 
      [parent] => sku_8E8I4F1FcseFQz 
      [quantity] => 3 
      [name] => Familjepåse 
      [product_price] => 68 
      [subscription_price] => 60 
      [purchase_type] => single_purchase 
     ) 

) 
+0

これはサポートをストライプに直接質問はありませんか? – Peon

+1

これが正しく表示されている場合、注文を削除することはできません。リクエストに 'status = cancelled 'を追加することで**キャンセルできます** https://stripe.com/docs/api# update_order – Peon

答えて

1

order creation requestscouponパラメータを使用すると、注文に割引を適用することができます。 PHPで

、それは次のようになります。

$newOrder = \Stripe\Order::create(array(
    "items" => generateItems($items), 
    "customer" => $customer, 
    "currency" => "sek", 
    "metadata" => array("delivery_date" => $delivery_date), 
    "coupon" => $couponId 
)); 
関連する問題