[麦先生]TP3.2之微信开发那点事[基础篇](微信支付签名算法)

两种模式:扫码支付和微信内支付(调用js-sdk)

trade_type==native即扫码支付,只需要将code_url转成二维码,使用微信扫码即可;

js-sdk微信内支付-调用微信js-sdk中的相关东西,这一步中最关键是生成一个json格式的字符串。

首先要生成转换json字符串的数组--例如:array_jsapi。

A:该数组的参数包括:appId,timeStamp,nonceStr,package,signType(默认为”MD5“),要注意大小写和上面的数组里面是不一样的。

B:使用该数组生成paySign参数,签名方式同上。

C:将paySign参数追加到array_jsapi数组中。

D:将该数组使用json_encode格式化为字符串js_string。

完成上面的工作,就可以在微信内部进行支付了。

当返回状态码:return_code为SUCCESS时证明通信成功,会返回全部的支付信息但并非意味着交易成功,当result_code(业务状态)为SUCCESS时才可以认定为成功!

部分可用来验证是否为我们商户的参数:Appid,mch_id(商户ID), out_trade_no(商户订单号);

可以用来判断业务逻辑的参数: result_code(success/fail), out_trade_no(商户订单号), total_fee(订单金额), settlement_total_fee(应结订单金额);注:应结订单金额 = 订单金额-非充值代金券;

支付完成后商户进行处理返回给微信参数;

返回状态码return_code是String(16)SUCCESSSUCCESS/FAIL

SUCCESS表示商户接收通知成功并校验成功;

原文地址:https://www.cnblogs.com/maixiansheng/p/6183481.html