映月读书网 > 微信公众平台开发:从零基础到ThinkPHP5高性能框架实践 > 17.7 企业付款 >

17.7 企业付款

企业付款提供企业向用户付款的功能,支持企业通过API接口付款,或通过微信支付商户平台网页功能操作付款。

企业付款的接口如下。


https:// api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers
  

调用企业付款接口时,POST数据示例如下。


<xml>
    <mch_appid>wxe062425f740c30d8</mch_appid>
    <mchid>10000098</mchid>
    <nonce_str>3PG2J4ILTKCH16CQ2502SI8ZNMTM67VS</nonce_str>
    <partner_trade_no>100000982014120919616</partner_trade_no>
    <openid>ohO4Gt7wVPxIT1A9GjFaMYMiZY1s</openid>
    <check_name>OPTION_CHECK</check_name>
    <re_user_name>张三</re_user_name>
    <amount>100</amount>
    <desc>节日快乐!</desc>
    <spbill_create_ip>10.2.3.10</spbill_create_ip>
    <sign>C97BDBACF37622775366F38B629F45E3</sign>
</xml>
  

同时,企业付款时需要带上文件证书,提高安全级别。

上述数据的参数说明如表17-10所示。

表17-10 企业付款接口的参数说明

正确创建时,返回的数据示例如下。


<xml>
    <mch_appid>wxe062425f740c30d8</mch_appid>
    <mchid>10000098</mchid>
    <nonce_str>3PG2J4ILTKCH16CQ2502SI8ZNMTM67VS</nonce_str>
    <partner_trade_no>100000982014120919616</partner_trade_no>
    <openid>ohO4Gt7wVPxIT1A9GjFaMYMiZY1s</openid>
    <check_name>OPTION_CHECK</check_name>
    <re_user_name>张三</re_user_name>
    <amount>100</amount>
    <desc>节日快乐!</desc>
    <spbill_create_ip>10.2.3.10</spbill_create_ip>
    <sign>C97BDBACF37622775366F38B629F45E3</sign>
</xml>
  

上述数据的参数说明如表17-11所示。

表17-11 企业付款接口返回参数说明

企业付款给用户的代码实现如下。


 1 $obj = array;
 2 $obj['openid']           = $openid;
 3 $obj['amount']           = "101";
 4 $obj['desc']             = "积分兑现金";
 5 $obj['mch_appid']        = APPID;
 6 $obj['mchid']            = MCHID;
 7 $obj['partner_trade_no'] = MCHID.date('YmdHis').rand(1000, 9999);
 8 $obj['spbill_create_ip'] = $_SERVER['REMOTE_ADDR'];
 9 $obj['check_name']       = "NO_CHECK";
10 $obj['re_user_name']     = "方倍";
11 var_dump($obj);
12 $url = 'https:// api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers';
13 $wxHongBaoHelper = new WxPay;
14 $data = $wxHongBaoHelper->wxpay($url, $obj, true);
15 $res = $wxHongBaoHelper->xmlToArray($data);
16 var_dump($res);
  

用户收到企业付款时的效果如图17-11所示。

图17-11 企业付款