Stripe:如何在没有计划的情况下设置定期付款?

时间:2014-11-07 14:58:09

标签: javascript php wordpress forms stripe-payments

首次使用Stripe API。使用PHP和JS在WordPress上实现它。 致力于捐赠表格。捐赠者应该能够选择建议的数量(单选按钮-25,50,75,100)或按照他/她的意愿付费(选择'其他'后的文本字段)。我能够让这个工作。

有一个复选框可将金额设置为定期付款。我为固定期权创建了定期付款计划,如25,50,100等。

如果捐赠者选择自定义金额,如何设置定期付款?无法找到相关的API。请帮忙。

3 个答案:

答案 0 :(得分:19)

Stripe建议的另一种方法是设置一个定期金额为1美元(或0.01美元以获得更大灵活性)的计划,然后根据需要改变数量。

e.g。使用$ 0.01计划方法,如果我想每月12.50收费,我可以像这样调整数量:

$customer->subscriptions->create(array("plan" => "basic", "quantity" => "1250"));

条纹支持

答案 1 :(得分:7)

首先,您需要create a new customer

在提交时,您可以将自定义金额用于create a new plan

$current_time = time();
$plan_name = strval( $current_time );

Stripe_Plan::create(array(
        "amount" => $_POST['custom-amount'],
        "interval" => "month",
        "name" => "Some Plan Name " . $_POST['customer-name'],
        "currency" => "usd",
        "id" => $plan_name
    )
);

请注意,'id'必须是唯一的。您可以使用客户的名称,时间戳或其他随机方法来确保始终如此。

然后你只需create the subscription on the newly-added customer

$customer = Stripe_Customer::retrieve($customer_just_created);
$customer->subscriptions->create(array("plan" => $plan_name));

您可能会省略上面的第一行,因为您应该已经从实际创建客户时分配了客户变量。

答案 2 :(得分:1)

这是技术含量较低的技术,但我发现最简单的方法是使用尽可能少的Stripe API。无需创建订阅计划和产品之类的东西,只需:

  • 创建一个条纹客户。
  • 为他们提供定期任务。

如果您已经知道如何向某人收费,则只需弄清楚如何创建客户,然后其余的就可以了。

这意味着您将一些Stripe的聪明之处转移到了我们自己的基础架构上,但实际上我发现这比考虑所有Stripe的API文档和功能更容易考虑/维护。