国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java實現微信掃碼支付功能

java實現微信掃碼支付功能

2021-05-17 15:09品學兼憂 Java教程

這篇文章主要為大家詳細介紹了java實現微信掃碼支付功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了java實現微信掃碼支付的具體代碼,供大家參考,具體內容如下

1、maven項目的pom.xml中添加如下jar包:

?
1
2
3
4
5
<dependency>
  <groupid>com.github.wxpay</groupid>
  <artifactid>wxpay-sdk</artifactid>
  <version>0.0.3</version>
</dependency>

2、編寫wewxconfig類:

?
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
package com.xx.wxpay;
 
import com.github.wxpay.sdk.wxpayconfig;
import org.springframework.beans.factory.annotation.value;
import org.springframework.stereotype.component;
 
import java.io.inputstream;
 
/**
 * 描述:微信支付配置信息
 *
 * @author ssl
 * @create 2018/04/24 19:25
 */
@component
public class wewxconfig implements wxpayconfig {
  @value("${wechat.public.appid}")
  private string appid;
  @value("${wechat.merchant}")
  private string mchid;
  @value("${wechat.public.apikey}")
  private string apikey;
 
  /**
   * 公眾賬號id:微信支付分配的公眾賬號id(企業號corpid即為此appid)
   *
   * @return
   */
  @override
  public string getappid() {
    return appid;
  }
 
  /**
   * 商戶號:微信支付分配的商戶號
   *
   * @return
   */
  @override
  public string getmchid() {
    return mchid;
  }
 
  /**
   * @return
   */
  @override
  public string getkey() {
    return apikey;
  }
 
  @override
  public inputstream getcertstream() {
    return null;
  }
 
  @override
  public int gethttpconnecttimeoutms() {
    return 0;
  }
 
  @override
  public int gethttpreadtimeoutms() {
    return 0;
  }
}

3、編寫wewxpayservice:

?
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
package com.xx.wxpay;
 
import com.alibaba.fastjson.jsonobject;
import com.github.wxpay.sdk.wxpay;
import com.google.common.collect.maps;
import com.xx.model.order;
import com.xx.model.product;
import org.slf4j.logger;
import org.slf4j.loggerfactory;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.beans.factory.annotation.value;
import org.springframework.stereotype.component;
import org.springframework.stereotype.service;
 
import java.text.messageformat;
import java.util.hashmap;
import java.util.map;
 
/**
 * 描述:
 *
 * @author ssl
 * @create 2018/04/24 20:15
 */
@service
public class wewxpayservice {
  protected logger logger = loggerfactory.getlogger(this.getclass());
  @value("${project.url}")
  private string projecturl;
  @autowired
  private wewxconfig wewxconfig;
 
 
  /**
   * 統一下單
   *
   * @param product
   * @param order
   * @return
   */
  public map<string, string> unifiedorder(product product, order order) {
    map<string, string> data = maps.newhashmap();
    wxpay wxpay = new wxpay(wewxconfig);
    data.put("body", "xx-" + product.getname());
    data.put("detail", "詳細信息");
    data.put("out_trade_no", order.getorderno());
    data.put("device_info", "web");
    data.put("fee_type", "cny");
    data.put("total_fee", order.getamount() + "");
    data.put("spbill_create_ip", "127.0.0.1");
    data.put("notify_url", projecturl + "/base/order/notifyurl");
    data.put("trade_type", "native"); // 此處指定為掃碼支付
    data.put("product_id", product.getid() + "");
    try {
      map<string, string> resp = wxpay.unifiedorder(data);
      logger.debug(jsonobject.tojsonstring(resp));
      return resp;
    } catch (exception e) {
      e.printstacktrace();
    }
    return null;
  }
 
  /**
   * 訂單查詢
   *
   * @param orderno:訂單號
   * @return
   */
  public map<string, string> orderquery(string orderno) {
    map<string, string> reqdata = maps.newhashmap();
    reqdata.put("out_trade_no", orderno);
    wxpay wxpay = new wxpay(wewxconfig);
    try {
      map<string, string> resp = wxpay.orderquery(reqdata);
      logger.debug(jsonobject.tojsonstring(resp));
      return resp;
    } catch (exception e) {
      e.printstacktrace();
    }
    return null;
  }
 
  public static string geturl() {
    wxpay wxpay = new wxpay(new wewxconfig());
    map<string, string> data = new hashmap<string, string>();
    data.put("body", "上屏名稱");
    data.put("detail", "商品詳情");
    data.put("out_trade_no", "2ab9071b06b9f739b950ddb41db2690d");
    data.put("device_info", "");
    data.put("fee_type", "cny");
    data.put("total_fee", "1");
    data.put("spbill_create_ip", "218.17.160.245");
    data.put("notify_url", "http://www.example.com/wxpay/notify");
    data.put("trade_type", "native"); // 此處指定為掃碼支付
    data.put("product_id", "12");
 
    try {
      map<string, string> resp = wxpay.unifiedorder(data);
      system.out.println(resp);
    } catch (exception e) {
      e.printstacktrace();
    }
    return "";
  }
}

4、調用:

?
1
2
/** 向微信支付系統下單,并得到二維碼返回給用戶 */
map<string, string> resdata = wewxpayservice.unifiedorder(product, order);

5、resdata.get("code_url")為微信下單成功后返回的二維碼地址,頁面中用qrcode.js來顯示該二維碼,且該頁面用定時器定時查詢訂單支付狀態

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/ZuoYanYouYan/article/details/80225553

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 青青久久北条麻妃 | 国产一区二区精品久久岳 | 色135综合网 | 国产免费一区二区三区 | 亚洲视频 欧美视频 | 久久国产欧美日韩精品 | 免费看国产片在线观看 | 国产免费自拍av | 在线视频亚洲 | 国产综合av | 久久综合久 | 亚洲一区二区三区四区在线 | 国产精品乱码一区二区三区 | 欧美日韩a | 黄色国产| 欧美午夜一区 | 国产欧美精品一区二区色综合 | 涩涩999 | 久久高清 | 国产精品不卡 | 国产精品毛片久久久久久久av | 亚洲精品国产一区 | 日本不卡一二三区 | 亚洲国产精品久久久 | 日韩午夜免费 | 毛片在线视频 | 一本大道香蕉大a√在线 | 国产精品1区 | 国产99久久| 国产精品久久久久久久久 | 毛片aaa | 日日操夜| 国产一级片| 国产在线欧美 | 欧美一级特黄视频 | 自拍偷拍第一页 | 精品中出 | 美日韩免费视频 | 国产99久久 | 亚洲欧美激情精品一区二区 | 国产亚洲精品精品国产亚洲综合 |