日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
微信公眾號(hào)開發(fā)刷卡支付的示例分析-創(chuàng)新互聯(lián)

這篇文章主要介紹微信公眾號(hào)開發(fā)刷卡支付的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

公司主營(yíng)業(yè)務(wù):網(wǎng)站制作、網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出濮陽縣免費(fèi)做網(wǎng)站回饋大家。

場(chǎng)景介紹


  • 步驟1:用戶選擇刷卡支付付款并打開微信,進(jìn)入“我”->“錢包”->“刷卡”條碼界面

  • 步驟2:收銀員在商戶系統(tǒng)操作生成支付訂單,用戶確認(rèn)支付金額

  • 步驟3:商戶收銀員用掃碼設(shè)備掃描用戶的條碼/二維碼,商戶收銀系統(tǒng)提交支付

  • 步驟4:微信支付后臺(tái)系統(tǒng)收到支付請(qǐng)求,根據(jù)驗(yàn)證密碼規(guī)則判斷是否驗(yàn)證用戶的支付密碼,不需要驗(yàn)證密碼的交易直接發(fā)起扣款,需要驗(yàn)證密碼的交易會(huì)彈出密碼輸入框。支付成功后微信端會(huì)彈出成功頁面,支付失敗會(huì)彈出錯(cuò)誤提示

商戶側(cè)流程


詳細(xì)文檔介紹只需要簡(jiǎn)單了解流程 點(diǎn)擊這里


刷卡支付接入模式可分為:商戶后臺(tái)接入(提供給別人使用類似第三方)和門店接入(自己使用);區(qū)別就是支付結(jié)果多分發(fā)一次

根據(jù)用戶是否需要輸入支付密碼可分為:免密模式和驗(yàn)密模式。

支付驗(yàn)證密碼規(guī)則

  • 支付金額>500元的交易需要驗(yàn)證用戶支付密碼

  • 用戶賬號(hào)每天最多有5筆交易可以免密,超過后需要驗(yàn)證密碼

  • 微信支付后臺(tái)判斷用戶支付行為有異常情況,符合免密規(guī)則的交易也會(huì)要求驗(yàn)證密碼

免密模式和驗(yàn)密模式兩者的區(qū)別會(huì)在后面講到

下面來講講具體實(shí)現(xiàn)

刷卡支付當(dāng)中使用的支付接口為: 提交刷卡支付API 使用的是https請(qǐng)求;不需要微信支付證書。

以下是具體實(shí)現(xiàn)代碼:
com.javen.weixin.controller.WeixinPayController中的micropay()

public void micropay(){
  String url="https://api.mch.weixin.qq.com/pay/micropay";

  String total_fee="1";
  //授權(quán)碼
  String auth_code = getPara("auth_code");

  Map params = new HashMap();
  params.put("appid", appid);
  params.put("mch_id", partner);
  params.put("device_info", "javen205");//終端設(shè)備號(hào)
  params.put("nonce_str", System.currentTimeMillis() / 1000 + "");
  params.put("body", "刷卡支付測(cè)試");
//  params.put("detail", "json字符串");//非必須
  params.put("attach", "javen205");//附加參數(shù)非必須
  String out_trade_no=System.currentTimeMillis()+"";
  params.put("out_trade_no", out_trade_no);
  params.put("total_fee", total_fee);

  String ip = IpKit.getRealIp(getRequest());
  if (StrKit.isBlank(ip)) {
   ip = "127.0.0.1";
  }

  params.put("spbill_create_ip", ip);
  params.put("auth_code", auth_code);

  String sign = PaymentKit.createSign(params, paternerKey);
  params.put("sign", sign);

  String xmlResult = HttpUtils.post(url, PaymentKit.toXml(params));
  //同步返回結(jié)果
  System.out.println("xmlResult:"+xmlResult);

  Map result = PaymentKit.xmlToMap(xmlResult);
  String return_code = result.get("return_code");
  if (StrKit.isBlank(return_code) || !"SUCCESS".equals(return_code)) {
   //通訊失敗 
   String err_code = result.get("err_code");
   //用戶支付中,需要輸入密碼
   if (err_code.equals("USERPAYING")) {
    //等待5秒后調(diào)用【查詢訂單API】https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=9_2

   }
   renderText("通訊失敗>>"+xmlResult);
   return;
  }

  String result_code = result.get("result_code");
  if (StrKit.isBlank(result_code) || !"SUCCESS".equals(result_code)) {
   //支付失敗
   renderText("支付失敗>>"+xmlResult);
   return;
  }

  //支付成功 

  renderText(xmlResult);
 }

在開源項(xiàng)目weixin-guide中 測(cè)試訪問地址為http://域名[/項(xiàng)目名稱]/pay/micropay?auth_code=xxxxx授權(quán)碼auth_code  為微信客戶端刷卡界面條形碼上顯示的數(shù)字。

(注:用戶刷卡條形碼規(guī)則:18位純數(shù)字,以10、11、12、13、14、15開頭)

測(cè)試

不用掃碼槍也可以測(cè)試,只是測(cè)試手動(dòng)輸入授權(quán)碼麻煩一點(diǎn)(1分鐘刷新一次),需要你快速輸入授權(quán)碼。掃碼槍只是讀取授權(quán)碼并沒有多做其他的事情。

我本地做端口映射測(cè)試的地址如下:

其中auth_code 值是誰便寫的
http://域名/pay/micropay?auth_code=111 在瀏覽器中訪問

返回結(jié)果如下:











刷卡支付超過5次就會(huì)提示輸入密碼

返回的err_codeUSERPAYING

此時(shí)支付結(jié)果就需要通過 查詢訂單接口來獲取

這就是有密碼與無密碼的區(qū)別,有密碼必須通過查詢訂單來獲取支付結(jié)果,如果結(jié)果任然為USERPAYING,則每隔5秒循環(huán)調(diào)用查詢訂單API判斷實(shí)際支付結(jié)果,如果用戶取消支付或累計(jì)30秒用戶都未支付,商戶收銀臺(tái)退出查詢流程后繼續(xù)調(diào)用撤銷訂單API撤銷支付交易。

輸入正確的auth_code 返回的結(jié)果如下:













1





1

使用場(chǎng)景描述

如果接入模式為商戶后臺(tái)接入 支付成功了微信支付系統(tǒng)就會(huì)將上面的xml數(shù)據(jù)返回給商戶,商戶再將支付結(jié)果回調(diào)給門店收銀臺(tái),收銀臺(tái)繼續(xù)處理業(yè)務(wù)邏輯

如果接入模式-門店接入 支付成功了微信支付系統(tǒng)就會(huì)將上面的xml數(shù)據(jù)返回給收銀臺(tái),收銀臺(tái)繼續(xù)處理業(yè)務(wù)邏輯

微信公眾號(hào)開發(fā)刷卡支付的示例分析


以上是“微信公眾號(hào)開發(fā)刷卡支付的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)站欄目:微信公眾號(hào)開發(fā)刷卡支付的示例分析-創(chuàng)新互聯(lián)
文章地址:http://www.dlmjj.cn/article/diigpd.html