Flutter集成PhonePe生产环境报错:ERROR_B2B_API_RETURNED_ERROR及应用验证错误
PhonePe生产环境集成出现
INTERNAL_SERVER_ERROR(应用验证错误)的解决办法 问题描述
已通过PhonePe开发者文档提供的测试凭证完成SDK集成,切换至生产环境并替换对应salt key及参数后,出现以下错误:
I/phonepe_payment_sdk( 7853): onActivityResult: requestCode:725 resultCode:0, data: key_error_code:ERROR_B2B_API_RETURNED_ERROR I/phonepe_payment_sdk( 7853): key_error_result:{"success":false,"code":"INTERNAL_SERVER_ERROR","message":"There is an error trying to process your transaction at the moment. Please try again in a while. [message = Error in application validation]","data":{}}
排查与解决步骤
检查生产环境参数完整性:
确认所有生产环境必填参数都已正确替换,包括但不限于:- 生产环境的
merchantId(需与PhonePe后台备案的商家ID完全一致,注意大小写和字符长度) - 生产环境专属的
salt key和salt index,确保没有混用测试环境的salt值 - 回调URL必须是PhonePe后台已配置的、可公网访问的HTTPS地址,且路径和域名完全匹配
- 生产环境的
验证签名生成逻辑:
生产环境的签名生成规则需严格遵循PhonePe生产文档要求:- 确保签名使用的是生产salt key,而非测试环境的
- 检查签名拼接的参数顺序、格式(如是否包含正确的请求体、timestamp、merchantId等),任何格式错误都会导致应用验证失败
- 确认签名生成时使用的加密算法(默认SHA-256)与PhonePe后台配置一致
核对应用包名与签名:
PhonePe生产环境会校验应用的包名和签名指纹:- 检查在PhonePe商家后台配置的包名是否与当前生产应用的包名完全一致
- 确认上传到PhonePe后台的签名SHA-256指纹是生产环境应用的签名指纹,而非测试包的(注意区分debug和release签名)
检查交易请求参数合法性:
生产环境对交易参数的校验更严格:- 确保交易金额符合PhonePe生产环境的金额限制(如最小/最大交易额度)
- 订单ID需保证唯一性,不能重复提交相同订单ID的请求
- 检查请求中的用户信息、交易类型等参数是否符合生产环境的规范
联系PhonePe技术支持:
如果以上步骤都排查无误仍无法解决,直接提交工单联系PhonePe技术支持,提供以下信息以便快速定位:- 完整的错误日志
- 生产环境的merchantId
- 出现错误的订单ID(如果有)
- 应用包名和签名指纹信息
内容的提问来源于stack exchange,提问作者Dharini
相关产品推荐
相关产品推荐

