成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

微信支付SDK-兩行代碼解決支付

2501207950 / 3344人閱讀

摘要:背景讓使用微信支付的朋友最快速度接入微信支付核心兩行代碼解決微信支付提供的各種服務(wù)開箱即用可擴(kuò)展性超強(qiáng)只需根據(jù)服務(wù)的上下行協(xié)議定義協(xié)議類后放入工廠即可獲取調(diào)用結(jié)果架構(gòu)圖項目源代碼源碼地址目前支持的服務(wù)及調(diào)用示例所有服務(wù)在單元測試類中均已測試

背景

讓使用微信支付的朋友最快速度接入微信支付.

核心

兩行代碼解決微信支付提供的各種服務(wù), 開箱即用, 可擴(kuò)展性超強(qiáng)(只需根據(jù)服務(wù)的上下行協(xié)議定義協(xié)議類后, 放入工廠即可獲取調(diào)用結(jié)果).

架構(gòu)圖

項目源代碼

源碼地址 http://wocoding.com/item.htm?hashId=wZlZgM81

目前支持的服務(wù)及調(diào)用示例

所有服務(wù)在單元測試類(WXPayClientTest.java)中均已測試通過, 下行參數(shù)response.isSuccess == true表示服務(wù)調(diào)用成功.

掃碼支付

文檔詳見: https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1

String nonceStr = SDKUtils.genRandomStringByLength(32);
UnifiedOrderRequest request = new UnifiedOrderRequest("wuspace-899",SDKUtils.genOutTradeNo(),1, "192.168.1.1", asyncNotifyUrl, "NATIVE", nonceStr);
UnifiedOrderResponse response = wxPayClient.execute(request);
Assert.assertNotNull(response);
LOG.info(JSON.toJSONString(response));
公眾號支付

文檔詳見: https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1

String nonceStr = SDKUtils.genRandomStringByLength(32);
UnifiedOrderRequest request = new UnifiedOrderRequest("wuspace-899",SDKUtils.genOutTradeNo(),
                1, "192.168.1.1", asyncNotifyUrl, "JSAPI", nonceStr);
request.setOpenId("oKVmeuHht8J0Ni58CSNe474AHA3E");
UnifiedOrderResponse response = wxPayClient.execute(request);
Assert.assertNotNull(response);
LOG.info(JSON.toJSONString(response));
APP支付

文檔詳見: https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1

String nonceStr = SDKUtils.genRandomStringByLength(32);
UnifiedOrderRequest request = new UnifiedOrderRequest("wuspace-899",SDKUtils.genOutTradeNo(),
                1, "192.168.1.1", asyncNotifyUrl, "APP", nonceStr);
UnifiedOrderResponse response = wxPayClient.execute(request);
Assert.assertNotNull(response);
LOG.info(JSON.toJSONString(response));
商家支付

文檔詳見: https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_2

String nonceStr = SDKUtils.genRandomStringByLength(32);
String customerOpenId = "oKVmeuHht8J0Ni58CSNe474AHA3E";
MchPayRequest mchPayRequest = new MchPayRequest(SDKUtils.genOutTradeNo(),
                customerOpenId, "NO_CHECK", 100, "xxxx年xx月結(jié)算", "192.168.1.1", nonceStr);
MchPayResponse response = wxPayVIPClient.execute(mchPayRequest);
Assert.assertNotNull(response);
LOG.info(JSON.toJSONString(response));
退款

文檔詳見: https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_4&index=6

String nonceStr = SDKUtils.genRandomStringByLength(32);
RefundRequest request = new RefundRequest("T15121416014891124211768",
                SDKUtils.genOutRefundNo(), 1, 1, "112102020", nonceStr);
RefundResponse response = wxPayVIPClient.execute(request);
Assert.assertNotNull(response);
LOG.info(JSON.toJSONString(response));
支付異步通知解析

文檔詳見: https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_7

String notifyTxt = "
" +
                "  
" +
                "  
" +
                "  
" +
                "  
" +
                "  
" +
                "  
" +
                "  
" +
                "  
" +
                "  
" +
                "  
" +
                "  
" +
                "  
" +
                "  
" +
                "  
" +
                "  1
" +
                "  
" +
                "  
" +
                "";
