полосовой периодический платеж с использованием задания cron или из повторяющейся веб-ловушки из полосовой подписки? - PullRequest
1 голос
/ 08 ноября 2019

У меня есть веб-сайт с одним курсом, на котором я хочу предоставить возможность рассрочки для кандидатов, но Stripe предоставляет подписку вместо рассрочки, сейчас я совершенно запутался,

1. Как я получу, какое N количество кандидатов в рассрочку оплачено или нет?

2. Возможно ли, что я могу повторить взнос, используя работу CRON (со своей стороны)? Если да, то какие детали и ссылки мне нужны? (Например, жетоны чередования, жетоны клиентов, жетоны карт и т. Д.)

3. Если Stripe справится с этой подпиской, то Как я могу получить информацию о кандидате?

Прямо сейчас я придерживаюсь нижеприведенного подхода к кодированию, надеюсь, он поможет вам.

            $plan = \Stripe\Plan::create(array(
                "product" => [
                    "name" => "Test product"
                ],
                "nickname" => "Test Course",
                "interval" => "month",
                "interval_count" => 8,
                "currency" => "usd",
                "amount" => 120 * 100,
            ));


            $customer = \Stripe\Customer::create([
                'email' => auth()->user()->email,
                'source' => $request->reservation['stripe_token'],
            ]);


            $subscription = \Stripe\Subscription::create([
                'customer' => "cus_s1dfd2fd3f2",
                'items' => [['plan' => "plan_assd54s5d4s"]],
            ]);

1 Ответ

1 голос
/ 08 ноября 2019

Я думаю, что все, что вам нужно (как моделировать взносы с повторяющейся подпиской), описано здесь https://stripe.com/docs/recipes/installment-plan. А для обработки входящих взносов вы должны опираться на события полосового веб-крюка https://stripe.com/docs/billing/webhooks

РЕДАКТИРОВАТЬ

Вы можете / должны идентифицировать клиента как на стороне вашей системы, так и по электронной почте, если этого недостаточно (например, для хранения subscription.id), вы можете:

  • Сохраните полосу customer.id или subscription.id в вашей базе данных
  • Или (рекомендуется мной) используйте функцию полосы метаданных и отправьте свою сторону customer.id или subscription.id при создании customer /подписка в полоску - https://stripe.com/docs/api/metadata
...