【问题标题】:Send Invoice to Email Stripe (Google App Scir将发票发送到电子邮件条纹(Google App Scir
【发布时间】:2021-07-16 18:35:05
【问题描述】:

大家好,由于

,我无法发送发票

parameter_invalid_integer

这个错误。

这是我的发送代码

var url3 = "https://api.stripe.com/v1/invoices";
      var params3 = {
      method: "post",
      headers: {Authorization: "Basic " + Utilities.base64Encode("sk_test_XXXXX:")},
      payload: 
      {
        customer: responseValue.id,
        collection_method : "send_invoice",
        due_date:responseValue2.date
      }
    };
    var res3 = UrlFetchApp.fetch(url3, params3);
    Logger.log(res3.getContentText());

due_date 是问题,因为我不能给出它的格式。文档没有提供任何内容,或者我只是愚蠢,我无法理解。

我试过了

due_date:Date.now()
due_date:"01/01/2022" // tried different formats

我正在尝试根据发票上提供的电子邮件地址发送发票。

请赐教。谢谢。

#TRIED 1

var timeStamp = (new Date('2022-01-01').getTime())/1000;
due_date = timeStamp

还是一样的错误

【问题讨论】:

标签: google-apps-script stripes stripe-payments


【解决方案1】:

Stripe API 中的所有日期/时间戳都使用 unix 秒(不是毫秒)。因此,您将截止日期设置为 2022 年 1 月 1 日(例如 0h UTC),您将使用 due_date=1641013200

【讨论】:

  • 已经尝试过了,但仍然出现同样的错误
  • 您是否注意到 TheMaster 建议您对有效负载进行字符串化?
  • @MetaMan 先生,您能再解释一下吗?
  • 时间戳需要作为整数发送,而不是字符串。您的请求库可能无意中将参数转换为字符串。确保您的请求使用 API 参考开头的 Content-Type: application/x-www-form-urlencoded 进行编码:stripe.com/docs/api
【解决方案2】:
payload:JSON.stringify({customer:responseValue.id,collection_method:"send_invoice",due_date:responseValue2.date});

我不知道这是否可行,但如果 TheMaster 说要尝试,我会尝试。

【讨论】:

  • 实际上唯一的问题是due_date 部分由于某种格式而无法正常工作
【解决方案3】:

解决了。 我所做的是

var timeStamp = (new Date('2021-08-10').getTime())/1000;
due_date: ""+timeStamp+""

谢谢大家。

【讨论】:

    猜你喜欢
    • 2010-10-27
    • 2016-07-07
    • 2012-08-06
    • 2013-07-22
    • 1970-01-01
    • 2012-10-15
    • 2016-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多