微信公众号支付失败问题-微信支付提示 调用支付JSAPI缺少参数appId_百度...
发布网友
发布时间:2024-08-22 11:47
我来回答
共1个回答
热心网友
时间:2024-08-26 18:15
由于之前对微信app支付、小程序支付、支付宝app支付以及云闪付app支付等方面有过功能和研究,最近我需要完成一个微信公众号支付的场景。然而,在实施过程中遇到了一个难题,耗费了我一上午的时间。为了防止以后再次遇到类似问题,我将这个问题记录下来。
技术场景:微信公众号支付
本文不会详细讲解微信公众号支付的具体流程,因为官网文档已经非常详细。本文的目的仅是记录我遇到的问题,而不是写支付教程。如果有机会,我会在以后的手把手教程中详细说明。
开发前的准备工作包括微信公众号需要是服务号认证,并开通微信支付功能,这些都需要付费。另外,我选择花生壳进行本地调试,因为它提供了便捷的本地端口映射,并且提供的域名已经备案,适合测试使用。
在开发阶段,我采用React技术栈开发前端,SpringBoot框架开发后端。后端接口程序的核心代码是微信公众号后端支付接口,需要传入openId和total_fee参数。前端支付程序使用React技术,并通过Redux传递openId。
在开发过程中,我在前端支付界面调用wxPayRequest方法时遇到了错误get_brand_wcpay_request:fail。通过解析错误信息,我发现缺少参数appId。经过多次排查,我发现问题出在前端JS调用的代码中。原来,微信JSAP接口WeixinJSBridge.invoke中的第二个参数应该是javascript对象,而不是json字符串。通过将服务器接口给我的json字符串转换为javascript对象,我成功地解决了支付问题。