一、实现功能
原来的项目新增了从系统中提现到银行卡的功能,根据微信官方文档提示,首先要去微信商户平台开通企业付款这一功能,如果没有开通,或者不会开通的,可以参照我上一篇文章,官方文档
二、加载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.优化建议:加入日志记录,方便排查错误。