PHP开发微信提现到银行卡

一、实现功能

原来的项目新增了从系统中提现到银行卡的功能,根据微信官方文档提示,首先要去微信商户平台开通企业付款这一功能,如果没有开通,或者不会开通的,可以参照我上一篇文章,官方文档

二、加载SDK

1.微信所提供的官方SDK坑太多,我使用的是GitHub上的一个开源SDK

WeChatDeveloper 为开源项目,允许把它用于任何地方,不受任何约束,欢迎 fork 项目。

Gitee 托管地址:https://gitee.com/zoujingli/WeChatDeveloper
GitHub 托管地址:https://github.com/zoujingli/WeChatDeveloper

1.1 大家可以Composer来管理安装(建议)

首次安装 线上版本(稳定)

composer require zoujingli/wechat-developer

首次安装 开发版本(开发)

composer require zoujingli/wechat-developer dev-master

更新 WeChatDeveloper

composer update zoujingli/wechat-developer

1.2 或者直接下载包并解压到项目中

在项目中加载初始化文件

include “您的目录/WeChatDeveloper/include.php”;

三、上代码

<?php

/**
 * @author: gy
 * @day: 2020/12/12
 */

namespace api\services;

include('../WeChatDeveloper/include.php');



/**微信提现类
 * Class ProgramService
 * @package service
 */
class ProgramService
{
    
    

    /**
     * 微信测试银行卡提现
     * @return string merchant_pay
     */
    public function TransfersBank()
    {
    
    
        try {
    
    

            $config = array(
                'token'          => '',
                'appid'          => '',
                'appsecret'      => '',
                'encodingaeskey' => '',
                // 配置商户支付参数(可选,在使用支付功能时需要)
                'mch_id'         => '',
                'mch_key'        => '',
                // 配置商户支付双向证书目录(可选,在使用退款|打款|红包时需要)
                'ssl_key'        => '',
                'ssl_cer'        => '',
                // 缓存目录配置(可选,需拥有读写权限)
                'cache_path'     => '',
            );
            
            //创建接口实例
            $wechat = \WeChat\Pay::instance($config);
            
            //组装参数,可以参考商户官方文档
            $data = [
                'partner_trade_no' => '',
                'enc_bank_no' => '',
                'enc_true_name' => '',
                'bank_code' => '',
                'amount' => 100,
                'desc' => '余额提现'
            ];
            
            $result = $wechat->createTransfersBank($data);
            //打印返回结果
            dd($result);
        } catch (Exception $e) {
    
    
            dd($e->getMessage());
        }
    }
}

四、总结

1.为了方便测试我直接将config配置直接放到代码体了,测通后应该放置配置文件中。
2.大家开发前最好还是大致看看微信官方文档给的接入流程。
3.优化建议:加入日志记录,方便排查错误。

猜你喜欢

转载自blog.csdn.net/weixin_40854327/article/details/112567123