在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 應用軟件教程 > 詳細頁面

小程序之紅包接口開發案例代碼

小程序之紅包接口開發案例代碼

更新時間:2025-09-30 文章作者:未知 信息來源:網絡 閱讀次數:

微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一...
微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一項門檻非常高的創新,經過將近兩年的發展,已經構造了新的小程序開發環境和開發者生態。
微信紅包接口開發,其實不是很難,不要被他的表象嚇到了,參考網上好幾個版本的答案咯~,特地分享如下

分裝 紅包工具類 :

package com.tepusoft.web.weixin.utils;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.security.KeyStore;
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Random;
import java.util.Set;
import java.util.SortedMap;
import java.util.TreeMap;
import java.util.UUID;
import javax.net.ssl.SSLContext;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.conn.ssl.SSLContexts;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
/**
 * @author wangiegie
 * @date 2015年10月19日下午2:07:11
 * @description
 */
public class HongBaoUtil {
public static final String MCH_ID = ""; // 商戶號
public static final String WXAPPID = ""; // 公眾賬號appid
public static final String NICK_NAME = "濰坊特普軟件開發有限公司"; // 提供方名稱
public static final String SEND_NAME = "濰坊特普軟件"; // 商戶名稱
public static final int MIN_VALUE = ; // 紅包最小金額 單位:分
public static final int MAX_VALUE = ; // 紅包最大金額 單位:分
public static final int TOTAL_NUM = 1; // 紅包發放人數
public static final String WISHING = "生日快樂"; // 紅包祝福語
public static final String CLIENT_IP = "182.41.214.82"; // 調用接口的機器IP
public static final String ACT_NAME = "??"; // 活動名稱
public static final String REMARK = "紅包測試"; // 備注
public static final String KEY = ""; // 秘鑰
public static final int FAIL = 0; // 領取失敗
public static final int SUCCESS = 1; // 領取成功
public static final int LOCK = 2; // 已在余額表中鎖定該用戶的余額,防止領取的紅包金額大于預算
/**
 * 對請求參數名ASCII碼從小到大排序后簽名
 * 
 * @param params
 */
public static void sign(SortedMap<String, String> params) {
Set<Entry<String, String>> entrys = params.entrySet();
Iterator<Entry<String, String>> it = entrys.iterator();
StringBuffer result = new StringBuffer();
while (it.hasNext()) {
Entry<String, String> entry = it.next();
result.append(entry.getKey()).append("=").append(entry.getValue()).append("&");
}
result.append("key=").append(KEY);
params.put("sign", DigestUtils.md5Hex(result.toString()));
}
/**
 * 生成提交給微信服務器的xml格式參數
 * 
 * @param params
 * @return
 */
public static String getRequestXml(SortedMap<String, String> params) {
StringBuffer sb = new StringBuffer();
sb.append("<xml>");
Set es = params.entrySet();
Iterator it = es.iterator();
while (it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next();
String k = (String) entry.getKey();
String v = (String) entry.getValue();
if ("nick_name".equalsIgnoreCase(k) || "send_name".equalsIgnoreCase(k) || "wishing".equalsIgnoreCase(k)
|| "act_name".equalsIgnoreCase(k) || "remark".equalsIgnoreCase(k) || "sign".equalsIgnoreCase(k)) {
sb.append("<" + k + ">" + "<![CDATA[" + v + "]]></" + k + ">");
} else {
sb.append("<" + k + ">" + v + "</" + k + ">");
}
}
sb.append("</xml>");
return sb.toString();
}
/**
 * 創建map
 * 
 * @param billNo
 * @param openid
 * @param userId
 * @param amount
 * @return
 */
public static SortedMap<String, String> createMap(String openid, String userId, int amount) {
SortedMap<String, String> params = new TreeMap<String, String>();
params.put("wxappid", WXAPPID);
params.put("nonce_str", createNonceStr());
params.put("mch_billno", createBillNo(userId));
params.put("mch_id", MCH_ID);
params.put("nick_name", NICK_NAME);
params.put("send_name", SEND_NAME);
params.put("re_openid", openid);
params.put("total_amount", amount + "");
params.put("min_value", amount + "");
params.put("max_value", amount + "");
params.put("total_num", TOTAL_NUM + "");
params.put("wishing", WISHING);
params.put("client_ip", CLIENT_IP);
params.put("act_name", ACT_NAME);
params.put("remark", REMARK);
return params;
}
/**
 * 生成隨機字符串
 * 
 * @return
 */
public static String createNonceStr() {
return UUID.randomUUID().toString().toUpperCase().replace("-", "");
}
/**
 * 生成商戶訂單號
 * 
 * @param mch_id
 *            商戶號
 * @param userId
 *            該用戶的userID
 * @return
 */
public static String createBillNo(String userId) {
// 組成: mch_id+yyyymmdd+10位一天內不能重復的數字
// 10位一天內不能重復的數字實現方法如下:
// 因為每個用戶綁定了userId,他們的userId不同,加上隨機生成的(10-length(userId))可保證這10位數字不一樣
Date dt = new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyymmdd");
String nowTime = df.format(dt);
int length = 10 - userId.length();
return MCH_ID + nowTime + userId + getRandomNum(length);
}
/**
 * 生成特定位數的隨機數字
 * 
 * @param length
 * @return
 */
private static String getRandomNum(int length) {
String val = "";
Random random = new Random();
for (int i = 0; i < length; i++) {
val += String.valueOf(random.nextInt(10));
}
return val;
}
/**
 * post提交到微信服務器
 *
 * @param requestXML
 * @param instream  傳入的在微信支付的PKCS12證書的位置
 * @return
 * @throws NoSuchAlgorithmException
 * @throws CertificateException
 * @throws IOException
 * @throws KeyManagementException
 * @throws UnrecoverableKeyException
 * @throws KeyStoreException
 */
public static String post(String requestXML, InputStream instream) throws Exception {
KeyStore keyStore = KeyStore.getInstance("PKCS12");
try {
keyStore.load(instream, MCH_ID.toCharArray());
} finally {
instream.close();
}
SSLContext sslcontext = SSLContexts.custom().loadKeyMaterial(keyStore, MCH_ID.toCharArray()).build();
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslcontext, new String[] { "TLSv1" }, null,
SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
CloseableHttpClient httpclient = HttpClients.custom().setSSLSocketFactory(sslsf).build();
String result = "";
try {
HttpPost httpPost = new HttpPost("https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack");
StringEntity reqEntity = new StringEntity(requestXML, "utf-8"); // 如果此處編碼不對,可能導致客戶端簽名跟微信的簽名不一致
reqEntity.setContentType("application/x-www-form-urlencoded");
httpPost.setEntity(reqEntity);
CloseableHttpResponse response = httpclient.execute(httpPost);
try {
HttpEntity entity = response.getEntity();
if (entity != null) {
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(entity.getContent(), "UTF-8"));
String text;
while ((text = bufferedReader.readLine()) != null) {
result += text;
}
}
EntityUtils.consume(entity);
} finally {
response.close();
}
} finally {
httpclient.close();
}
return result;
}
}

