一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - java實(shí)現(xiàn)微信點(diǎn)餐申請(qǐng)微信退款

java實(shí)現(xiàn)微信點(diǎn)餐申請(qǐng)微信退款

2021-06-02 14:03杜曉靜 Java教程

這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)微信點(diǎn)餐申請(qǐng)微信退款,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

應(yīng)用場(chǎng)景:

當(dāng)交易發(fā)生之后一段時(shí)間內(nèi),由于買(mǎi)家或者賣(mài)家的原因需要退款時(shí),賣(mài)家可以通過(guò)退款接口將支付款退給買(mǎi)家,微信支付將在收到退款請(qǐng)求并且驗(yàn)證成功之后,按照退款規(guī)則將支付款按原路退到買(mǎi)家賬號(hào)上。

注意事項(xiàng):

1.交易時(shí)間超過(guò)一年的訂單無(wú)法提交退款

2.微信支付退款支持單筆交易分多次退款,多次退款需要提交原支付訂單的商戶(hù)訂單好和設(shè)置不同的退款單號(hào)。申請(qǐng)退款總金額不能超過(guò)訂單金額。一筆退款失敗后重新提交,請(qǐng)不要更換退款單號(hào),請(qǐng)使用原商戶(hù)退款單號(hào)。

3.請(qǐng)求頻率限制,150qps,即每秒鐘正常的申請(qǐng)退款請(qǐng)求次數(shù)不超過(guò)150次

錯(cuò)誤或無(wú)效請(qǐng)求效率限制:6qps,即每秒鐘異常或錯(cuò)誤的退款申請(qǐng)請(qǐng)求不超過(guò)6次。

4.每個(gè)支付訂單的部分退款次數(shù)不能超過(guò)50次

其他詳情可參考微信開(kāi)發(fā)文檔。

退款請(qǐng)求需要雙向證書(shū),所以需要下載證書(shū)。

java實(shí)現(xiàn)微信點(diǎn)餐申請(qǐng)微信退款

下載好后可參照證書(shū)使用說(shuō)明,閱讀各證書(shū)說(shuō)明

java實(shí)現(xiàn)微信點(diǎn)餐申請(qǐng)微信退款

由于只是用到spiclient_cert.p12證書(shū),將其重命名為h5.p12
項(xiàng)目的配置文件中修改證書(shū)路徑

java實(shí)現(xiàn)微信點(diǎn)餐申請(qǐng)微信退款

微信退款:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/**
  * 退款
  * @param orderdto 訂單
  */
 @override
 public refundresponse refund(orderdto orderdto) {
  refundrequest refundrequest = new refundrequest();
  refundrequest.setorderid(orderdto.getorderid());
  refundrequest.setorderamount(orderdto.getorderamount().doublevalue());
  refundrequest.setpaytypeenum(bestpaytypeenum.wxpay_h5);
  log.info("【微信退款】request={}", jsonutil.tojson(refundrequest));
  //調(diào)用sdk
  refundresponse refundresponse = bestpayservice.refund(refundrequest);
  log.info("【微信退款】response={}", jsonutil.tojson(refundresponse));
  return refundresponse;
 }

返回的refundresponse對(duì)象由sdk封裝好的,包含信息為:

?
1
2
3
4
5
private string orderid;//訂單號(hào)
private double orderamount;//訂單金額
private string outtradeno;//第三方支付流水號(hào)
private string refundid;//退款號(hào)(在此與訂單號(hào)相同)
private string outrefundno;//第三方退款流水號(hào)

將退款加入取消訂單的邏輯當(dāng)中:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/**
 * 取消訂單
 * @param orderdto 訂單
 * @return 取消的訂單
*/
 @override
 @transactional
 public orderdto cancel(orderdto orderdto) {
  ordermaster ordermaster = new ordermaster();
  //判斷訂單狀態(tài)
  if (!orderdto.getorderstatus().equals(orderstatusenum.new.getcode())) {
   log.error("【取消訂單】訂單狀態(tài)不正確, orderid={}, orderstatus={}", orderdto.getorderid(), orderdto.getorderstatus());
   throw new sellexception(resultenum.order_status_error);
  }
  //修改訂單狀態(tài)
  orderdto.setorderstatus(orderstatusenum.cancel.getcode());
  beanutils.copyproperties(orderdto, ordermaster);
  ordermaster updateresult = ordermasterrepository.save(ordermaster);
  if (updateresult == null) {
   log.error("【取消訂單】更新失敗,ordermaster={}", ordermaster);
   throw new sellexception(resultenum.order_update_fail);
  }
  //返回庫(kù)存
  if (collectionutils.isempty(orderdto.getorderdetaillist())) {
   log.error("【取消訂單】訂單中無(wú)商品詳情,orderdto={}", orderdto);
   throw new sellexception(resultenum.order_detail_empty);
  }
  list<cartdto> cartdtolist = orderdto.getorderdetaillist().stream()
    .map(e -> new cartdto(e.getproductid(), e.getproductquantity()))
    .collect(collectors.tolist());
  productservice.increasestock(cartdtolist);
  //如果已支付,需要退款
  if (orderdto.getpaystatus().equals(paystatusenum.success.getcode())) {
   payservice.refund(orderdto);
  }
  return orderdto;
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/qqxyy99/article/details/79877573

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲高清在线视频 | 范冰冰a级一级特级毛片 | 久久青青草原综合伊人 | 欧美久久久久久久一区二区三区 | 国产精品免费拍拍拍 | 四虎影视免费观看 | 暖暖高清日本在线 | 羞羞麻豆国产精品1区2区3区 | 车上小婕子系列辣文小说 | 日本福利片国产午夜久久 | 无敌在线视频观看免费 | 99国产热 | 久热这里在线精品 | 搞逼综合网 | 成人高辣h视频一区二区在线观看 | 91麻豆精品国产自产在线观看 | 男人的影院 | 极品美女写真菠萝蜜视频 | 欧美一区二区三区免费观看视频 | 国内精品久久久久久野外 | 日本动漫打扑克动画片樱花动漫 | 久久视频在线视频观看精品15 | 骚虎网站在线观看 | 天仙tv微福视频 | 欧美日韩一区二区三区在线播放 | 惩罚美女妲己的尤老师 | 爽好大快深点一视频 | 骚虎最新网址 | 麻豆网 | ai换脸杨颖啪啪免费网站 | www视频免费 | 久久日本片精品AAAAA国产 | 欧美亚洲国产精品久久久 | 国产精品亚洲专区一区 | 三级伦理影院 | 女人全身裸露无遮挡免费观看 | 99re在线精品视频免费 | 无码AV毛片色欲欧洲美洲 | 欧美高清免费一级在线 | 国产日韩欧美在线一二三四 | 99久久免费精品视频 |