一级片大奶子_色又黄又爽18禁免费视频_热久久久久久久_久久久精品一区二区_日韩av不卡在线播放_精品国内自产拍在线观看视频

微信公眾號支付demo,微信公眾號支付Java DEMO

2017-04-06|HiShop
導讀:微信支付真是一堆坑. 居然官網都沒有java版本的完整代碼, 微信公眾號支付demo ,微信公眾號支付Java DEMO. 1. 系統調試環境配置: 1.1 配置動態域名: 使用ngrok配置環境;配置ngrok.cfg內容如下...

微信支付真是一堆坑. 居然官網都沒有java版本的完整代碼,微信公眾號支付demo,微信公眾號支付Java DEMO.

  1. 系統調試環境配置:

  1.1 配置動態域名:

  使用ngrok配置環境;配置ngrok.cfg內容如下:

  server_addr: "tunnel.mobi:44433"

  trust_host_root_certs: true

  1.2 啟動ngrok,windows下用cmd

  >cd ngrok

  >ngrok -config ngrok.cfg-subdomain hc 80

  啟動后訪問地址為hc.tunnel.mobi

  1.3 修改sts的tomcat的端口為80

  微信支付只訪問80端口。

  Configure.java文件中配置信息:

  1.4獲取微信的關鍵配置參數詳解

  1.4.1.appid 微信公眾平臺-開發者中心-配置項-開發者ID

  1.4.2.appSecret

  

微信公眾號支付demo,微信公眾號支付Java DEMO

 

  1.4.3.微信支付商戶號mchid=1267692501

  微信支付、商戶平臺—賬戶信息--基本賬戶信息

  

微信公眾號支付demo,微信公眾號支付Java DEMO

 

  1.4.4 subMchID受理模式下給予商戶分配的子商戶號,默認可填””

  1.4.5. key

  位置:微信支付、商戶平臺—賬戶設置—API安全—API密鑰

  輸入一個32位的字母數字組成的字符串。

  

微信公眾號支付demo,微信公眾號支付Java DEMO

 

  1.4.6 certLocalPath

  位置:微信支付、商戶平臺—賬戶設置—API安全—API證書

  

微信公眾號支付demo,微信公眾號支付Java DEMO

 

  

微信公眾號支付demo,微信公眾號支付Java DEMO

 

  certLocalPath=”絕對路徑下的apiclient_cert.p12”

  下載后的*.p12文件需要windows上可以直接雙擊導入系統,導入過程中會提示輸入證書密碼,證書密碼默認為您的商戶ID(mchID)

  證書的導入:

  微信支付接口中,涉及資金回滾的接口會使用到商戶證書,包括退款、撤銷接口。商家在申請微信支付成功后,收到的相應郵件后,可以按照指引下載API證書,也可以按照以下路徑下載:

  微信商戶平臺(pay.weixin.qq.com)-->賬戶設置-->API安全-->證書下載 。證書文件有四個,

  apiclient_cert.p12是商戶證書文件,除PHP外的開發均使用此證書文件。

  雙擊apiclient_cert.p12文件,

  windows上可以直接雙擊導入系統,導入過程中會提示輸入證書密碼,證書密碼默認為您的商戶ID(如:1267692501)

  

微信公眾號支付demo,微信公眾號支付Java DEMO

 

  1.4.7 certPassword=mchID

  也可以在上面的導入p12的文件時,重新設置密碼,注意此處的密碼不能為空,因為空密碼會報錯。

  1.4.8 notifyCallbackUrl

  默認回調地址預訂單生成完成后的回調地址.

  notifyCallbackUrl=http://hc.tunnel.mobi/shopapi/weixin/authorize/UnifiedorderCallBack

  1.5配置用戶消息,和開發者需要的事件推送。

  1.5.1在微信開發者mp.weixin.qq.com,找到開發者中心—配置項—服務器配置

  

微信公眾號支付demo,微信公眾號支付Java DEMO

 

  1.5.2開發賬號里面找到。

  開發者中心,在這里再找“網頁賬號”修改hc.tunnel.mobi

  服務器配置中,URL(服務器地址)修改為http://hc.tunnel.mobi/shopapi/weixin/verify

  Token(令牌)為:weixinCourse

  

微信公眾號支付demo,微信公眾號支付Java DEMO

 

  1.5.3開發者中心—配置項中查找網頁賬號 設置對應的回調地址:

  

微信公眾號支付demo,微信公眾號支付Java DEMO

 

  

