条带订阅创建失败-parameter_unknown:源

时间:2019-02-13 09:23:17

标签: firebase google-cloud-functions stripe-payments

我已经在firebase中创建了一个函数,用于在创建用户时创建条纹预订。但是,当我切换到另一个条带化帐户(切换了前端和后端的api密钥并更改了plan_id)时,这一切都很好,

我遇到以下错误:接收到未知参数:source。< / b>

我有一个可以使用代码的条带帐户,而另一个帐户则以不同的方式处理代码。我可以切换api键,并观察它从失败变为成功,反之亦然。

这是我创建订阅的代码的一部分

return stripe.subscriptions.create({
      customer: customerId,
      source: collectedToken,
      coupon: couponId,
      items: [{plan: 'plan_xxxxxxxx'}],
});

检查所有API密钥对于条带帐户的后端和前端是否正确。测试期间的前端完全相同,只是使用了不同的Stripe API密钥。我尝试切换Firebase帐户以查看是否是问题所在,但结果相同。

有效的方法是创建与该条带化帐户上记录的数据相匹配的客户和令牌,但是在创建订阅时所有操作均失败。这使我认为这是我的带区帐户中的配置错误。我经历了两个条带化帐户,使它们尽可能相同。

这是失败的帖子/回复:

Request POST body
{
  "customer": "cus_EWLxBmoZgtdVKQ",
  "source": "tok_1E3JFsJUEng1Y6esS4bme82U",
  "coupon": "",
  "items": {
    "0": {
      "plan": "plan_EUshZMWWubOprv"
    }
  }
}

Response body
{
  "error": {
    "code": "parameter_unknown",
    "doc_url": "https://stripe.com/docs/error-codes/parameter-unknown",
    "message": "Received unknown parameter: source",
    "param": "source",
    "type": "invalid_request_error"
  }
}

这是成功的帖子/回复:

{
  "customer": "cus_EW3IIVqlBt9fFD",
  "source": "tok_1E31BZLdCGsF9mmTflmDjd0x",
  "coupon": "",
  "items": {
    "0": {
      "plan": "plan_ESdEWggGYJ89FB"
    }
  }
}

{
  "id": "sub_EW3IWD0NCyDVUi",
  "object": "subscription",
  "application_fee_percent": null,
  "billing": "charge_automatically",
  "billing_cycle_anchor": 1549977641,
  "billing_thresholds": null,
  "cancel_at": null,
.................

如果该计划,客户,令牌有效,那么我希望它可以在另一个条带化帐户上运行,如果该条带化帐户是以相同方式设置的。

1 个答案:

答案 0 :(得分:1)

这可能是由于您正在使用的新API密钥正在更新版本的Stripe API上运行。您可以在developers section of the dashboard下查看版本。

updated subscriptions API中,您只需要一个customer和一个plan(在items的列表中)即可创建新的订阅。来源已被完全删除,API现在依赖于客户的默认来源。