Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php微信发送红包(微信能发666的红包吗)

作者:徒醉了清风   发布日期:2025-11-04   浏览:942

在微信中,可以使用微信支付的接口来发送红包。但是,微信红包的金额必须是以分为单位的整数,所以不能直接发送666的红包。如果要发送666元的红包,需要将金额转换为分,即66600分。以下是一个使用PHP发送微信红包的示例代码:

<?php
// 微信红包发送接口
$url = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack';

// 商户号
$mch_id = 'your_mch_id';
// 公众号appid
$appid = 'your_appid';
// 商户证书路径
$sslcert_path = 'path/to/your/sslcert.pem';
// 商户证书密钥路径
$sslkey_path = 'path/to/your/sslkey.pem';
// 随机字符串
$nonce_str = uniqid();
// 商户订单号
$mch_billno = 'your_mch_billno';
// 红包发送者名称
$send_name = 'your_send_name';
// 接受红包的用户openid
$re_openid = 're_openid';
// 付款金额,单位为分
$total_amount = 66600;
// 红包发放总人数
$total_num = 1;
// 红包祝福语
#wishing = '恭喜发财,大吉大利';
// 活动名称
#act_name = '红包活动';
// 备注
#remark = '红包备注';

// 构造请求参数
$params = array(
    'mch_billno' => $mch_billno,
    'mch_id' => $mch_id,
    'wxappid' => $appid,
    'send_name' => $send_name,
    're_openid' => $re_openid,
    'total_amount' => $total_amount,
    'total_num' => $total_num,
    'wishing' => $wishing,
    'act_name' => $act_name,
    'remark' => $remark,
    'nonce_str' => $nonce_str,
);

// 生成签名
ksort($params);
$string = '';
foreach ($params as $key => $value) {
    $string .= $key . '=' . $value . '&';
}
$string .= 'key=your_key';
$sign = strtoupper(md5($string));

// 添加签名到请求参数
$params['sign'] = $sign;

// 将参数转换为XML格式
$xml = '<xml>';
foreach ($params as $key => $value) {
    $xml .= '<' . $key . '>' . $value . '</' . $key . '>';
}
$xml .= '</xml>';

// 发送请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSLCERT, $sslcert_path);
curl_setopt($ch, CURLOPT_SSLKEY, $sslkey_path);
$response = curl_exec($ch);
curl_close($ch);

// 处理返回结果
$result = simplexml_load_string($response);
if ($result->return_code == 'SUCCESS' && $result->result_code == 'SUCCESS') {
    echo '红包发送成功!';
} else {
    echo '红包发送失败:' . $result->return_msg;
}
?>

请注意,上述代码中的your_mch_idyour_appidyour_mch_billnoyour_send_namere_openidyour_key等参数需要根据实际情况进行替换和配置。

上一篇:php动态引入文件(php 引入文件)

下一篇:php生成公钥(php生成公钥私钥)

大家都在看

php session用法

php 定义常量

phpisset函数

php html转图片

php后端

php爬虫框架

php读取csv文件

php+mysql动态网站开发

phpmyadmin docker

php session id

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站