微信公眾號支付demo,微信公眾號支付Java DEMO

 

  1.5.4微信驗證的控制方法:

  /**

  * 微信驗證

  * 請填寫接口配置信息,此信息需要你有自己的服務器資源,填寫的URL需要正確響應微信發送的Token驗證

  * 驗證服務器地址的有效性

  * 開發者提交信息后,微信服務器將發送GET請求到填寫的服務器地址URL上,GET請求攜帶四個參數:

  * 參數 描述

  * signature 微信加密簽名,signature結合了開發者填寫的token參數和請求中的timestamp參數、nonce參數。

  * timestamp 時間戳

  * nonce 隨機數

  * echostr 隨機字符串

  * @return

  * @throwsIOException

  */

  @RequestMapping(value = "/weixin/verify",method = RequestMethod.GET)

  public voidweixinVerify(Model model, WeixinVerifyDto verify, HttpServletResponse response)throwsIOException{

  PrintWriter out = response.getWriter();

  if (SignUtil.checkSignature(verify.getSignature(), verify.getTimestamp(),verify.getNonce())) {

  model.addAttribute("echoStr", verify.getEchostr());

  out.print(verify.getEchostr());

  }

  //return "verify";

  out.close();

  out = null;

  }

  SignUtil

  import java.security.MessageDigest;

  importjava.security.NoSuchAlgorithmException;

  import java.util.Arrays;

  public class SignUtil {

  // 與接口配置信息中的Token要一致

  private static String token = "weixinCourse";

  /**

  * 驗證簽名

  *

  * @param signature

  * @param timestamp

  * @param nonce

  * @return

  */

  public static boolean checkSignature(String signature, String timestamp,

  String nonce) {

  String[] arr = new String[] { token, timestamp, nonce };

  // 將token、timestamp、nonce三個參數進行字典序排序

  Arrays.sort(arr);

  StringBuilder content = new StringBuilder();

  for (int i = 0; i < arr.length; i++) {

  content.append(arr[i]);

  }

  MessageDigest md = null;

  String tmpStr = null;

  try {

  md =MessageDigest.getInstance("SHA-1");

  // 將三個參數字符串拼接成一個字符串進行sha1加密

  byte[] digest = md.digest(content.toString().getBytes());

  tmpStr = byteToStr(digest);

  } catch (NoSuchAlgorithmException e) {

  e.printStackTrace();

  }

  content = null;

  // 將sha1加密后的字符串可與signature對比,標識該請求來源于微信

  return tmpStr != null ? tmpStr.equals(signature.toUpperCase()) : false;

  }

  /**

  * 將字節數組轉換為十六進制字符串

  *

  * @param byteArray

  * @return

  */

  private static String byteToStr(byte[] byteArray) {

  String strDigest = "";

  for (int i = 0; i < byteArray.length; i++) {

  strDigest += byteToHexStr(byteArray[i]);

  }

  return strDigest;

  }

  /**

  * 將字節轉換為十六進制字符串

  *

  * @param mByte

  * @return

  */

  private static String byteToHexStr(byte mByte) {

  char[] Digit = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A',

  'B', 'C', 'D', 'E', 'F' };

  char[] tempArr = new char[2];

  tempArr[0] = Digit[(mByte >>> 4) & 0X0F];

  tempArr[1] = Digit[mByte & 0X0F];

  String s = new String(tempArr);

  return s;

  }

  }

  WeixinVerifyDto

  /**

  * 開發者提交信息后,微信服務器將發送GET請求到填寫的服務器地址URL上,GET請求攜帶四個參數:

  * 開發者通過檢驗signature對請求進行校驗(下面有校驗方式)。若確認此次GET請求來自微信服務器,請原樣返回echostr參數內容,則接入生效,成為開發者成功,否則接入失敗。

  * 加密/校驗流程如下:

  * 1. 將token、timestamp、nonce三個參數進行字典序排序

  * 2. 將三個參數字符串拼接成一個字符串進行sha1加密

  * 3. 開發者獲得加密后的字符串可與signature對比,標識該請求來源于微信

  * @author HuangC

  *

  */

  public classWeixinVerifyDto {

  /**

  * 微信加密簽名,signature結合了開發者填寫的token參數和請求中的timestamp參數、nonce參數。

  */

  privateString signature;

  /**

  * 時間戳

  */

  privateString timestamp;

  /**

  * 隨機數

  */

  privateString nonce;

  /**

  * 隨機字符串

  */

  privateString echostr;

  publicString getSignature() {

  return signature;

  }

  publicvoidsetSignature(String signature){

  this.signature = signature;

  }

  publicString getTimestamp() {

  return timestamp;

  }

  publicvoidsetTimestamp(String timestamp){

  this.timestamp = timestamp;

  }

  publicString getNonce() {

  return nonce;

  }

  publicvoidsetNonce(String nonce){

  this.nonce = nonce;

  }

  publicString getEchostr() {

  return echostr;

  }

  publicvoidsetEchostr(String echostr){

  this.echostr = echostr;

  }

  }

  2.測試:

  找到PayUtils這個文件。增加下面的代碼:

  publicstaticvoidmain(String[] args){

  PayPackage payPackage = new PayPackage();

  PayQrCode qrCode = new PayQrCode("3214123423");

  payPackage.setAppid(Configure.getAppid());

  payPackage.setAttach("test");

  payPackage.setBody("JSAPI測試支付");

  payPackage.setNonce_str(qrCode.getNonce_str());

  payPackage.setMch_id(qrCode.getMch_id());

  payPackage.setOpenid("o0IrGwYeRrTbko6LlV0rOoanJHbc");

  payPackage.setOut_trade_no(UUID.randomUUID().toString().replace("-", ""));

  payPackage.setProduct_id(qrCode.getProduct_id());

  payPackage.setSpbill_create_ip("14.23.150.211");

  payPackage.setTotal_fee("1");

  payPackage.setTrade_type("JSAPI");

  String replyXml = PayUtils.generatePayNativeReplyXML(payPackage);

  }

  如果順利的話就能獲取下面的xml格式的String

  以上就是微信公眾號支付demo的內容,更多更熱門的微信公眾號素材,歡迎瀏覽Hi商學院網站。

