使用 google 应用脚本创建发票条带

create an invoice stripe using google app script

您好,我遵循了关于在 stripe 上创建发票的 documentation

这里说 The ID of the customer who will be billed. 所以我在 stripe 上手动创建了一个测试客户,现在我尝试了这段代码

function testDataInvoices()
{
  var url = "https://api.stripe.com/v1/invoices";
      var params = {
      method: "post",
      headers: {Authorization: "Basic " + Utilities.base64Encode("sk_testXXXXX:")},
      payload: 
      {
        customer: "cus_JLKM93Pc6j2mxB",
      }
    };
    var res = UrlFetchApp.fetch(url, params);
    Logger.log(res.getContentText())
}

但是我收到这个错误

Exception: Request failed for https://api.stripe.com returned code 400. Truncated server response: { "error": { "code": "invoice_no_customer_line_items",

谁能告诉我这个条纹我真的很新 API 他们的 API 只适用于 node.js

#试过

我试着按照这个 link

并将我的代码更改为此

function testDataInvoices()
{
  var url = "https://api.stripe.com/v1/invoices";
      var params = {
      method: "post",
      headers: {Authorization: "Basic " + Utilities.base64Encode("sk_test_XXXXXX:")},
      payload: 
      {
        "email": "paul.kevin@senren.page",
        "payment_settings": 'pm_1FWS6ZClCIKljWvsVCvkdyWg',
        "invoice_settings[default_payment_method]":'pm_1FWS6ZClCIKljWvsVCvkdyWg'
      }
    };
    var res = UrlFetchApp.fetch(url, params);
    Logger.log(res.getContentText())
}

遇到这个错误

几件事:

  • 我不熟悉 Google 应用程序脚本 — 您确定在这样的脚本中存储密钥是安全的并且不需要实际的后端服务器吗?该密钥必须保密,因为它可用于在您的 Stripe 帐户上执行任何操作。
  • 在第一种情况下,您会收到错误消息,因为要开具发票,您必须先调用 /v1/invoiceitems 向客户添加一些项目。然后,当您调用 /v1/invoices 时,它将拉入那些为他们充电的人:https://stripe.com/docs/invoicing/integration#create-invoice-code
  • 在第二种情况下,您会收到错误消息,因为这些参数对于该端点而言不是有效参数(如果您检查发布的 link,则这些参数适用于 /v1/customers不是 /v1/invoices).

我建议关注 https://stripe.com/docs/invoicing/integration