Sage Pay集成问题:默认收取0.10 GBP而非指定金额
Sage Pay集成金额显示异常问题解决
- 检查金额参数格式:Sage Pay要求金额以便士为单位的整数传递,9.99 GBP需传入
999而非9.99。如果直接传小数,系统可能自动截断或转换为0.10 GBP(10便士)。务必确保请求中的Amount字段是原金额乘以100后的整数值。 - 验证货币代码配置:确认请求里的
Currency参数设置为GBP,货币单位不匹配可能导致金额解析异常。 - 区分测试与生产环境:若使用Sage Pay测试沙箱,部分模拟支付工具或测试卡会强制使用固定测试金额(如0.10 GBP)。需切换至真实支付流程,使用有效支付方式验证。
- 排查回调逻辑:检查支付成功后的回调处理代码,确认是否在接收Sage Pay通知时错误修改了金额,或本地存储时出现精度丢失。
- 核对交易日志:导出请求发送的完整参数日志,对比Sage Pay后台交易详情中的原始请求,确认
Amount参数在请求和响应中是否一致。
内容的提问来源于stack exchange,提问作者Binayak Das
相关产品推荐
相关产品推荐

