Php 更改条带订单上的金额

Php 更改条带订单上的金额,php,stripe-payments,Php,Stripe Payments,我的总体目标是使用StripeAPI为一次性购买创造折扣。我注意到,API中的折扣仅适用于发票,而不是一次性付款 我目前正在尝试更改订单金额。我在API中读到,您无法更新订单金额,因此我需要删除通过我的代码创建的现有订单,并创建一个新订单,但金额不同于原始SKU项目的价格。这似乎不起作用 请求如下所示(通过条带仪表板日志): 但回复似乎忽略了我的最新金额: items: { object: "order_item" amount: 8500 currency: "sek"

我的总体目标是使用StripeAPI为一次性购买创造折扣。我注意到,API中的折扣仅适用于发票,而不是一次性付款

我目前正在尝试更改订单金额。我在API中读到,您无法更新订单金额,因此我需要删除通过我的代码创建的现有订单,并创建一个新订单,但金额不同于原始SKU项目的价格。这似乎不起作用

请求如下所示(通过条带仪表板日志):

但回复似乎忽略了我的最新金额:

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
        )

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

通过使用中的参数,可以对订单应用折扣

在PHP中,它将如下所示:

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
        )

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

这不是条带支持的直接问题吗?如果我看得没错,您不能删除订单,您只能通过在请求中添加
status=cancelled
来取消订单: