Java開源:wepay-輕量的 Java 微信支付組件
Wepay
輕量的微信支付組件(A Lightweight Wechat Pay Component)
-
包引入:
<dependency> <groupId>me.hao0</groupId> <artifactId>wepay-core</artifactId> <version>1.2.4</version> </dependency>
-
依賴包,注意引入項目時是否需要 exclude :
<dependency> <groupId>me.hao0</groupId> <artifactId>common</artifactId> <version>1.1.2</version> </dependency>
-
基本用法:
Wepay wepay = WepayBuilder .newBuilder(appId, appKey, mchId) .config1(...) // 其他可選配置 ... .build();
wepay.module().api();</code></pre> </li>
已實現的組件:
- 支付 pay() ;
- 退款 refund() ;
- 訂單 order() ;
- 通知 notify() ;
- 賬單 bill() 。 </ul> </li>
-
關于測試:
-
測試用例中 是一些基本測試,需作一些配置:
// 在test/reources目錄中配置dev.properties // 包括appId(APP ID), appKey(支付密鑰), mchId(商戶號) Properties props = new Properties(); InputStream in = Object.class.getResourceAsStream("/dev.properties"); props.load(in); in.close();
// 配置證書,退款需要證書,不配置可測試除退款的接口 Path path = Paths.get("/path/to/your_cert.p12"); byte[] data = Files.readAllBytes(path);
wepay = WepayBuilder.newBuilder( props.getProperty("appId"), props.getProperty("appKey"), props.getProperty("mchId")) .certPasswd(props.getProperty("mchId")) .certs(data) .build();</code></pre> </li>
wepay-demo 項目是一個可運行web項目,方便測試,可按如下步驟進行測試,復制 wepay-demo 中的 app-example.properties 為 app.properties ,并作相應配置:
# 微信app id appId=
微信支付key
appKey=
商戶號
mchId=
支付通知url
payNotifyUrl=${your_domain}/notifies/paid</code></pre> </li>
注意: payNotifyUrl 應該配置為微信服務器可以外網調用的地址,本地測試建議使用 ngrok 工具來作本地外網映射。
到 wepay-demo 根目錄運行以下命令即可:
mvn clean jetty:run -Dmaven.test.skip -Djetty.port={自定義端口號}
動態二維碼支付可訪問( 請求正常后,會出現由聯圖生成的二維碼圖片,用微信掃描支付成功后,后臺會得到對應通知 Notifies ):
http://localhost:{port}/pays/qrpay?orderNumber={自定義訂單號}
退款可訪問( 提交成功后,微信會有消息通知 ):
http://localhost:{port}/refunds/apply?orderNumber={商戶訂單號} ```
相關文檔:
- 微信支付文檔 。 </ul> </li>
-
歷史版本:
-
1.0.0:
- 基本功能實現。 </ul> </li>
-
1.1.0:
- 增加賬單查詢。 </ul> </li>
-
1.1.1:
-
-