React前端+.Net后端电商Stripe测试支付未显示在测试仪表盘问题
测试密钥配置错误:确认后端使用的是测试环境的Secret Key(以
sk_test_开头),前端使用的是测试环境的Publishable Key(以pk_test_开头)。如果混用生产密钥或密钥填写错误,交易不会同步到测试仪表盘。支付Intent未正确创建:React前端发起支付前,必须调用.NET后端接口创建
PaymentIntent(或SetupIntent)。检查后端代码是否正确调用Stripe的.NET SDK创建Intent,比如:var options = new PaymentIntentCreateOptions { Amount = 1000, // 单位:分 Currency = "usd", PaymentMethodTypes = new List<string> { "card" }, }; var service = new PaymentIntentService(); PaymentIntent intent = service.Create(options);同时查看后端日志,确认请求是否成功发送到Stripe,有没有API调用异常。
支付Intent未完成确认/捕获:如果创建
PaymentIntent时设置了CaptureMethod = "manual",支付完成后需要后端主动调用Capture方法才能完成交易,否则仪表盘不会显示已完成的记录。如果是自动捕获,确认参数是否设置为CaptureMethod = "automatic"(默认值)。本地请求被拦截或跨域问题:检查前端控制台是否有跨域错误,后端是否配置了正确的CORS规则,确保创建Intent的请求能正常到达后端,再传递到Stripe。另外,本地防火墙、代理工具可能拦截请求,可暂时关闭测试。
测试支付未成功完成:确认使用的是Stripe测试卡号(如
4242 4242 4242 4242),且模拟了完整的支付流程(比如需要3D验证的卡号要完成验证步骤)。如果支付被拒绝,交易可能出现在仪表盘的「支付失败」分类下,而非默认的「已完成」列表。仪表盘筛选条件错误:确认已切换到Stripe仪表盘的测试模式(右上角切换开关),同时检查时间筛选范围是否覆盖了支付操作的时间,避免因筛选条件遗漏交易。
内容的提问来源于stack exchange,提问作者Markusreis