調用:

@Test
public void testHongBao() throws Exception {
SortedMap<String, String> sortedMap = HongBaoUtil.createMap(openId, userId, money);
HongBaoUtil.sign(sortedMap);
String postXML = HongBaoUtil.getRequestXml(sortedMap);
FileInputStream instream = new FileInputStream(new File("證書文件地址"));
HongBaoUtil.post(postXML, instream);
}

好咯 ...別被微信支付后臺的那么多的配置和參數俠盜 ,微信紅包開發就是這么簡單 ~

【相關推薦】

1. 分享小程序開發調用接口的實例教程

2. 微信小程序支付接口的實例詳解

3. 微信開發之微信支付

以上就是小程序之紅包接口開發實例代碼的詳細內容,更多請關注php中文網其它相關文章!


小程序是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或者搜一下即可打開應用。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 午夜啪啪小视频| 性欧美videossex精品| aaa一级黄色片| 久久国产精品国产精品| 天天操狠狠操夜夜操| 欧美xxxx吸乳| 免费黄色日本网站| 国产综合免费视频| 欧美伦理视频在线观看| 18禁男女爽爽爽午夜网站免费| 老司机午夜av| 欧美日韩在线免费观看视频| 免费观看国产视频在线| 亚洲五码在线观看视频| jizzjizz国产精品喷水| 日韩网址在线观看| 日韩av片网站| 潘金莲一级淫片aaaaaa播放1| 向日葵污视频在线观看| www.久久久久久久久久久| 免费国产成人看片在线| 免费无码不卡视频在线观看| 熟女少妇精品一区二区| 不要播放器的av网站| 激情五月婷婷基地| 欧美一级免费在线观看| 成人综合视频在线| 男人添女人下面高潮视频| www.com黄色片| 免费观看黄色的网站| 欧美激情视频免费看| 国产aaaaa毛片| www.av中文字幕| 国产精品一区二区小说| www.国产亚洲| 一区二区在线播放视频| 欧美日韩激情视频在线观看| 国产一区一区三区| 欧美成人一区二区在线观看| 亚洲人视频在线| 国产69精品久久久久久久| 男人揉女人奶房视频60分| 日本中文字幕高清| 一二三四视频社区在线| 午夜免费福利视频在线观看| 女人帮男人橹视频播放| 两性午夜免费视频| 成年人免费在线播放| 欧美三级午夜理伦三级| 天天想你在线观看完整版电影免费 | 日韩人妻一区二区三区蜜桃视频| 精品欧美一区免费观看α√| 99久久99精品| 国产欧美高清在线| 国产一区二区四区| 特黄特黄一级片| 五月天婷婷影视| 日本黄色福利视频| 玩弄japan白嫩少妇hd| av在线播放亚洲| 少妇高潮流白浆| 久久国产激情视频| 那种视频在线观看| 日韩在线视频在线观看| 成人精品视频在线播放| 久久撸在线视频| 欧美一级小视频| av网站在线不卡| 激情黄色小视频| www.99av.com| 中文字幕第66页| 9l视频自拍9l视频自拍| 性久久久久久久久久久久久久| 日韩不卡一二三| 热久久精品免费视频| 中文字幕国内自拍| www.精品在线| 手机av在线免费| 国产女同无遮挡互慰高潮91| 日韩视频第二页| 国产精品一区二区小说| 日日干夜夜操s8| 中文字幕精品一区二区三区在线| 色综合色综合色综合色综合| 999精彩视频| 欧美日韩久久婷婷| av网站手机在线观看| 日韩avxxx| wwwwwxxxx日本| 久久久久久久9| 久久久久久免费看| 久久久噜噜噜www成人网| 妞干网在线免费视频| 在线观看的毛片| 国产爆乳无码一区二区麻豆| 黄色大片在线免费看| 国产成人亚洲精品无码h在线 | 天堂中文av在线| 成人黄色av片| 欧美美女一级片| 午夜dv内射一区二区| 天天干天天操天天做| 亚洲综合色在线观看| 黄页网站大全在线观看| 国产免费人做人爱午夜视频| 日韩av在线中文| 欧美极品少妇无套实战| 成人综合视频在线| 日韩一区二区三区久久| 国产在线播放观看| 国产精品久久a| 奇米777四色影视在线看| 日韩avxxx| 亚洲一二三不卡| 99精品免费在线观看| 黄频视频在线观看| 亚洲天堂av一区二区| 久操手机在线视频| www.国产区| 亚洲人视频在线| 欧美精品自拍视频| 不卡中文字幕在线观看| 青青青国产在线观看| 久久久999视频| 欧美日韩一区二区三区电影| 黄色片视频在线播放| 久久久久久久9| 三级黄色片免费看| 免费看污污网站| 亚洲这里只有精品| 中文字幕国产高清| 国产视频手机在线播放| 免费成人午夜视频| 成人在线视频一区二区三区| 色黄视频免费看| www.午夜av| 黄大色黄女片18第一次| 国产精品久久a| av中文字幕网址| 国产精品久久久久久久99| 色乱码一区二区三区熟女| 国产香蕉一区二区三区| 欧美视频在线第一页| av免费一区二区| a级网站在线观看| 久激情内射婷内射蜜桃| 蜜臀久久99精品久久久酒店新书 | 欧洲精品在线播放| 奇米影视亚洲色图| 波多野结衣天堂| 一区二区成人网| 天天成人综合网| av动漫免费观看| 日韩中文字幕在线免费| 日本成人中文字幕在线| 在线视频日韩欧美| 免费看一级大黄情大片| 亚洲xxx在线观看| www.欧美黄色| 色www免费视频| 一级片免费在线观看视频| 欧洲xxxxx| 成人午夜视频免费观看| 奇米精品一区二区三区| 国产精品v日韩精品v在线观看| 手机在线观看日韩av| 在线观看av的网址| 69精品丰满人妻无码视频a片| 欧美日韩在线视频一区二区三区| 在线观看的毛片| 国精产品一区一区三区视频| 91蝌蚪视频在线| 噼里啪啦国语在线观看免费版高清版| 超碰97免费观看| 99免费视频观看| 免费人成在线观看视频播放| 青青青在线视频免费观看| a级黄色片网站| 国产97在线 | 亚洲| 欧美一级特黄a| 青青草视频在线免费播放| 亚洲天堂av一区二区三区| 成年人黄色片视频| 可以看毛片的网址| 国产精品久久久久久久99| 91看片就是不一样| 国产一级片91| 国产一级免费大片| 少妇一级淫免费放| 日日碰狠狠躁久久躁婷婷| 毛片在线视频播放| www.日本少妇| 日韩日韩日韩日韩日韩| 日韩国产小视频| 国产 欧美 日本| 交换做爰国语对白| 日韩人妻精品一区二区三区| 国产精欧美一区二区三区白种人| 999在线免费视频| 国内自拍视频网|