PayNotifyResponse response = wxPayClient.parseNotify(notifyTxt, PayNotifyResponse.class);
Assert.assertNotNull(response);
LOG.info(JSON.toJSONString(response));
刷卡支付

文檔詳見: https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=9_10&index=1

目前公司未使用, 待續(xù)......

擴(kuò)展

該SDK設(shè)計了一個服務(wù)工廠, 該工廠中包含HTTP執(zhí)行器/返回數(shù)據(jù)解析方式(json/xml)/入?yún)?shù)據(jù)格式(json/xml)構(gòu)造等, 開發(fā)人員需要增加服務(wù)僅需要根據(jù)服務(wù)協(xié)議文檔編寫上下行協(xié)議, 并在協(xié)議中指明API接口和返回數(shù)據(jù)類型, 再將上行協(xié)議放入工廠中執(zhí)行即可; 可參考已完成的服務(wù)協(xié)議進(jìn)行擴(kuò)展編寫.

本系列文章

微信支付SDK-兩行代碼解決支付

微信服務(wù)號SDK-兩行代碼解決API調(diào)用

支付寶支付SDK-兩行代碼解決支付

平安銀行銀企直連SDK-兩行代碼解決API調(diào)用

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/65862.html

相關(guān)文章

  • 深究WeixinJSBridge未定義之因

    摘要:未使用微信如果網(wǎng)頁中未使用微信用戶在微信中打開網(wǎng)站可能會觸發(fā)這個錯誤,目前看來只有忽略。關(guān)于微信支付方法監(jiān)聽事件之后再進(jìn)行下一步操作方法直接使用文檔中的支付代碼,不要使用公眾號支付文檔里面的代碼。 Fundebug并沒有使用微信JS-SDK,然而卻收到了WeixinJSBridge is not defined的報錯: showImg(https://segmentfault.com...

    gself 評論0 收藏0
  • 微信公眾號支付開發(fā)全過程(java版)

    摘要:一微信官方文檔微信支付開發(fā)流程公眾號支付首先我們到微信支付的官方文檔的開發(fā)步驟部分查看一下需要的設(shè)置。配置微信公眾賬號支付配置支付類所有方法都在這個類里發(fā)起支付微信公眾賬號支付訂單異步回調(diào)這就是這個所說的行代碼解決微信支付。 文章有不當(dāng)之處,歡迎指正,如果喜歡微信閱讀,你也可以關(guān)注我的微信公眾號:好好學(xué)java,獲取優(yōu)質(zhì)學(xué)習(xí)資源。 一、微信官方文檔微信支付開發(fā)流程(公眾號支付) 首先我...

    Shimmer 評論0 收藏0
  • 不用申請服務(wù)號就可以開發(fā)微信支付/支付寶/QQ錢包支付!附:直接可用的代碼+demo

    摘要:我們知道,開發(fā)微信支付需要申請服務(wù)號并且需要一系列的資料才可以開通。怪麻煩的,現(xiàn)在我們可以用第三方開放的免簽約微信支付接口,支付寶接口和錢包接口,實(shí)現(xiàn)實(shí)時到帳的微信支付開發(fā)。 我們知道,開發(fā)微信支付需要申請服務(wù)號并且需要一系列的資料才可以開通。怪麻煩的,現(xiàn)在我們可以用第三方開放的免簽約微信支付接口,支付寶接口和QQ錢包接口,實(shí)現(xiàn)實(shí)時到帳的微信支付開發(fā)。 我們只需要在第三方的微信支付免簽...

    Zhuxy 評論0 收藏0
  • 不用申請服務(wù)號就可以開發(fā)微信支付/支付寶/QQ錢包支付!附:直接可用的代碼+demo

    摘要:我們知道,開發(fā)微信支付需要申請服務(wù)號并且需要一系列的資料才可以開通。怪麻煩的,現(xiàn)在我們可以用第三方開放的免簽約微信支付接口,支付寶接口和錢包接口,實(shí)現(xiàn)實(shí)時到帳的微信支付開發(fā)。 我們知道,開發(fā)微信支付需要申請服務(wù)號并且需要一系列的資料才可以開通。怪麻煩的,現(xiàn)在我們可以用第三方開放的免簽約微信支付接口,支付寶接口和QQ錢包接口,實(shí)現(xiàn)實(shí)時到帳的微信支付開發(fā)。 我們只需要在第三方的微信支付免簽...

    luffyZh 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<