条纹。每月订阅

时间:2018-10-26 14:32:06

标签: php stripe-payments

我想使用Stripe和PHP实施每月订阅。我遵循了以下指示:https://stripe.com/docs/recipes/subscription-signup#creating-the-signup-form-using-checkout

1-我去了信息中心,创建了一个产品:Monthtly费用和每月9.99欧元的计划,名称为Monthly1。假设产品的ID为prod_222222w

2- Index.php:

<form action="create_subscription.php" method="POST">
  <script
    src="https://checkout.stripe.com/checkout.js" class="stripe-button"
    data-key="pk_test_SomeNumbersAndLetters"
    data-image="images/stripe.png"
    data-name="F. subscription"
    data-description="9.99 montly fee"
    data-amount="999"
    data-label="Sign Me Up!">
  </script>
</form>

3-create_subscription.php。我安装了Composer,我认为它运行良好

require_once('vendor/autoload.php');
\Stripe\Stripe::setApiKey("sk_test_SomeNumbersAndLetters");

try
{
  $customer = \Stripe\Customer::create(array(
    'email' => $_POST['stripeEmail'],
    'source'  => $_POST['stripeToken'],
  ));

  $subscription = \Stripe\Subscription::create(array(
    'customer' => $customer->id,
    'items' => array(array('plan' => 'weekly_box')),
  ));

  header('Location: thankyou.php');
  exit;
}
catch(Exception $e)
{
  header('Location:oops.php');
  error_log("unable to sign up customer:" . $_POST['stripeEmail'].
    ", error:" . $e->getMessage());
}

如果我理解我必须更改计划的ID。我该放在哪里?
如果我理解我还必须更改stripeToken和stripeEmail。如果是这样,我在哪里得到并且必须放在哪里?

对不起,我很困惑。我不是程序员。我自学。我设法建立了一个站点,但是实施Stripe是最困难的部分。我将不胜感激。

2 个答案:

答案 0 :(得分:0)

“如果我理解我必须更改计划的ID。我应该把它放在哪里?” -从查看代码的角度来看,我认为您需要在此处提供计划ID:< / p>

'items' => array(array('plan' => 'PLAN_ID_HERE'))...

“如果我理解我还必须更改stripeToken和stripeEmail”,则-您无需更改它们,将它们保留为$_POST['stripeEmail']$_POST['stripeToken']以及这些参数将从Checkout应用程序中拉出。

请确保使用正确的“测试”数据/ API密钥进行测试,然后在准备就绪后将其替换为正确的“实时”数据/ API密钥。

答案 1 :(得分:0)

我终于解决了这个问题。如果有人遇到问题,我会在此处提供完整的解决方案。贾斯汀·T的答案是正确的。您只需要更改计划ID。为此,您必须转到“条带化”>“仪表板”>“计费”>“产品”>“定价计划”,然后单击定价计划的名称。