一、公众号支付
微信支付,采用EasyWeChat的SDK。
公众号、H5支付,需要二次签名,调用
$this->jssdk->sdkConfig($prepayId);
$prepayId 为统一下单返回的 预支付交易会话ID,即生成二次签名,返回给前端调用。
二、微信app支付
app支付,统一下单,不需要传openid。
二次签名,这里是坑,不能调用EasyWeChat的方法,用统一下单返回的几个参数,拼接成链接(key-value键值对),再MD5加密。(这里的 key 要全部小写!!)
顺序如下:
$paySignStr = "appid=".$result['appid']."&noncestr=".$result['nonce_str']."&package=Sign=WXPay&partnerid=partnerid&prepayid=".$result['prepay_id']."×tamp=".$time."&key=key;
生成的二次签名,返回给app端调用,即成功。