官方文档:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_1
关键参数如图:
证书如图:
证书路径要与代码里的路径对应,放在根目录下,最好用cert或其它命名文件夹存起来(本人实践时发现放在文件夹里有效),如图
基本流程
1、拼凑所需要传递的参数 map集合
2、根据要传递的参数生成自己的签名
3、把签名放到map集合中【因为签名也要传递过去,看API】
4、将当前的map结合转化成xml格式
5、发送请求到企业付款到零钱的Api。发送请求是一个方法来的POST
6、解析返回的xml数据===》map集合
7、根据map中的result_code AND return_code来判断是否成功与失败
上代码
/**
* 企业支付(向微信发起企业支付到零钱的请求)
* @param string $openid 用户openID
* @param string $trade_no 单号
* @param string $money 金额(单位分)
* @param string $desc 描述
* @param string $appid 协会appid
* @return string XML 结构的字符串
**/
function txFunc($openid,$trade_no,$money,$desc,$appid)
{
$data = array(
'mch_appid' =>$appid,//协会appid
'mchid' => '',//微信支付商户号
'nonce_str' => getNonceStr(), //随机字符串
'partner_trade_no' => $trade_no, //商户订单号,需要唯一
'openid' => $openid,
'check_name' => 'NO_CHECK', //OPTION_CHECK不强制校验真实姓名, FORCE_CHECK:强制 NO_CHECK:
'amount' => $money * 100, //付款金额单位为分
'desc' => $desc