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

在 Stripe 中创建多个阶段而不是使用 PHP foreach 进行调度

在 Stripe 中创建多个阶段而不是使用 PHP foreach 进行调度

PHP
Cats萌萌 2023-04-23 17:38:39
我有这段 PHP 代码,它遍历 Stripe 请求以创建计划。在下面的请求中,它遍历整个请求(从而为数组的每个元素创建一个新订阅)。我需要它做的是仅通过阶段部分对其进行迭代(以便所有付款日期都在一个时间表中)。$paymentdates = array ("1592043010", "1592910720", "1594850400",  "1595851200", "1597021320");  foreach ($paymentdates as $paymentdate) {  $schedule = \Stripe\SubscriptionSchedule::create([    'customer' => 'cus_HMDwmb8iAV0X7k',    'start_date' => 'now',    'end_behavior' => 'cancel',      'phases' => [        // only iterate this part        [          'end_date' => $paymentdate,          'proration_behavior' => 'none',          'plans' => [            [              'price_data' => [                'unit_amount' => 2300,                'currency' => 'usd',                'product' => 'prod_HMDoA6Jpf0U1Fh',                'recurring' => [                    'interval' => 'year',                ],              ],            ],          ],          // end iterate here        ],      ],  ]);  }
查看完整描述

1 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

您在这里应该做的是首先构建阶段数组,最后创建时间表。我不完全理解为什么你有这么多阶段的同一个计划,但最终你会想要这样的东西


$paymentdates = array ("1592043010", "1592910720", "1594850400",  "1595851200", "1597021320");

$phases = []

foreach ($paymentdates as $paymentdate) {

  $phases[] = [

    'end_date' => $paymentdate,

    'plans' => [

        [

          'price_data' => [

            'unit_amount' => 2300,

            'currency' => 'usd',

            'product' => 'prod_HMDoA6Jpf0U1Fh',

            'recurring' => [

                'interval' => 'year',

            ],

          ],

        ],

      ],

  ];

}

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

  'customer' => 'cus_HMDwmb8iAV0X7k',

  'start_date' => 'now',

  'end_behavior' => 'cancel',

  'phases' => $phases

]);


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

添加回答

举报

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