Stripe 在 PHP 中创建多个阶段

我正在尝试使用 Stripe 为一个非常具体的用例创建多个阶段。使用 Stripe Billings API 运行以下代码实际上不会创建多个阶段。它只创建一个阶段(最后一个)。


$schedule = \Stripe\SubscriptionSchedule::create([

  'customer' => 'cus_HMDwmb8iAV0X7k',

  'start_date' => 'now',

  'end_behavior' => 'cancel',

    'phases' => [

      [

        'end_date' => 1592910720,

        'proration_behavior' => 'none',

        'plans' => [

          [

            'price_data' => [

              'unit_amount' => 5000,

              'currency' => 'usd',

              'product' => 'prod_HMrCxIwor5bbjO',

              'recurring' => [

                  'interval' => 'year',

              ],

            ],

          ],

        ],

      ],

    ],



    'phases' => [

      [

        'end_date' => 1594850400,

        'proration_behavior' => 'none',

        'plans' => [

          [

            'price_data' => [

              'unit_amount' => 6000,

              'currency' => 'usd',

              'product' => 'prod_HMrCxIwor5bbjO',

              'recurring' => [

                  'interval' => 'year',

              ],

            ],

          ],

        ],

      ],

    ],



]);


慕桂英546537
浏览 129回答 1
1回答

尚方宝剑之说

在您的 php 调用中,您指定了phases参数两次。因此只有第二个phases定义被用于创建订阅计划。此处的解决方法是将所有阶段移动到单个数组和参数下,如下所示:$schedule = \Stripe\SubscriptionSchedule::create([  'customer' => $customer->id,  'start_date' => 'now',  'end_behavior' => 'cancel',    'phases' => [      [        'end_date' => 1592910720,        'proration_behavior' => 'none',        'plans' => [          [            'price_data' => [              'unit_amount' => 5000,              'currency' => 'usd',              'product' => $product->id,              'recurring' => [                  'interval' => 'year',              ],            ],          ],        ],      ],      [        'end_date' => 1594850400,        'proration_behavior' => 'none',        'plans' => [          [            'price_data' => [              'unit_amount' => 6000,              'currency' => 'usd',              'product' => $product->id,              'recurring' => [                  'interval' => 'year',              ],            ],          ],        ],      ],    ],]);我看到的唯一区别是,在 Curl 请求中,我明确传递了阶段编号。更多的是你在 phases 数组中传递相位索引。您必须在 cURL 中明确说明这一点,但在 php 中,您只需将每个元素添加到一个数组中,并且索引是隐含的。
打开App,查看更多内容
随时随地看视频慕课网APP