【微信支付】接入微信支付-商家转账到零钱api

本文介绍如何接入微信支付的商家转账到零钱API,重点解析获取微信平台证书的步骤,包括使用wechatpay-php库下载证书,通过getPlatformCertificateSerial获取序列号,并在请求中添加安全头以确保敏感信息的安全。按照指南操作,可顺利完成微信支付接口的调用。
摘要由CSDN通过智能技术生成

话不多说,先上代码!

<?php

namespace app\admin\controller;

use think\Db;
use WeChatPay\Crypto\Rsa;
use WeChatPay\Builder;
use WeChatPay\Util\PemUtil;

class Withdraw{
    private $wechatpaySerialNumber; // 微信平台证书号
    private $mchId = '16********'; //商户号
    private $apiclientCertPath = __DIR__.'/../../../public/cert/apiclient_cert.pem'; // 商家证书
    private $apiclientKeyPath = __DIR__.'/../../../public/cert/apiclient_key.pem';  // 商家私钥
    private $wechatpaySerial = __DIR__.'/../../../public/cert/wechatpay_180C1851467539054B23C6A05EBD2A46A95F0A1C.pem';  // 微信平台证书,需要下载
    private $APIv3 = "GWD0mE*************";  // 32位,下载证书需要使用
    
    public function withDraw(){
        $tradeNo = ""; // 系统订单号
        $withDrawAmount = '2'; // 转账金额,单位元
        $userOpenid = 'or8GV5bfhUnlO8wtsEPzHkj37mNc'; // 微信用户的openid
        $userRealName = '周三'; // 真实姓名用于微信支付验证
        $url = 'https://api.mch.weixin.qq.com/v3/transfer/batches';
        
        $pars = [
            'appid' => 'wxf45667a****f****',//直连商户的appid
            'out_batch_no' => 'kc' . date('Ymd') . mt_rand(1000, 9999), //商户系统内部的商家批次单号,要求此参数只能由数字、大小写字母组成,在商户系统内部唯一
            'batch_name' => '用户提现',//该笔批量转账的名称
            'batch_remark' => '用户提现', //转账说明,UTF8编码,最多允许32个字符
            'total_amount' => intval(strval($withDrawAmount * 100)), //转账总金额 单位为“分”
            'total_num' => 1,
            'transfer_detail_list' => []
        ];
        $pars['transfer_detail_list'][0] = [
            'out_detail_no' => $tradeNo,
            'transfer_amount' => intval(strval($withDrawAmount * 100)),
            'transfer_remark' => '用户提现',
            'openid' => $userOpenid
        ];//转账明细列表

        //0.3元以下不支持实名校验
        if ($withDrawAmount>0.3) $pars['transfer_detail_list'][0]['
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值