| | |
| | | request.setTransactionId(o.getPaymentTrId()); |
| | | request.setNotifyUrl(PyamentV3Configurer.notify_url_refund); |
| | | |
| | | AmountReq amount = new AmountReq(); |
| | | int oa = prepareAmount(o.getPaymentAmount()); |
| | | amount.setTotal((long)oa); |
| | | amount.setRefund((long)oa); |
| | | amount.setCurrency("CNY"); |
| | | request.setAmount(amount); |
| | | // 调用接口 |
| | | refundService.create(request); |
| | | |
| | | o.setRefundAmount(o.getPaymentAmount()); |
| | | o.setRefundNo(request.getOutRefundNo()); |
| | | o.setRefundTime(LocalDateTime.now()); |
| | |
| | | deliveryOrderService.refundDelete(orderId); |
| | | |
| | | releasePrepayLock(o); |
| | | |
| | | //最后调用微信退款接口,防止回滚 |
| | | AmountReq amount = new AmountReq(); |
| | | int oa = prepareAmount(o.getPaymentAmount()); |
| | | amount.setTotal((long)oa); |
| | | amount.setRefund((long)oa); |
| | | amount.setCurrency("CNY"); |
| | | request.setAmount(amount); |
| | | // 调用接口 |
| | | refundService.create(request); |
| | | } |
| | | |
| | | public String refundOrderSub(Order o, BigDecimal refundAmount){ |
| | |
| | | InitiateBatchTransferRequest request = new InitiateBatchTransferRequest(); |
| | | request.setAppid(dto.getAppId()); |
| | | request.setOutBatchNo(transfer.getId());//【商家批次单号】 商户系统内部的商家批次单号,要求此参数只能由数字、大小写字母组成,在商户系统内部唯一 |
| | | request.setBatchName(transfer.getName());//【批次名称】 该笔批量转账的名称 |
| | | request.setBatchRemark(transfer.getRemarks());//【批次备注】 转账说明,UTF8编码,最多允许32个字符 |
| | | request.setBatchName(subString(transfer.getName(), 32));//【批次名称】 该笔批量转账的名称 |
| | | request.setBatchRemark(subString(transfer.getRemarks(), 32));//【批次备注】 转账说明,UTF8编码,最多允许32个字符 |
| | | |
| | | List<TransferDetailReqDTO> details = dto.getDetails(); |
| | | transfer.setTotalNum(details.size()); |
| | |
| | | return transfer.getId(); |
| | | } |
| | | |
| | | private String subString(String str, int len){ |
| | | if(StringUtils.isEmpty(str)){ |
| | | return str; |
| | | } |
| | | |
| | | int length = str.length(); |
| | | if(length > len){ |
| | | return str.substring(0, len - 1); |
| | | } |
| | | |
| | | return str; |
| | | } |
| | | |
| | | public void checkTransferStatus(Transfer transfer) {//定时任务验证转账状态 |
| | | GetTransferBatchByOutNoRequest request = new GetTransferBatchByOutNoRequest(); |
| | | request.setOutBatchNo(transfer.getId()); |