You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

修改Stripe嵌入式结账会话配置后出现JSON.parse解析错误的排查求助

修改Stripe嵌入式结账会话配置后出现JSON.parse解析错误的排查求助

我完全照搬了Stripe的嵌入式表单示例代码,现在想要添加促销邮件同意收集的功能。

在示例的checkout.php文件中,我添加了这一行配置:

'consent_collection' => ['promotions' => 'auto']

结果Stripe的js.stripe.com/v3脚本返回了JSON解析错误,具体报错信息如下:

Uncaught (in promise) IntegrationError: fetchClientSecret failed with error "JSON.parse: unexpected end of data at line 1 column 1 of the JSON data"
    r https://js.stripe.com/v3/:1
    n https://js.stripe.com/v3/:1
    r https://js.stripe.com/v3/:1
    t https://js.stripe.com/v3/:1
    e https://js.stripe.com/v3/fingerprinted/js/embedded-checkout-outer-60acd9aac45305c6390331b023b051cf.js:4
    promise callback*e https://js.stripe.com/v3/fingerprinted/js/embedded-checkout-outer-60acd9aac45305c6390331b023b051cf.js:4
    Q https://js.stripe.com/v3/fingerprinted/js/embedded-checkout-outer-60acd9aac45305c6390331b023b051cf.js:4
    Ki https://js.stripe.com/v3/:1
    promise callback*Ki https://js.stripe.com/v3/:1
    initEmbeddedCheckout https://js.stripe.com/v3/:1
    initialize https://testing.ivyaudio.com/checkout.js:16
    <anonymous> https://testing.ivyaudio.com/checkout.js:4
v3:1:712678
    e https://js.stripe.com/v3/fingerprinted/js/embedded-checkout-outer-60acd9aac45305c6390331b023b051cf.js:4
    (Async: promise callback)
    e https://js.stripe.com/v3/fingerprinted/js/embedded-checkout-outer-60acd9aac45305c6390331b023b051cf.js:4
    Q https://js.stripe.com/v3/fingerprinted/js/embedded-checkout-outer-60acd9aac45305c6390331b023b051cf.js:4
    Ki https://js.stripe.com/v3/:1
    (Async: promise callback)
    Ki https://js.stripe.com/v3/:1
    initEmbeddedCheckout https://js.stripe.com/v3/:1
    initialize https://testing.ivyaudio.com/checkout.js:16
    <anonymous> https://testing.ivyaudio.com/checkout.js:4

而且不止这一个修改会触发错误——我按照示例文档的建议,把配置中的payment改成subscription时,也会出现完全相同的错误。

Stripe有一篇相关的故障排查文档,但它默认错误是由我自己的JS代码导致的,而不是Stripe官方脚本抛出的,所以这篇文档对我没什么帮助。

我显然漏掉了某个关键环节,想请教两个问题:

  • 怎么才能查看到导致JSON解析错误的具体对象?
  • 为什么只要我修改checkout_session中的任何配置,Stripe就会抛出这个错误?

备注:内容来源于stack exchange,提问作者Simon

火山引擎 最新活动