TAGS:
主站蜘蛛池模板: 一区二区三区四区不卡|成人欧美一区二区三区|欧美=adc影院|中文字幕91在线|色四月婷婷|最新国产=aⅴ精品无码 | 1000部禁又爽又黄的禁片免费|一区二区三区在线免费视频|国产精国产精品|中文字幕人妻系列人妻有码|在线日韩免费|男女wwww | #NAME?|日韩三区在线观看|三级一区|绝顶潮喷绝叫在线观看|粉嫩欧美一区二区三区|国产成人=aV无码永久免费一线天 | 91精品福利视频|午夜激情国产|国产=aV无码专区亚洲=aV琪琪|国产=aV无码专区国产乱码|一级片日本|久久久国产成人一区二区三区 | 成人国产精品免费视频|免费视频97|成年人深夜福利|国产精品亚洲一区二区三区在线观看|亚洲性久久9久久爽|超碰超碰97 | 日日噜噜夜夜狠狠扒开双腿|欧美人成在线观看|美丽的姑娘免费观看在线播放|欧美性猛交xxxx乱大交密桃|亚洲精品国产字幕久久麻豆|日本裸交xx╳╳137大胆 | 欧美区二区三区|大美女一区二区三区|午夜国产精品影院在线观看|日本丰满人妻久久久久久久|99视频精选|丰满人妻熟妇乱又伦精品劲 | 成在人线无码=aⅴ免费视频|毛片免费观看天天干天天爽|天天摸天天做天天爽水多|在线观看日本www|奇领6080奇领影院奇领yy6080在线观看|黄色片观看 | 在线观看国产免费|亚洲免费成人在线视频|日韩免费一级毛片|国产综合久久|爱情岛论坛亚洲品质自拍hd|欧美成人免费一区二区 | 荡乳欲妇在线观看|小次郎=av收藏家|国产亚洲日韩在线=a不卡|亚洲天堂久久久久久久|国产精品福利在线播放|国产成人无码=a片免费 | 91看片网页版|郎在远方免费观看|色偷偷噜噜噜亚洲男人|国产成人免费在线观看不卡|欧美国产日韩=a在线观看|韩国在线观看=av | 日韩小视频网站hq|免费观看视频的网站视频|色情无码WWW视频无码区|国产精=av|国产人妻无码一区二区三区不卡|色我综合 | 50岁退休熟女露脸高潮|欧美高潮喷水高潮集合|久久久久久久综合|国产视频四区|99麻豆久久久国产精品免费优播|久99久在线 | 国产精品久久久久久久小唯西川|日韩免费高清视频|亚洲另类自拍|黑森林精品=aV导航|日韩精品专区=av无码|高清精品久久 | 亚洲精品无码成人=a片|国产美女口爆吞精普通话|国产精品国产三级国产专播i12|91精品国产一区自在线拍|日韩特级|成人在线免费观看小视频 | 中国一级毛片视频|无码专区狠狠躁天天躁|日本高清视频一区|日韩欧美亚洲精品|欧美亚洲一区二区三区|精品欧美一区二区在线看片 | 国产精品婷婷色综合www在线|丰满风流护士长BD=a片|国产精品福利片|农村人伦偷精品视频=a人人澡|久热免费在线视频|18禁美女黄网站色大片免费网站 | 轻轻草在线观看|国产美女遭强高潮网站|色综合视频在线观看|久久久久久久久久久久久久久|www久久艹|久久国产传媒 | 12一14幻女bbwxxxx在线播放|自拍偷拍第5页|成人小视频免费看|在线看黄色片|亚洲精品国产品国语在线观看|欧美中文字幕在线视频 | wwww.黄|久久久国产99久久国产久一|欧美经典一区|免费高清在线视频观看|中文字幕99|性按摩xxxx | 亚洲国产一区在线观看|免费=a级伦费影视在线观看|日本在线不卡一区二区三区|91在线免费视频观看|俄罗斯=a级毛片|丁香五月开心婷婷综合中文 | 好吊妞在线新免费视频|精品一区二区在线播放|久久=av片免费一区二区三区|无码少妇一区二区|中文=av字幕一区|国产精品久久国产精品99盘 | 国产精品视频专区|国产在线国产|精品一区二区三区成人精品|国产不卡在线观看免费视频|蜜桃综合|欧美精品日韩一区 | 国产在线专区|一本一道=av中文字幕无码|天天干天天看天天操|992tv成人免费影院|精品午夜福利在线视在亚洲|国产成人精品午夜福利2021 | 爱情到此为止在线观看|精品热99|老熟女多次高潮露脸视频|91国偷自产一区二区三区老熟女|美女久久久久久久久|高潮VPSWINDOWS国产乱 | 日韩高清黄色片|夜夜爽一区二区三区|老司机福利在线观看|狠狠色噜噜狼狼狼色综合久|精品免费观看视频|小早川怜子一区二区的演员表 | 天天射影院|车子做=a爱片在线观看HD|人成午夜免费视频无码|四虎影视免费|中文字幕日本二区|中文字幕久久精品一区二区三区 | 荡乳欲妇在线观看|小次郎=av收藏家|国产亚洲日韩在线=a不卡|亚洲天堂久久久久久久|国产精品福利在线播放|国产成人无码=a片免费 | 麻豆=aV一区二区三区|成人午夜看片|夜夜爽日日澡人人添蜜臀|性做久久久久久久久久|无遮挡又黄又刺激的视频|九一免费观看网站 | 欧美成人性生活片|在线不卡一区二区三区|久久伦理影院|欧洲LV尺码大精品久久久|中文字幕无码=a片久久|最新中文字幕一区 | 日本三级精品视频|国产人妻人伦精品无码|国产毛片久久久久久|奇米网首页|亚洲精品久久久打桩机小说|欧美一区二区三区成人 | chin=a熟妇老熟女hd|精品国产国产综合精品|成人亚洲精品777777ww|欧美日本一道本在线视频|欧美肥屁videossex精品|高潮毛片无遮挡高清免费视频 | 在线视频免费观看爽爽爽|午夜视讯|国产传媒在线视频|综合国产一区|#NAME?|777午夜精品 | 少妇被粗黑进进出出在线观看|日日摸夜夜爽无码|免费久久|日韩免费视频|热播短剧玫瑰冠冕免费观看|j=ap=anese精品少妇 | 韩国日本一区二区三区|91视频老司机|成人丁香社区|国产精选久久久久久|狠狠色噜噜狠狠狠狠888米奇|首页视频蝌蚪九色 | 欧美久久深夜=a=a=a片|天堂黄网|性中国hd|成人免费网站入口www|国产一区激情|#NAME? | 永久=av免费|人妻无码久久久久久久久久久|66成人网|麻豆视频免费在线播放|亚洲视频综合在线|在线看片 | 最新久久久|精品成人自拍视频|日本精品一区在线|四川一级毛片在线播放|免费无码又爽又刺激激情频91|爱爱一级片 | 亚洲v=a欧美v=a国产v=a黑人|蜜臀=av午夜一区二区三区gif|69人人|国产精品免费大片|亚洲日产=av中文字幕|国产精品香蕉成人网在线观看 | 青青草免费在线视频播放|欧美国产一区二区三区|久久综合站|国产=aV视频一区二区|国产精品色在线免费|大片免免费观看视频播放器在线观看 | 激情欧美一区二区三区免费看|亚洲青青草|国产精品免费久久久久影视|日本亚洲欧洲免费无码|国产精品XXX大片免费观看|国产一级片网 |