【发布时间】:2018-10-04 11:48:57
【问题描述】:
我正在尝试使用Google Apps Script 和Stripe 制作一个附加组件,用户可以在其中订阅项目作为年度订阅。每次我从 Stripe 结帐购买订阅时,都会收到这样的错误,
{
"error": {
"code": "parameter_unknown",
"doc_url": "https://stripe.com/docs/error-codes/parameter-unknown",
"message": "Received unknown parameter: @45b5a607",
"param": "@45b5a607",
"type": "invalid_request_error"
}
}
当我检查 Stripe Dashboard 中的日志时,我得到了这样的 POST 正文,
{
"items": "[Ljava.lang.Object",
"@45b5a607": null,
"customer": "cus_Dix0eSYM5qP0kx"
}
这是我在 Google Apps 脚本中的代码,
var headers = {
"Authorization" : "Basic " + Utilities.base64Encode(USERNAME + ':' + PASSWORD)
};
var customer = {
'email': customerEmail,
'source': token
};
var optCreate = {
'method' : 'post',
"headers" : headers,
'contentType': 'application/x-www-form-urlencoded',
'payload' : customer,
'muteHttpExceptions' : true
};
var createCustomer = UrlFetchApp.fetch(urlCreate, optCreate);
var respCreate = JSON.parse(createCustomer.getContentText());
var customerId = respCreate.id;
if (customerId == null) { return "Error"; }
var data = {
"customer" : customerId,
"items" : [
{
"plan" : "plan_Diuw7CdAGcSrhm"
}
]
};
var options = {
'method' : 'post',
"headers" : headers,
'contentType': 'application/x-www-form-urlencoded',
'payload' : data,
'muteHttpExceptions' : true
};
var response = UrlFetchApp.fetch(url, options);
var resp = JSON.parse(response.getContentText());
Logger.log(resp);
我想我的 data JSON 对象一定是做错了什么。 items 字段无法正常工作,这就是 POST 正文很奇怪的原因。这里的正确方法是什么?
【问题讨论】:
标签: javascript json google-apps-script stripe-payments