11. PHP接入微信企业付款功能

    xiaoxiao2026-03-15  8

    payment 项目2.0版本

    这个功能与支付宝的批量付款到支付宝帐号功能类似。但是当前支付宝这个接口已经停止审核了。

    当前很多提问平台就用到了这两个平台。比如[来问医生],你提的问题如果被人看了。医生得0.5元,你得0.5元。然后累积够1元后,[来问医生]就会通过微信的企业付款功能给你的微信余额增加1元。

    代码调用

    use Payment\TransferContext; use Payment\Common\PayException; use Payment\Config; // 生成转款单号 便于测试 function createPayid() { return date('Ymdhis', time()).substr(floor(microtime()*1000),0,1).rand(0,9); } $wxconfig = [ 'app_id' => 'wxa244db59a34996fc', // 公众账号ID 'mch_id' => '1331302101',// 商户id 'md5_key' => 'adslkfjiKQJLAIQLJ393201482333333',// md5 秘钥 'notify_url' => 'http://test.helei.com/pay-notify.html', 'time_expire' => '14', // 涉及资金流动时 退款 转款,需要提供该文件 'cert_path' => dirname(__FILE__) . DIRECTORY_SEPARATOR . 'wx' . DIRECTORY_SEPARATOR . 'apiclient_cert.pem', 'key_path' => dirname(__FILE__) . DIRECTORY_SEPARATOR . 'wx' . DIRECTORY_SEPARATOR . 'apiclient_key.pem', ]; // 转款数据 $transData = [ 'trans_no' => createPayid(), 'trans_data' => [ [ 'serial_no' => createPayid(), 'user_account' => 'otijfvr2oMz3tXnaQdKKbQeeBmhM',// 微信转款时,为用户所关注公众号的openid 'user_name' => '愚不可及', 'trans_fee' => '1', 'desc' => '测试批量转款', ] ], ]; $refund = new TransferContext(); try { // 微信的企业付款, 仅支持单笔 $type = Config::WEIXIN; $refund->initTransfer(Config::WEIXIN, $wxconfig); $ret = $refund->transfer($transData); } catch (PayException $e) { echo $e->errorMessage();exit; } var_dump($ret);

    请求参数

    参数参数名参数说明是否必须trans_no商户订单号商户订单号,需保持唯一性是trans_data转账数据转账数据详细信息,具体内容如下是

    trans_data数据

    参数参数名参数说明是否必须serial_no流水号对于微信该参数不需要,但请保留,后期可能支持批量退款需要否user_account用户openid商户appid下,某用户的openid是user_name收款用户姓名收款用户真实姓名。是trans_fee金额企业付款金额,单位为元是desc企业付款描述信息企业付款操作说明信息。是

    返回数据

    参数参数名参数说明是否必须is_success是否成功失败会返回错误原因。T:成功 F:失败是error错误原因为T时有返回否response成功时数据成功时返回的具体数据否

    response数据

    参数参数名参数说明是否必须trans_no商户订单号商户订单号,需保持唯一性是trans_id微信订单号企业付款成功,返回的微信订单号否payment_time微信支付成功时间企业付款成功时间否
    转载请注明原文地址: https://ju.6miu.com/read-1307986.html
    最新回复(0)