常见问题

更新时间:2024.11.26

Q:微信App支付,前端调起时返回errcode=-1,如何进行排查?

A:请遵循以下步骤进行故障排除:

1、检查App下单参数:

  • 核实调起支付前是否获取到了正确的prepay_id

2、验证签名正确性:

  • 仔细检查参与签名的参数名大小写是否与文档一致。

  • 注意App下单返回的签名与调起支付时使用的签名不同,调起支付时需根据文档参数单独生成签名

  • 可使用工具生成签名,验证代码生成的签名是否与工具生成的签名一致,工具生成签名参考:如何使用签名/验签工具

3、检查客户端调用sendReq(PayReq)对象赋值的正确性:

  • 如果数据是通过异步请求获得的(例如data对象),确保属性值正确赋值,避免出现空值情况。例如:

  • 1request.AppID = data.AppID; // 确保这里的AppID属性值不为空。

4、审查开发配置:

  • 核查iOS的AppID配置是否正确。

  • 检查Android的应用包名及应用签名设置是否正确。

  • 检查鸿蒙的Bundle ID和Identifier设置是否正确

通过以上步骤,您应该能够定位并解决微信App支付前端调起时返回errcode = -1的问题。

 

Q:App调用“调起支付API”返回:商户支付下单ID非法

A:请确认调起支付参数字段名是否与文档的一致。

Q:服务商模式下,调用App下单接口,返回“受理关系不可用”

A:服务商模式的APP支付需要服务商与子商户(也叫特约商户)之间有授权“服务商APP支付”的权限,授权完成后才能为子商户调用下单接口,具体授权流程请参考权限申请-子商户授权服务商APP支付权限

Q:调用App下单接口,返回“sub_appid与sub_mch_id不匹配”

A:服务商在调用App下单接口前,必须确保已为子商户号绑定了相应的sub_appid,具体绑定流程请服务商参考:服务商为子商户配置AppID(即sub_appid)

Q:app支付应该申请哪种类型的应用ID(appid)?

A:您应该申请app类型的移动应用ID(appid)用于APP支付。

Q:用java语言实现app支付怎么生成sign

A:为了实现APP支付的签名生成,建议您使用微信支付官方提供的SDK,它已经包含了签名和验签功能,无需您自行实现签名。

您可以参考这个链接了解如何使用SDK:SDK&工具

如果您想了解更多关于签名生成的步骤,可以查看这个链接:签名生成

Q:H5页面是否可以内嵌APP支付?

A:根据微信支付的规定,目前暂不支持H5内嵌APP支付。如果您需要在APP内进行支付,请使用APP支付功能。如果需要在外部浏览器中进行支付,请使用H5支付功能。

Q:APP支付和JSAPI支付的APPID是一样的吗

A:不一样,JSAPI支付只能使用公众号/服务号类型的APPID,而APP支付则需要使用移动应用类型的APPID。因此,请根据您的具体支付场景选择对应的支付功能,以及对应类型的APPID。

Q:更改开放平台配置的universal link是否会对APP支付接口的正常使用产生影响?

A:更改开放平台配置的universal link不会对APP支付接口的正常使用产生影响,但可能会存在开放平台对universal link校验不通过的场景,从而影响拉起微信支付。因此,在更改universal link时,请确保其符合微信支付的要求,以避免潜在的问题。