-问题描述:
调用支付接口,后台请求支付接口成功,回执数据正常,回执数据返回至小程序端,报错“商户传入的appid参数不正确,请联系商户处理”,没有弹出输入密码页面!!!
-问题出现场景:
小程序对同主体商户,能够支付成功,对应不同主体商户支付失败(商户平台已经绑定改小程序的APPID)
- 当前 Bug 的表现(可附上截图)
- 预期表现
-小程序端代码
wx.requestPayment({ 'timeStamp': res.data.timeStamp, 'nonceStr': res.data.nonceStr, 'package': res.data.package, 'signType': res.data.signType, 'paySign': res.data.paySign, 'success': function (res) { wx.setStorageSync('ordertime', 60); wx.setStorageSync('clearsetInter',''); wx.setStorageSync("orderid", ""); wx.redirectTo({ url: orderUrl }) }, 'fail': function (res) { wx.redirectTo({ url: '../../order/fail/fail?orderfail=fail&orderid=' + orderid }) } }) |
-请求参数:
{nonce_str: "prlNcOyt8XNXTDdI" , package : "prepay_id=wx131821368388059bff1da1a91266347900" ,…} appid: "wx64219b04c3af9d85" mch_id: "1515291591" nonceStr: "1125C6496504470BA95F99905D32E902" nonce_str: "prlNcOyt8XNXTDdI" package : "prepay_id=wx131821368388059bff1da1a91266347900" paySign: "7061D742E95B91DD39E1B18731DDE8FC" prepay_id: "wx131821368388059bff1da1a91266347900" result_code: "SUCCESS" return_code: "SUCCESS" return_msg: "OK" sign: "B692060C049D89D585A254E5332C6C9F" signType: "MD5" timeStamp: "1560421295151" trade_type: "JSAPI" |
您好,报这个错误,是你调起支付请求的APPID与你统一下单的APPID不一致引起,你调起支付请求用了这个错误的APPID:wxc49cdd2c216eacff,这个是不对的,你要用你统一下单中的APPID才对,请注意。
您好 这是我后台的请求参数
<
xml
> <
appid
>wx64219b04c3af9d85</
appid
> <
body
>男士寸头</
body
> <
mch_id
>1515291591</
mch_id
> <
nonce_str
>9724DA104C04472CB61AACE3E3D99250</
nonce_str
> <
notify_url
>https://www.xinxingshangstar.com/indent/noticeCardOrder</
notify_url
> <
openid
>oTsF75WmeBaM1IM5hZE_RVbI9sbI</
openid
> <
out_trade_no
>20190614101305</
out_trade_no
> <
spbill_create_ip
>154.8.185.184</
spbill_create_ip
> <
total_fee
>10</
total_fee
> <
trade_type
>JSAPI</
trade_type
> <
sign
>23CD84F770193BFF5EE80CD3135B7C6C</
sign
></
xml
>
这是后台调用接口的回执数据
<
xml
><
return_code
>
<![CDATA[SUCCESS]]>
</
return_code
><
return_msg
>
<![CDATA[OK]]>
</
return_msg
><
appid
>
<![CDATA[wx64219b04c3af9d85]]>
</
appid
><
mch_id
>
<![CDATA[1515291591]]>
</
mch_id
><
nonce_str
>
<![CDATA[J8j1nOSSSzXXYd3x]]>
</
nonce_str
><
sign
>
<![CDATA[34668D40CD3643275903D3571E2C0AD7]]>
</
sign
><
result_code
>
<![CDATA[SUCCESS]]>
</
result_code
><
prepay_id
>
<![CDATA[wx14101400066075d982f7b8d01599585500]]>
</
prepay_id
><
trade_type
>
<![CDATA[JSAPI]]>
</
trade_type
></
xml
>
这是小程序端打印的回执数据进行“wx.requestPayment”请求
{nonce_str:
"MkeWYdVftmx3BXBg"
,
package
:
"prepay_id=wx14101526311412edb956411e1256297500"
,…}
appid:
"wx64219b04c3af9d85"
mch_id:
"1515291591"
nonceStr:
"A3B8E0E9C3BE435C9707264C5FC01FF9"
nonce_str:
"MkeWYdVftmx3BXBg"
package
:
"prepay_id=wx14101526311412edb956411e1256297500"
paySign:
"0828DE4C44ED1C3C25C4DBE744271A1"
prepay_id:
"wx14101526311412edb956411e1256297500"
result_code:
"SUCCESS"
return_code:
"SUCCESS"
return_msg:
"OK"
sign:
"5D3DEBAA9F957E38E34FA127386D3F0B"
signType:
"MD5"
timeStamp:
"1560478534926"
trade_type:
"JSAPI"
payIndent selIndentByHairById selIndentByHairById
烦请看一下,问题出在哪里,其中支付人为关注“wx64219b04c3af9d85”这个appid的小程序,但支付人关注的小程序appid已经绑定到“wx64219b04c3af9d85”同主体的商户号上(不清楚有没有关系);还有就是同主体商户支付是可以成功的
您好,这个需要你们自已检查你们的程序,统一下单与调起支付请求的appid要一致才对的,不能乱用APPID。
我也遇到了和楼主一样的问题,但是没有找到原因,麻烦帮看看:
下面是统一下单返回参数:
{PACKAGE=prepay_id=wx2511011047752744290ad4851137992200, TIME_STAMP=1585105269, NONCE_STR=8upnst2vawwswn8i8kqrjtny0hwe7cu4, PREPAY_ID=wx2511011047752744290ad4851137992200, SL_RSLT_MESG=success, SL_RSLT_CODE=999999, REDIRECT_URL=https://api.mch.weixin.qq.com/pay, PAY_SIGN=E987A6EF6E051EDAFEB4AC16C287A098, TRAN_CODE=EpayReq, BANK_TYPE=DEFAULT, APP_ID=wx4397b8de3975294a}
下面是发起支付请求参数:
{SING_FLAG: "Y", PACKAGE: "prepay_id=wx2511011047752744290ad4851137992200", PAY_SIGN: "E987A6EF6E051EDAFEB4AC16C287A098", APPID: "wx4397b8de3975294a", TIMESTAMP: "1585105269"}
请问一下小程序调用支付使用的appid是指在project.config.json下设置的appid吗
我们的是服务商模式下的,小程序调用支付的时候不能用服务商的appId吗?如果必须要小程序的appId,那统一下单API里非必填还有什么意义啊
问题已经解决,问题出在,后台下单接口请求数据appid是“wx64219b04c3af9d85”,小程序调用支付使用的appid是“wxc49cdd2c216eacff”;实现不同主体支付需要将小程序APPID与异主体商户平台绑定可参阅APPID授权管理功能介绍