亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

java實現微信掃碼支付功能

2024-07-14 08:41:38
字體:
來源:轉載
供稿:網友

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

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

<dependency>  <groupId>com.github.wxpay</groupId>  <artifactId>wxpay-sdk</artifactId>  <version>0.0.3</version></dependency>

2、編寫WeWxConfig類:

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 */@Componentpublic 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:

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 */@Servicepublic 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、調用:

/** 向微信支付系統下單,并得到二維碼返回給用戶 */Map<String, String> resData = weWxPayService.unifiedOrder(product, order);

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲成人久久电影| 亚洲欧美激情另类校园| 国产一区二区日韩精品欧美精品| 国产深夜精品福利| 亚洲国产日韩一区| 精品久久久久久久久久久| 亚洲国产欧美自拍| 亚洲人成网站777色婷婷| 欧美性xxxxx极品| 欧美床上激情在线观看| 91综合免费在线| 欧美性xxxx极品hd欧美风情| 日韩一区二区av| 日韩av高清不卡| 国产视频自拍一区| 日韩国产欧美精品一区二区三区| 不卡av电影院| 国产精品香蕉在线观看| 欧美日韩裸体免费视频| 日韩精品在线观看一区| 欧美风情在线观看| 国产视频在线观看一区二区| 亚洲欧美精品伊人久久| 日韩经典中文字幕| 2019国产精品自在线拍国产不卡| 麻豆国产va免费精品高清在线| 岛国av午夜精品| 欧美最猛性xxxxx亚洲精品| 久久99视频免费| 中文字幕综合在线| 性欧美亚洲xxxx乳在线观看| 欧美又大又粗又长| 日韩成人高清在线| 欧美在线视频一区二区| 97国产suv精品一区二区62| 欧美日韩国产一区在线| 国产精品精品视频一区二区三区| 日韩美女免费线视频| 一区二区在线免费视频| 96sao精品视频在线观看| 91精品91久久久久久| 欧美在线视频a| 97福利一区二区| 欧美中文字幕在线播放| 国产97在线视频| 欧美成人一区二区三区电影| 这里只有精品久久| 日韩电影大全免费观看2023年上| 欧美日韩中文在线| 在线观看91久久久久久| 91亚洲精品在线| 精品久久久久久中文字幕大豆网| 亚洲欧洲美洲在线综合| 国产精品电影一区| 91国语精品自产拍在线观看性色| 欧美激情成人在线视频| 久久天天躁狠狠躁老女人| 国产精品久久久av久久久| 亚洲四色影视在线观看| 国产视频精品va久久久久久| 国产欧美一区二区白浆黑人| 91久久精品日日躁夜夜躁国产| 欧美大片免费观看在线观看网站推荐| 在线观看日韩av| 亚洲天堂免费在线| 国产精品成人一区| 国产精品久久久久久搜索| 欧美肥婆姓交大片| 日韩免费黄色av| 欧美日韩精品在线播放| 国产精品久久久久久久9999| 欧洲成人免费aa| 成人黄色在线观看| 91探花福利精品国产自产在线| 琪琪亚洲精品午夜在线| 欧美一级片久久久久久久| 国产性猛交xxxx免费看久久| 日韩日本欧美亚洲| 欧美日韩国产限制| 亚洲美女激情视频| 久久久久久久久电影| 97avcom| 青青草99啪国产免费| 久久视频在线看| 91久久久久久久一区二区| 91天堂在线观看| 亚洲欧美日韩精品| 国产精品日韩欧美| 中文字幕亚洲精品| 尤物精品国产第一福利三区| 91高清免费在线观看| 日韩精品免费观看| 2018中文字幕一区二区三区| 亚洲毛片一区二区| 97人人爽人人喊人人模波多| 成人性教育视频在线观看| 精品性高朝久久久久久久| 一本色道久久综合狠狠躁篇怎么玩| 精品久久久一区| 国语对白做受69| 久久久久久国产精品久久| 亚洲成年网站在线观看| 亚洲色图美腿丝袜| 国产精品盗摄久久久| 国产99久久精品一区二区 夜夜躁日日躁| 日韩av片免费在线观看| 亚洲视频视频在线| 国产suv精品一区二区| 国产精品久久久久一区二区| 久久久女女女女999久久| 日韩美女免费观看| 九九久久综合网站| 国产精品入口免费视频一| 91成品人片a无限观看| 九九久久精品一区| 亚洲大胆人体视频| 亚洲国产欧美一区二区三区同亚洲| 国产精品亚洲自拍| 亚洲人成自拍网站| 亚洲精品女av网站| 国产精品吴梦梦| 欧美精品一区二区免费| 欧美高清自拍一区| 亚洲精品欧美日韩| 一区二区日韩精品| 国产精品专区一| 91久久综合亚洲鲁鲁五月天| 欧美资源在线观看| 日韩美女在线观看一区| 一本色道久久综合亚洲精品小说| 伊人伊成久久人综合网站| 亚洲丁香婷深爱综合| 色妞一区二区三区| 亚洲国产天堂久久国产91| 亚洲石原莉奈一区二区在线观看| 亚洲欧美在线免费观看| 国产精品吊钟奶在线| 国产午夜精品理论片a级探花| 国产www精品| 亚洲人成电影网站色| 日韩精品极品视频| 亚洲欧美在线免费观看| 欧美专区国产专区| 中文字幕日韩免费视频| 91精品久久久久久久| 国产综合香蕉五月婷在线| 丝袜亚洲另类欧美重口| 亚洲欧美国产日韩中文字幕| 日本亚洲欧美成人| 亚洲欧美日韩一区二区三区在线| 国产综合香蕉五月婷在线| 欧美中文字幕第一页| 韩曰欧美视频免费观看| 日韩av一卡二卡| 国产日韩欧美影视| 国产精品美女在线观看| 国产精品福利观看| 亚洲国产精品人久久电影| 98视频在线噜噜噜国产| 久久亚洲国产精品| 日韩免费在线看| 欧美性xxxxxx| 亚洲性视频网站| 九九热这里只有精品6|