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

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 微信支付成功时间 企业付款成功时间
时间: 2024-10-08 20:48:53

11. PHP接入微信企业付款功能的相关文章

asp微信支付企业付款功能代码下载

最近应一个客户要求写了一段代码,要求从公众号的支付平台给用户发钱,我大体看了一下,这叫企业付款功能,由于客户的代码是asp写的,所以只能用asp来写接口了,这个功能还比较实用,可以片外支付从0.30元以上的钱付给用户,不说了,下面让代码: 微信公众号支付平台asp企业付款功能代码: <% '作者微信:18611436777,转载请保留 set wxpay = New WxPayApi Dim Action,total_fee Action = Trim(Request.QueryString(&qu

thinkphp 微信支付 thinkphp 微信企业付款

前面已经跑通了微信支付的流程,接下来吧微信支付和微信企业付款接入到thinkphp中,版本是3.2 把微信支付类.企业付款类整合到一起放到第三方类库,这里我把微信支付帮助类和企业付款类放到同一个文件了: 把Payment整个文件夹放到\ThinkPHP\Library\Vendor文件夹下面,打开WxPay.pub.config.php,配置四个参数即可,然后把微信提供的证书放到caccert文件夹:这样就完成了支付和 企业付款的所有代码配置! 待续...

微信企业付款到银行卡

第一次做微信企业付款到银行卡,特地记录下来,因为这个功能自己用了2-3天,这中间的坑主要是再rsa加密那块.自己记录下来,供朋友参考.自己用的php开发 第一,首先你需要开通企业的微信认证公众号平台,然后开通支付功能.这些我就不说了.自己开通. 第二,看文档, 第三步,发送请求接口,发送后,腾讯会给你响应.特别要说明一点的是,腾讯这个功能真不便宜,我测试时一元钱,手续费扣了我一元.最少金额是一元. 在发送接口时有个公钥我们首先要获得,同时里面有个签名算法,公钥主要用于到时银行账号和收款人姓名加密

微信商户如何快速开通企业付款功能,发红包功能。

博主送福利了,微信扫码有惊喜.超值红包等着你..么么哒 言归正转 1.如果需要做小程序的话,最好申请一个认证过的企业公众号,一个认证过的企业公众号,用户可以关联认证两个小程序:切记不要先认证小程序,不然以后会再多花300块认证公证号:因为微信商户号开通需要绑定认证过的微信企业号.如果没有认证过的公众号,那就需要再话300块来认证企业微信,总之这是一个大坑.切记,切记,切记,做微信开发,先注册认证公众号!2.微信商户开通企业付款到零钱,除了需要绑定企业微信外:如果你在申请商户时选择的结算方式是t+

微信企业付款到个人钱包引发的坑之反思~

企业付款到个人钱包也就是用户在微信公众平台提现可以直接打入提现者微信的钱包!但要满足: 1)企业开通微信支付90天 2)连续30天有交易才能开通此功能 今天有幸能开发此功能,我只能说我又涨知识了!!!在我编程的这条道路上我又多见到了一些坑!下面就给大家讲一下今天遇到的两个坑! 1)CA证书引入问题,开发过程中遇到了CA证书验证失败的问题,百度之后网上有的说要用绝对路径,有的人说要用相对路径! curl_setopt($curl,CURLOPT_SSLCERT,getcwd()."/cert/ap

微信企业付款到个人钱包引发的坑之反思~!

企业付款到个人钱包也就是用户在微信公众平台提现可以直接打入提现者微信的钱包!但要满足: 1)企业开通微信支付90天 2)连续30天有交易才能开通此功能 今天有幸能开发此功能,我只能说我又涨知识了!!!在我编程的这条道路上我又多见到了一些坑!下面就给大家讲一下今天遇到的两个坑! 1)CA证书引入问题,开发过程中遇到了CA证书验证失败的问题,百度之后网上有的说要用绝对路径,有的人说要用相对路径! 小梦使用的是Thinkphp3.2框架开发的这个功能,最终我结果告诉我用绝对路径,还要用到PHP的一个函

微信企业付款

<?php header('content-type:text/html;charset=utf-8'); $data['mch_appid']='##################';//商户的应用appid $data['mchid']='################';//商户ID $data['nonce_str']='123456';//unicode();//这个据说是唯一的字符串下面有方法 $data['partner_trade_no']='LB123456';//.tim

微信开发 -- 企业付款 PHP代码实现

写这篇文章的目的主要是由于在微信公众平台提供的SDK中并没有提供此功能的SDK实现, 其实最后实现还是借助 微信公众平台开发文档 和 SDK. 企业付款的应用场景: 公众号向已关注用户付款,比如处理退款.财务结算等 先说一下实现思路: 在SDK中自带类库的基础上扩展WxMchPay组件, 实现企业付款功能的扩展. 话不多说,上代码, 下面是继承SDK,实现企业付款的组件: $parameters参数参考: 企业付款API的文档 <?php // 引入SDK import('Common.Util

微信支付之企业付款--微信商户后台没有“企业付款到零钱”解决方案

项目需要用到用户提现功能,准备用微信支付提供的企业付款功能,即提供企业向用户付款的功能,支持企业通过API接口付款,或通过微信支付商户平台网页功能操作付款. 登录商户后台准备开通,发现产品中心中并不存在. 这没有,我要怎么开通啊,后来网上一顿搜索,发现一个解决方案,将原网址https://pay.weixin.qq.com/index.php/extend/product/lists?tid=3,com/后的改为/index.php/public/product/detail?pid=5,参见下