日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

特殊格式的 汇潮支付接口对接

發布時間:2024/2/28 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 特殊格式的 汇潮支付接口对接 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? 在公司業務中,對接匯潮支付,--------該需求是調用匯潮的支付接口,他們作為中臺,由他們調用支付寶接口

? ? 在異步回調的時候,遇到了“參數通過?post?方式提交,?Content-Type:?application/x-www-form-urlencoded?”,回調參數接收不到,無法轉化,的問題。

? ? ? 解決思路如下,以往都是用json的方式,所以在controller里面寫了@RequestBody,實際是,直接用一個對象接收,不用寫@RequestBody,然后下面在serviceImpl里面,代碼轉換。

? ? ? ?貼出代碼

/** * 支付方式異步通知接口 * @param getHcPayRequest 異步通知獲得json字符串 * @return 異步通知結果 success/fail */ /*匯潮支付--支付方式異步通知接口*/ public String notifyInfos(HcPayRequest getHcPayRequest) {logger.info("匯潮異步回調參數" + JSON.toJSONString(getHcPayRequest)); ParserConfig.getGlobalInstance().setAutoTypeSupport(true);//針對fastjson解析 mq里面的redis獲取值的解析,不然會出錯 String merchantOutOrderNo =getHcPayRequest.getMerchantOutOrderNo();;//商戶訂單號 String merid = getHcPayRequest.getMerid();//商戶號 String msg =getHcPayRequest.getMsg();//訂單的詳細信息 msg->pay Money String res = null; try {res = URLDecoder.decode(msg,"UTF-8"); } catch (UnsupportedEncodingException e) {logger.error("匯潮異步回調參數解碼失敗-" + JSON.toJSONString(msg)); e.printStackTrace(); }JSONObject jsonObject = JSON.parseObject(res); System.out.println(getHcPayRequest.toString()); String orderNo =getHcPayRequest.getOrderNo();//平臺訂單號 String orderMoney = (String)jsonObject.get( "payMoney" );// 支付金額 /** * 通知參數樣例: * 在匯潮的接口文檔里面有這個 * merchantOutOrderNo=2017091316410597&merid= * yft2017082500005&msg={"payMoney":"1.00"}&noncestr=adfasdfqwer&orderNo=20170913164 * 1128501&payResult=1&sign= 078c2637c96d714880fdb3364d440b51 */ String trasactionId = orderNo;//平臺訂單編號 比如支付寶平臺 try {if (redisTemplate.hasKey(Constants.HC_PREFIX + trasactionId)) { //放進Redis logger.info("hcpay有重復通知" + trasactionId); return "success"; } else {redisTemplate.opsForValue().set(Constants.HC_PREFIX + trasactionId, "1", 2880, TimeUnit.MINUTES); }} catch (Exception e) {e.printStackTrace(); logger.error("hcpay寫redis出錯" + e.getMessage()); }HcPayRequest hcPayRequestnew = new HcPayRequest(); hcPayRequestnew.setMerchantOutOrderNo(merchantOutOrderNo); hcPayRequestnew.setOrderNo(orderNo); hcPayRequestnew.setAmount(orderMoney); EvaFeeInfo evaFeeInfoNew =(EvaFeeInfo)redisTemplate.opsForValue().get(Constants.HC_PREFIX +Constants.PAY_PG+ merchantOutOrderNo); if(evaFeeInfoNew!=null){logger.info("hc匯潮支付redis獲取的param" + JSON.toJSONString(evaFeeInfoNew)); if (Constants.PAY_PG.equals(evaFeeInfoNew.getFlag())) {//評估費 EvaFeeInfo evaFeeInfo = new EvaFeeInfo(); evaFeeInfo.setEvaAmount(evaFeeInfoNew.getEvaAmount());// evaFeeInfo.setUserId(evaFeeInfoNew.getUserId());// evaFeeInfo.setMobile(evaFeeInfoNew.getMobile());// evaFeeInfo.setCouponId(evaFeeInfoNew.getCouponId());// evaFeeInfo.setRepayNo(orderNo); evaFeeInfo.setTradeNo(evaFeeInfoNew.getTradeNo());//商家唯一標示 訂單號 evaFeeInfo.setCurrentCash(evaFeeInfoNew.getCurrentCash());// evaFeeInfo.setIsUseCash(evaFeeInfoNew.getIsUseCash());// hcPayRequestnew.setFlag(Constants.PAY_PG); try {logger.info("評估費發送rabbitmq"); rabbitmqProducerProxy.convertAndSend("evaFee.ibank", evaFeeInfo); } catch (Exception e) {e.printStackTrace(); }}}RecFeeInfo recFeeInfoNew =(RecFeeInfo)redisTemplate.opsForValue().get(Constants.HC_PREFIX +Constants.PAY_TJ+merchantOutOrderNo); if(recFeeInfoNew!=null){logger.info("hc匯潮支付redis獲取的param" + JSON.toJSONString(recFeeInfoNew)); if (Constants.PAY_TJ.equals(recFeeInfoNew.getFlag())) {//推薦費 RecFeeInfo recFeeInfo = new RecFeeInfo(); recFeeInfo.setRecAmount(recFeeInfoNew.getRecAmount());// recFeeInfo.setUserId(recFeeInfoNew.getUserId());// recFeeInfo.setMobile(recFeeInfoNew.getMobile());// recFeeInfo.setBorrowPeriods(recFeeInfoNew.getBorrowPeriods());//借款周期// recFeeInfo.setLoanAmount(recFeeInfoNew.getLoanAmount());// // recFeeInfo.setType(hcPayRequest.getType());-------------------------------------------- recFeeInfo.setRepayNo(orderNo);// recFeeInfo.setTradeNo(recFeeInfoNew.getTradeNo());//商家唯一標示 訂單號 recFeeInfo.setCouponId(recFeeInfoNew.getCouponId());// recFeeInfo.setAppCodeList(recFeeInfoNew.getAppCodeList());// recFeeInfo.setCurrentCash(recFeeInfoNew.getCurrentCash());// recFeeInfo.setIsUseCash(recFeeInfoNew.getIsUseCash());// hcPayRequestnew.setFlag(Constants.PAY_TJ); try {logger.info("推薦費發送rabbitmq order"); rabbitmqProducerProxy.convertAndSend("recFee.ibank", recFeeInfo); //去掉 發給 user的推薦費 // logger.info("推薦費發送rabbitmq user"); // rabbitmqProducerProxy.convertAndSend("recUser.ibank", recFeeInfo); } catch (Exception e) {e.printStackTrace(); }}}RechargeFeeInfo rechargeFeeInfoNew =(RechargeFeeInfo)redisTemplate.opsForValue().get(Constants.HC_PREFIX + Constants.PAY_XJ +merchantOutOrderNo); if(rechargeFeeInfoNew!=null){if(Constants.PAY_XJ.equals(rechargeFeeInfoNew.getFlag())){//充值現金券 RechargeFeeInfo rechargeFeeInfo = new RechargeFeeInfo(); rechargeFeeInfo.setAccountNumber(rechargeFeeInfoNew.getAccountNumber());//手機號// rechargeFeeInfo.setAmount(rechargeFeeInfoNew.getAmount());// rechargeFeeInfo.setCashId(rechargeFeeInfoNew.getCashId());// rechargeFeeInfo.setOperStatus(1);// /**充值是否成功 0:失敗 1:成功*/ rechargeFeeInfo.setRechargeFlowNo(orderNo); rechargeFeeInfo.setTradeNo(rechargeFeeInfoNew.getTradeNo());//商家唯一標示 訂單號 rechargeFeeInfo.setStatusMsg("1");//匯潮支付 1 為成功(目前只有成功才通知) hcPayRequestnew.setFlag(Constants.PAY_XJ); try {logger.info("hc匯潮支付充值現金券發送rabbitmq order"); rabbitmqProducerProxy.convertAndSend("rechargeFee.ibank", rechargeFeeInfo); } catch (Exception e) {e.printStackTrace(); logger.error("hc匯潮支付現金券充值 異常", e); }}}payLogService.saveHcPay(hcPayRequestnew,Constants.REPAY_STATUS_ZERO ); logger.info("匯潮支付支付成功" + orderNo); return "success"; }

/** * 支付方式異步通知接口 * @param getHcPayRequest 異步通知獲得json字符串 * @return 異步通知結果 success/fail */ /*匯潮支付--支付方式異步通知接口*/ @RequestMapping(value = "/notifyInfos",method = RequestMethod.POST) public String notifyInfos( HcPayRequest getHcPayRequest){String toSuccessOrFail = hcPayService.notifyInfos(getHcPayRequest); return toSuccessOrFail; }

總結

以上是生活随笔為你收集整理的特殊格式的 汇潮支付接口对接的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。