为了账号安全,请及时绑定邮箱和手机立即绑定

Stripe 在 PHP 中创建多个阶段

Stripe 在 PHP 中创建多个阶段

PHP
慕桂英546537 2023-04-21 15:31:00
我正在尝试使用 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',              ],            ],          ],        ],      ],    ],]);
查看完整描述

1 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

在您的 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 中,您只需将每个元素添加到一个数组中,并且索引是隐含的。


查看完整回答
反对 回复 2023-04-21
  • 1 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信