google-apps-script - 使用谷歌应用脚本创建发票条带
问题描述
嗨,我遵循了 有关在条带上创建发票的文档
它在这里说,The ID of the customer who will be billed.
所以我在条带上手动创建了一个测试客户,现在我尝试了这段代码
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())
}
但我收到了这个错误
例外:对https://api.stripe.com的请求失败,返回代码 400。截断的服务器响应:{“错误”:{“代码”:“invoice_no_customer_line_items”,
有人可以告诉我这个条纹我真的只是这个API的新手,他们的API只适用于node.js
#尝试过
我试着按照这个链接
并将我的代码更改为此
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 App Scripts 不熟悉——你确定在这样的脚本中存储密钥是安全的,而且你不需要一个实际的后端服务器吗?该密钥必须保密,因为它可用于在您的 Stripe 帐户上执行任何操作。
- 在第一种情况下,您会收到一个错误,因为要开具发票,您必须先调用
/v1/invoiceitems
以向客户添加一些项目。然后,当您致电时/v1/invoices
,这将吸引他们为他们收费:https ://stripe.com/docs/invoicing/integration#create-invoice-code - 在第二种情况下,您会收到错误,因为这些不是该端点的有效参数(如果您检查您发布的链接,这些参数是 for
/v1/customers
,而不是/v1/invoices
)。
推荐阅读
- d3.js - 如何根据起始角度计算弧长?
- clojure - 是否通过宏惯用的 Clojure 将命名空间函数收集到地图中?
- spring-mvc - 在名称为“dispatcher”的 DispatcherServlet 中找不到带有 URI [/] 的 HTTP 请求的映射
- c# - 如何在 Asp.Net 核心视图中实现用户角色
- c# - SQL 中的语句如何与 C# 相关联
- eclipse - Windows 10 以外的其他操作系统上的 SAP NWDS 7.5
- java - 如何从Java中的相同正则表达式模式中获得多个答案
- python - 重写一个函数,该函数创建具有固定总和的数字组合作为生成器
- laravel - 如何在控制器中获取用户角色数据并显示 laravel
- reactjs - 如何在组件之间传输数据 - 反应?