1. 前言
最近忙的一批,難得今天有喘氣的機會就趕緊把最近在開發(fā)中的一些成果分享出來。前幾日分享了自己寫的一個微信支付V3的開發(fā)包payment-spring-boot-starter聂宾,就忙里偷閑完善了一波。
別忘記給個Star啊讲逛,有問題提ISSUE亏吝。
那么都完善了哪些內(nèi)容呢?我來一一介紹盏混。
2. Maven 中央倉庫
是的蔚鸥,不用再自行編譯打包部署了,我已經(jīng)提交到Maven中央倉庫了许赃。最新的坐標是:
<dependency>
<groupId>cn.felord</groupId>
<artifactId>payment-spring-boot-starter</artifactId>
<version>1.0.1.RELEASE</version>
</dependency>
這才算有了點正經(jīng)開源項目的樣子止喷。
3. 功能更加完善
在上次分享中僅僅實現(xiàn)了微信支付的代金券能力,這次加入了更多的微信支付能力:
- 微信支付V3的基礎支付-直連模式優(yōu)化混聊。
- 實現(xiàn)微信支付V3的合單支付弹谁。
同時自行實現(xiàn)了多商戶、多APPID的多租戶模式句喜。后續(xù)微信支付分等功能也將接入進來预愤。
4. 完善樣例
大部分同學還是喜歡拿來就用,那么我又編寫了一個DEMO項目咳胃,比如微信支付回調(diào)的控制器代碼:
/**
* 微信支付成功回調(diào).
* <p>
* 無需開發(fā)者判斷植康,只有扣款成功微信才會回調(diào)此接口
*
* @param wechatpaySerial the wechatpay serial
* @param wechatpaySignature the wechatpay signature
* @param wechatpayTimestamp the wechatpay timestamp
* @param wechatpayNonce the wechatpay nonce
* @param request the request
* @return the map
*/
@SneakyThrows
@PostMapping("/transaction")
public Map<String, ?> transactionCallback(
@RequestHeader("Wechatpay-Serial") String wechatpaySerial,
@RequestHeader("Wechatpay-Signature") String wechatpaySignature,
@RequestHeader("Wechatpay-Timestamp") String wechatpayTimestamp,
@RequestHeader("Wechatpay-Nonce") String wechatpayNonce,
HttpServletRequest request) {
String body = request.getReader().lines().collect(Collectors.joining());
// 對請求頭進行驗簽 以確保是微信服務器的調(diào)用
ResponseSignVerifyParams params = new ResponseSignVerifyParams();
params.setWechatpaySerial(wechatpaySerial);
params.setWechatpaySignature(wechatpaySignature);
params.setWechatpayTimestamp(wechatpayTimestamp);
params.setWechatpayNonce(wechatpayNonce);
params.setBody(body);
return wechatApiProvider.callback(TENANT_ID).transactionCallback(params, data -> {
//TODO 對回調(diào)解析的結(jié)果進行消費
});
}
基本就是抄來就能用的。還有更多請參閱 payment-spring-boot-samples項目:
地址:https://github.com/NotFound403/payment-spring-boot-samples
請注意保護敏感參數(shù)的安全展懈,不要泄露出去销睁。
5. 文檔
寫文檔確實是一個枯燥的事情供璧,參考了其它一些開源項目的樣子弄了個像模像樣的文檔:
地址是:https://notfound403.github.io/payment-spring-boot
快速接入指南、JavaDoc冻记、踩坑分享都在文檔里面了睡毒。如果有什么需要完善的地方可以提交ISSUE。
今天的分享就到這里冗栗,如果你在微信支付中遇到了什么問題可以留言提問演顾,我愿意提供力所能及的幫助,分享使我快樂贞瞒。
關注公眾號:碼農(nóng)小胖哥偶房,獲取更多資訊