목차
PHP微信公众号自动发送红包API,php公众红包api
php教程 php手册 PHP微信公众号自动发送红包API,php公众红包api

PHP微信公众号自动发送红包API,php公众红包api

Jun 13, 2016 am 08:38 AM
api php 위챗 빨간 봉투를 집다 빨간 봉투

PHP微信公众号自动发送红包API,php公众红包api

本文实例为大家分享了PHP微信公众号自动发送红包API代码,分享给大家供大家参考。具体如下:

贴出核心接口代码至于数据自己填写,接口测试OK
wechat_packet.php

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

<!--&#63;php

/**

 * 发送红包接口

 * Created by PhpStorm.

 * User: ADKi

 * Date: 2016/4/25 0025

 * Time: 15:25

 */

 

class wechat_packet{

 private $url = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack';//请求URL

 private $mch_id;//商户号

 private $weixin_appid;//公众账号appid

 private $send_name;//商户名称

 private $total_num = 1;//发送红包总人数

 private $wishing;//红包祝福语

 private $client_ip;//调用接口的机器Ip地址

 private $act_name;//活动名称

 private $remark;//备注信息

 private $nonce_str;//随机字符串,不长于32位

 private $api_password;

 private $arraytoxml;//数组转xml

 /**

  * 公钥

  */

 private $public_key = "/api/wechat/cert/apiclient_cert.pem";

 /**

  * 私钥

  */

 private $private_key = '/api/wechat/cert/apiclient_key.pem';

 /**

  * ca证书

  */

 private $rootca = 'api/wechat/cert/rootca.pem';

 public function __construct()

 {

  //初始化红包设置信息

  $this--->weixin_appid = C('wap_weixin_appid');

  $this->mch_id = C('wechat_mch_id');

  $this->send_name = C('wechat_send_name');

  $this->wishing = C('wechat_wishing');

  $this->act_name = C('wechat_act_name');

  $this->client_ip = $_SERVER['SERVER_ADDR'];

  $this->remark = C('wechat_remark');

  $this->nonce_str = $this->create_nonce_str(32);

  $this->api_password = C('wechat_api_password');

  $inc_file = BASE_PATH.DS.'api'.DS.'wechat'.DS.'arraytoxml.php';

  if(is_file($inc_file)) {

   require($inc_file);

  }

  $this->arraytoxml = new ArrayToXML();

 }

  

 public function send_post($mch_billno,$re_openid,$total_amount){

  $sign = $this->create_sign($mch_billno,$re_openid,$total_amount);

  $send_array = array(

   'nonce_str' => $this->nonce_str,

   'mch_billno' => $mch_billno,

   'mch_id' => $this->mch_id,

   'wxappid' => $this->weixin_appid,

   'send_name' => $this->send_name,

   're_openid' => $re_openid,

   'total_amount' => $total_amount,

   'total_num' => $this->total_num,

   'wishing' => $this->wishing,

   'client_ip' => $this->client_ip,

   'act_name' => $this->act_name,

   'remark' => $this->remark,

   'sign' => $sign,

  );

  $send_xml = $this->arraytoxml->toXml($send_array,'');

  $data = $this->curl_post_ssl($this->url, $send_xml);

  $data = $this->xmlToArray($data);

  file_put_contents('adki',var_export($data,true),FILE_APPEND);

 }

 /*

 请确保您的libcurl版本是否支持双向认证,版本高于7.20.1

 */

 private function curl_post_ssl($url, $vars, $second=30,$aHeader=array()){

  $ch = curl_init();

  //超时时间

  curl_setopt($ch,CURLOPT_TIMEOUT,$second);

  curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);

  //这里设置代理,如果有的话

  //curl_setopt($ch,CURLOPT_PROXY, '10.206.30.98');

  //curl_setopt($ch,CURLOPT_PROXYPORT, 8080);

  curl_setopt($ch,CURLOPT_URL,$url);

  curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);

  curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);

  //以下两种方式需选择一种

  //第一种方法,cert 与 key 分别属于两个.pem文件

  //默认格式为PEM,可以注释

  curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM');

  curl_setopt($ch,CURLOPT_SSLCERT,getcwd().$this->public_key);

  //默认格式为PEM,可以注释

  curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM');

  curl_setopt($ch,CURLOPT_SSLKEY,getcwd().$this->private_key);

  //ca证书

  curl_setopt($ch,CURLOPT_CAINFO,$this->rootca);

  //第二种方式,两个文件合成一个.pem文件

  //curl_setopt($ch,CURLOPT_SSLCERT,getcwd().'/all.pem');

  if( count($aHeader) >= 1 ){

   curl_setopt($ch, CURLOPT_HTTPHEADER, $aHeader);

  }

  curl_setopt($ch,CURLOPT_POST, 1);

  curl_setopt($ch,CURLOPT_POSTFIELDS,$vars);

  $data = curl_exec($ch);

  if($data){

   curl_close($ch);

   return $data;

  }

  else {

   $error = curl_errno($ch);

   echo "call faild, errorCode:$error\n\n\n\n";

   curl_close($ch);

   return false;

  }

 }

 //生成签名

 private function create_sign($mch_billno,$re_openid,$total_amount){

  $string_array = array(

   'act_name' => $this->act_name,

   'client_ip' => $this->client_ip,

   'mch_billno' => $mch_billno,

   'mch_id' => $this->mch_id,

   'nonce_str' => $this->nonce_str,

   're_openid' => $re_openid,

   'remark' => $this->remark,

   'send_name' => $this->send_name,

   'total_amount' => $total_amount,

   'total_num' => $this->total_num,

   'wishing' => $this->wishing,

   'wxappid' => $this->weixin_appid,

  );

  foreach ($string_array as $key => $value){

 

   if(!empty($value)){

 

    $stringA .= "$key=$value";

    if($key != 'wxappid'){

 

     $stringA .= '&';

    }

   }

  }

  //转成UTF-8

  $stringA = $this->gbkToUtf8($stringA);

  $stringSignTemp="$stringA&key=$this->api_password";

  $sign = MD5($stringSignTemp);

 

  $sign = strtoupper($sign);

  return $sign;

 }

 //生成随机字符串

 private function create_nonce_str($length){

  $str = null;

  $strPol = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";

  $max = strlen($strPol)-1;

  for($i=0;$i<$length;$i++){

   $str.=$strPol[rand(0,$max)];//rand($min,$max)生成介于min和max两个数之间的一个随机整数

  }

 

  return $str;

 }

 /**

  *自动判断把gbk或gb2312编码的字符串转为utf8

  *能自动判断输入字符串的编码类,如果本身是utf-8就不用转换,否则就转换为utf-8的字符串

  *支持的字符编码类型是:utf-8,gbk,gb2312

  *@$str:string 字符串

  */

 private function gbkToUtf8($str){

  $charset = mb_detect_encoding($str,array('ASCII','UTF-8','GBK','GB2312'));

  $charset = strtolower($charset);

  if("utf-8" != $charset){

   $str = iconv('UTF-8',$charset,$str);

  }

  return $str;

 

 }

 private function xmlToArray($postStr){

  $msg = array();

  $msg = (array)simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);

  return $msg;

 }

}

로그인 후 복사

数组转xml:arraytoxml.php

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

<!--&#63;php

/**

 * Created by PhpStorm.

 * User: ADKi

 * Date: 2016/4/26 0026

 * Time: 12:19

 */

class ArrayToXML

{

 public function toXml($data){

  $xml = '<xml-->';

  foreach ($data as $key => $value){

   if (is_numeric($value)){

    $xml .= "<".$key.">".$value."<!--".$key."-->";

   }else{

    $xml .= "<".$key."><!--[CDATA[".$value."]]--><!--".$key."-->";

   }

  }

  $xml .= '';

  return $xml;

 }

 

}

로그인 후 복사

以上就是本文的全部内容,希望对大家学习PHP程序设计有所帮助,也希望大家多多支持帮客之家。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

DeepSeek 이미지 생성 자습서 DeepSeek 이미지 생성 자습서 Feb 19, 2025 pm 04:15 PM

Deepseek : 강력한 AI 이미지 생성 도구! DeepSeek 자체는 이미지 생성 도구가 아니지만 강력한 핵심 기술은 많은 AI 페인팅 도구를 지원합니다. DeepSeek을 사용하여 이미지를 간접적으로 생성하는 방법을 알고 싶으십니까? 계속 읽으십시오! DeepSeek 기반 AI 도구로 이미지 생성 : 다음 단계에서는 다음 도구를 사용하도록 안내합니다. AI 페인팅 도구 시작 : DeepSeek 기반 AI 페인팅 도구를 검색하고 열면 "Simple AI"를 검색하십시오). 도면 모드 선택 : "AI 드로잉"또는 유사한 함수를 선택하고 "애니메이션 아바타", "풍경"과 같은 필요에 따라 이미지 유형을 선택하십시오.

PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? Feb 07, 2025 am 11:57 AM

이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다

문자열로 모음을 계산하는 PHP 프로그램 문자열로 모음을 계산하는 PHP 프로그램 Feb 07, 2025 pm 12:12 PM

문자열은 문자, 숫자 및 기호를 포함하여 일련의 문자입니다. 이 튜토리얼은 다른 방법을 사용하여 PHP의 주어진 문자열의 모음 수를 계산하는 방법을 배웁니다. 영어의 모음은 A, E, I, O, U이며 대문자 또는 소문자 일 수 있습니다. 모음이란 무엇입니까? 모음은 특정 발음을 나타내는 알파벳 문자입니다. 대문자와 소문자를 포함하여 영어에는 5 개의 모음이 있습니다. a, e, i, o, u 예 1 입력 : String = "Tutorialspoint" 출력 : 6 설명하다 문자열의 "Tutorialspoint"의 모음은 u, o, i, a, o, i입니다. 총 6 개의 위안이 있습니다

Gateio 중국 공식 웹 사이트 Gate.io 거래 플랫폼 웹 사이트 Gateio 중국 공식 웹 사이트 Gate.io 거래 플랫폼 웹 사이트 Feb 21, 2025 pm 03:06 PM

2013 년에 설립 된 주요 암호 화폐 거래 플랫폼 인 Gate.io는 중국 사용자에게 완전한 공식 중국 웹 사이트를 제공합니다. 이 웹 사이트는 스팟 거래, 선물 거래 및 대출을 포함한 광범위한 서비스를 제공하며 중국 인터페이스, 풍부한 자원 및 커뮤니티 지원과 같은 특별한 기능을 제공합니다.

Gateio Exchange App Old 버전 Gateio Exchange App Old 버전 다운로드 채널 Gateio Exchange App Old 버전 Gateio Exchange App Old 버전 다운로드 채널 Mar 04, 2025 pm 11:36 PM

Gateio Exchange 앱은 공식, 제 3 자 애플리케이션 시장, 포럼 커뮤니티 및 기타 채널을 다루는 기존 버전의 채널을 다운로드합니다. 또한 기존 버전을 쉽게 얻고 새로운 버전 또는 장치 호환성을 사용하여 불편 함 문제를 해결하는 데 도움이됩니다.

Ouyi Exchange App 국내 다운로드 자습서 Ouyi Exchange App 국내 다운로드 자습서 Mar 21, 2025 pm 05:42 PM

이 기사는 중국의 Ouyi Okx 앱의 안전한 다운로드에 대한 자세한 안내서를 제공합니다. 국내 앱 스토어의 제한으로 인해 사용자는 OUYI OKX의 공식 웹 사이트를 통해 앱을 다운로드하거나 공식 웹 사이트에서 제공 한 QR 코드를 사용하여 스캔 및 다운로드하는 것이 좋습니다. 다운로드 프로세스 중에 공식 웹 사이트 주소를 확인하고 응용 프로그램 권한을 확인하고 설치 후 보안 스캔을 수행하며 2 요인 확인을 활성화하십시오. 사용하는 동안 현지 법률 및 규정을 따르고, 안전한 네트워크 환경을 사용하고, 계정 보안을 보호하고, 사기에 대해 경계하고, 합리적으로 투자하십시오. 이 기사는 참조 용이며 투자 조언은 자신의 위험에 처해 있습니다.

참깨 오픈 도어 로그인 등록 입구 게이트 .io 교환 등록 공식 웹 사이트 입구 참깨 오픈 도어 로그인 등록 입구 게이트 .io 교환 등록 공식 웹 사이트 입구 Mar 04, 2025 pm 04:51 PM

Gate.io (Sesame Open Door)는 세계 최고의 암호 화폐 거래 플랫폼입니다. 자습서는 계정 등록 및 로그인, KYC 인증, 화폐 및 디지털 통화 재충전, 거래 쌍 선택, 한도/시장 거래 주문 및 주문 및 거래 기록보기와 같은 단계를 다루고 Cryptocurrency 거래를 위해 GATE.IO 플랫폼을 신속하게 시작할 수 있도록 도와줍니다. 초보자이든 베테랑이든,이 튜토리얼에서 혜택을 받고 Gate.io 거래 기술을 쉽게 마스터 할 수 있습니다.

See all articles