我想使用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是最困难的部分。我将不胜感激。
答案 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。为此,您必须转到“条带化”>“仪表板”>“计费”>“产品”>“定价计划”,然后单击定价计划的名称。