确认Stripe账户的设置正确,包括密钥和Webhook的设置。
检查代码中的Stripe API版本是否与Stripe账户设置的版本相同,可以使用以下代码验证:
const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY, {
apiVersion: '2020-03-02',
});
确保后端代码已经部署并正常工作。在Heroku控制台中查看应用程序日志,以确保是否有任何错误消息。
检查前端代码的配置,确保已经正确地设置了环境变量和其他配置参数。例如,可以使用以下代码来确保令牌被正确设置:
const stripePromise = loadStripe(process.env.REACT_APP_STRIPE_PUBLISHABLE_KEY);
如果以上步骤都没有解决问题,可以尝试使用Stripe的调试工具来调试问题。例如,可以使用Stripe CLI进行本地调试并查看日志:
stripe listen --forward-to localhost:5000/webhook
然后,可以使用以下代码将Stripe CLI的日志输出到控制台:
const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY, {
apiVersion: '2020-03-02',
appInfo: { name: 'myapp', version: '1.2.3' },
logger: { level: 'debug', log: (level, message, data) => console.log(message) },
});