Я пытаюсь создать дополнение, используя Google Apps Script
& Stripe
, где пользователь может подписаться на элемент в качестве годовой подписки.Каждый раз, когда я покупаю подписку в Stripe checkout, я получаю такую ошибку,
{
"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"
}
Thisмой код в скрипте Служб Google
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 странное.Пожалуйста, кто-нибудь, скажите мне, что здесь правильно, очень нужна эта помощь!Спасибо!