在条带中创建多个阶段,而不是使用PHP foreach计划

在条带中创建多个阶段,而不是使用PHP foreach计划,php,loops,foreach,stripe-payments,Php,Loops,Foreach,Stripe Payments,我有一段PHP代码,它通过一个条带请求进行迭代来创建计划。在下面的请求中,它迭代整个请求(从而为数组的每个元素创建一个新的订阅)。我需要它做的是只遍历阶段部分(这样所有的付款日期都在一个时间表中) 在这里,您应该首先构建阶段数组,然后在最后创建计划。我不完全理解为什么你有这么多的阶段和相同的计划,但最终你会想要这样的东西 $paymentdates = array ("1592043010", "1592910720", "1594850400", "1595851200", "1597021

我有一段PHP代码,它通过一个条带请求进行迭代来创建计划。在下面的请求中,它迭代整个请求(从而为数组的每个元素创建一个新的订阅)。我需要它做的是只遍历阶段部分(这样所有的付款日期都在一个时间表中)


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

$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
]);

谢谢,这太完美了!我知道多阶段的使用有点不规则,但我需要它来创建一个临时付款计划,以便我可以将计划传递给Stripe(而不是使用Stripe的未来付款)
$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
]);