|
|
|
@ -14,6 +14,7 @@ import com.ynxbd.wx.wxfactory.utils.WxSignHelper; |
|
|
|
import lombok.NoArgsConstructor; |
|
|
|
import lombok.NoArgsConstructor; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.commons.codec.digest.DigestUtils; |
|
|
|
import org.apache.commons.codec.digest.DigestUtils; |
|
|
|
|
|
|
|
import org.apache.commons.lang3.ObjectUtils; |
|
|
|
|
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.Date; |
|
|
|
@ -259,16 +260,18 @@ public class Client { |
|
|
|
* @param mchId mchId |
|
|
|
* @param mchId mchId |
|
|
|
* @param mdPayKey mdPayKey |
|
|
|
* @param mdPayKey mdPayKey |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public MedicalRefundInfo queryRefund(String accessToken, String appId, String mchId, String mdPayKey, String outTradeNo, String medTransId) { |
|
|
|
public MedicalRefundInfo queryRefund(String accessToken, String appId, String mchId, String mdPayKey, String outRefundNo, String outTradeNo, String medTransId) { |
|
|
|
|
|
|
|
|
|
|
|
JsonResult jsonResult = WxRequestHelper.postMdXml(("https://api.weixin.qq.com/payinsurance/queryrefund?access_token=" + accessToken), params -> { |
|
|
|
JsonResult jsonResult = WxRequestHelper.postMdXml(("https://api.weixin.qq.com/payinsurance/queryrefund?access_token=" + accessToken), params -> { |
|
|
|
params.put("appid", appId); |
|
|
|
params.put("appid", appId); |
|
|
|
params.put("mch_id", mchId); |
|
|
|
params.put("mch_id", mchId); |
|
|
|
// 二选一
|
|
|
|
// 四选一 优先级(med_refund_id > hosp_out_refund_no > hosp_out_trade_no > med_trans_id)
|
|
|
|
if (outTradeNo != null) { |
|
|
|
if (!ObjectUtils.isEmpty(outRefundNo)) { |
|
|
|
|
|
|
|
params.put("hosp_out_refund_no", outRefundNo); // 医院退款订单号
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (!ObjectUtils.isEmpty(outTradeNo)) { |
|
|
|
params.put("hosp_out_trade_no", outTradeNo); // 第三方服务商订单号 outTradeNo
|
|
|
|
params.put("hosp_out_trade_no", outTradeNo); // 第三方服务商订单号 outTradeNo
|
|
|
|
} |
|
|
|
} |
|
|
|
if (medTransId != null) { |
|
|
|
if (!ObjectUtils.isEmpty(medTransId)) { |
|
|
|
params.put("med_trans_id", medTransId); // 微信生成的医疗订单号
|
|
|
|
params.put("med_trans_id", medTransId); // 微信生成的医疗订单号
|
|
|
|
} |
|
|
|
} |
|
|
|
params.put("nonce_str", UUID.randomUUID().toString().replaceAll("-", "")); |
|
|
|
params.put("nonce_str", UUID.randomUUID().toString().replaceAll("-", "")); |
|
|
|
|