第一步: 建立一個maven工程
pom配置資訊:
<dependencies>
<dependency>
<groupId>com.github.wxpay</groupId>
<artifactId>wxpay-sdk</artifactId>
<version>3.0.9</version>
</dependency>
</dependencies>
把包導好
第二步:建立一個包,名稱為com.github.wxpay.sdk
2.1新建一個類,類名為Config
package com.github.wxpay.sdk;
import java.io.InputStream;
public class Config extends WXPayConfig{
String getAppID(){
return "公眾賬號ID ";//公眾賬號ID
}
String getMchID(){
return "商戶號";//商戶號
}
String getKey(){
return "商戶秘鑰";//商戶秘鑰
}
InputStream getCertStream() {
return null;//證書
}
IWXPayDomain getWXPayDomain() {
//微信域名
return new IWXPayDomain() {
public void report(String domain, long elapsedTimeMillis,
Exception ex) {
}
public DomainInfo getDomain(WXPayConfig config) {
return new DomainInfo("api.mch.weixin.qq.com",true);
}
};
}
}
2.2新建一個測驗類,類名為Test
package com.github.wxpay.sdk;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) throws Exception {
Config config = new Config();
//1.封裝請求引數
Map<String,String> map=new HashMap();
map.put("appid",config.getAppID());//公眾賬號ID
map.put("mch_id",config.getMchID());//商戶號
map.put("nonce_str", WXPayUtil.generateNonceStr());//隨機字串
map.put("body","貔貅");//商品描述
map.put("out_trade_no","555552");//訂單號
map.put("total_fee","1");//金額
map.put("spbill_create_ip","127.0.0.1");//終端IP
map.put("notify_url","http://www.baidu.com");//回呼地址
map.put("trade_type","NATIVE");//交易型別
String xmlParam = WXPayUtil.generateSignedXml(map, config.getKey());
//xml格式的引數
System.out.println("引數:"+xmlParam);
//2.發送請求
WXPayRequest wxPayRequest=new WXPayRequest(config);
String xmlResult = wxPayRequest.requestWithCert("/pay/unifiedorder",
null, xmlParam, false);
System.out.println("結果:"+xmlResult);
//3.決議回傳結果
Map<String, String> mapResult = WXPayUtil.xmlToMap(xmlResult);
String code_url = mapResult.get("code_url");
System.out.println(code_url);
}
}
運行結果為:
結果:<xml><return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><![CDATA[wx8397f8696b538317]]></appid>
<mch_id><![CDATA[1473426802]]></mch_id>
<nonce_str><![CDATA[7bHbIv74B1IHW8ED]]></nonce_str>
<sign><![CDATA[D155170AE2949FCE2B3FAF4506EC2B68]]></sign>
<result_code><![CDATA[SUCCESS]]></result_code>
<prepay_id><![CDATA[wx25161051368204666b4805b886a3eb0000]]></prepay_id>
<trade_type><![CDATA[NATIVE]]></trade_type>
<code_url><![CDATA[weixin://wxpay/bizpayurl?pr=T0NocQL00]]></code_url>
</xml>
weixin://wxpay/bizpayurl?pr=T0NocQL00
Process finished with exit code 0
說明測驗成功!!!
思考一下
在撰寫到的代碼的程序中遇到一個問題:包名好像只能是 com.github.wxpay.sdk,Config類才能成功繼承WXPayConfig抽象類并實作它的方法,有同行高手可以評論區指點一二,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/240856.html
標籤:其他
上一篇:C語言 動態鏈表
