Stripe php:如何管理基于自定义金额的计划?

时间:2017-11-07 11:33:08

标签: php stripe-payments

如何在条带付款中管理基于自定义金额的计划代码?

计划ID:basic- {interval} - {amount}

1)检查计划退出与否?

if:退出然后分配给订阅者

不 - 制定新计划。

.Net 4.6.1

2 个答案:

答案 0 :(得分:1)

我认为你做的计划太多了。你的代码在那里但是一旦你有了计划,那么你就不需要重新创建它了。 这是一个简单的步骤。

  1. 创建客户
  2. 检查是否可以检索计划。如果可以的话,将它存储在$ plan中。
  3. 如果没有创建新计划并将其存储在$ plan
  4. 检查重复持续时间是否为空,然后将计划分配给客户
  5. 否则向客户收取费用
  6. 现在,在您完成异常检查后,您的代码已经创建了计划,然后您不需要再次创建它。

    public function store(Request $request)
    {
    
        $comics = new Comic();
    
        $tags = $request->input('tag_list');
    
        $comics->appreance = implode(',', $tags);
        $comics->save();
    
        return redirect('/comic');
    }
    

    我首先创造了客户,因为总是需要。

答案 1 :(得分:0)

首先需要获得所有计划&检查你的价值观。

<?php
$recurring_duration  = $_POST['recurring_duration'];
$planname = "plan value";
$last_customer = NULL;
while (true) {
    $plan_list = \Stripe\Plan::all(array("limit" => 100, "starting_after" => $last_plan));
    foreach ($plan_list->autoPagingIterator() as $plan) {
        if ($plan->id == $planname) {
            $planlookfor = $plan;
            break 2;
        }
    }
    if (!$plan->has_more) {
        break;
    }
    $last_plan = end($plan_list->data);
}

if(!empty($recurring_duration)){
    if(isset($planlookfor) && $planlookfor->id==$planname){

    }else{
        $plan = \Stripe\Plan::create(array(
            "name" => 'Basic Plan'.' '.$recurring_duration_text.' '.$amount/100,
            "id" => $planname,    
            "interval" => "$recurring_duration",
            "currency" => strtolower($currency),
            "amount" => $amount,
        ));
    }
}