1

我正在使用条纹并且之前我的所有订阅都正常工作。就在最近,我试图将相同的代码移动到不同的条带帐户,并且在尝试收取订阅费用时收到错误消息。

<?php 


require_once('../stripe-php-master/init.php');


// (switch to the live key later)
\Stripe\Stripe::setApiKey("sk_test_hlQNSE1fy1cGmsqDSbR9LfDF");

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

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

这将返回以下错误

unable to sign up customer: 'test@example.com', error:No such plan: basic_monthly; one exists with a name of basic_monthly, but its ID is 504102373103330.
4

2 回答 2

2

计划对象同时具有一个id和一个name属性。id是计划的唯一标识符,而name是其显示名称。

创建客户订阅时,plan参数的值必须设置为有效的计划 ID,而不是计划的名称。

在您的情况下,错误消息明确告诉您有"basic_monthly"作为 itsname的计划,但计划id504102373103330,因此这是您需要传入plan参数以创建对该计划的订阅的值。

于 2017-09-02T20:33:04.077 回答
-2

您必须更改密钥并测试 api 密钥

于 2017-09-02T06:48:56.747 回答