Classic ASP调用Stripe订阅创建接口报错,求正确实现语法
问题原因
你收到的Invalid array报错,根源是items参数的传值格式不符合Stripe对x-www-form-urlencoded类型请求的参数规范:
items是数组类型,必须显式指定数组下标(单条订阅项用下标0即可)- 你当前的写法多了无效的
.分隔符,且不需要额外嵌套id字段,直接将price ID赋值给items[0][price]即可
修正代码
仅需修改你代码中构造sendstr的行即可,增加Server.URLEncode处理可以避免特殊字符导致的额外异常:
' 原来的错误写法 ' sendstr = "customer=" & stripecustomerid & "&items[price].[id]=" & "price_1JZtqEASSxQ8uiR9U5uEZNH9" ' 修正后的写法 sendstr = "customer=" & Server.URLEncode(stripecustomerid) & "&items[0][price]=" & Server.URLEncode("price_1JZtqEASSxQ8uiR9U5uEZNH9")
如果需要配置该订阅项的购买数量等额外参数,可按相同格式追加:
' 示例:设置该订阅项购买数量为2 sendstr = sendstr & "&items[0][quantity]=2"
内容的提问来源于stack exchange,提问作者Michael Fiil
相关产品推荐
相关产品推荐

