微信支付(商户主动打款:提现)

2

微信支付(商户主动打款:提现)

微信支付商户主动打款(提现)流程详细描述

在微信支付系统中,商户可以主动申请提现自己的收入到银行账户。这个过程涉及多个步骤和相关的接口调用。在本文中,我们将详细描述微信支付商户主动打款(提现)的流程。

1. 检查条件

首先,系统会检查商户是否满足提现条件:

* 商户有可提现的金额* 商户的提现申请次数未达到限制如果条件不符,则直接返回错误信息。

2. 获取订单信息

接下来,系统会根据传入的订单 ID(id)获取相关的订单信息。这个过程涉及到数据库操作,具体来说是通过 `cashOutApplyMapper.selectByPrimaryKey(id)` 来实现的。

```javaCashOutApply order = cashOutApplyMapper.selectByPrimaryKey(id);

```

3. 校验订单状态

系统会校验订单的状态是否为“待支付”或“已支付”。如果订单状态不符,则直接返回错误信息。

```javaif (order.getStatus() != CashOutStatus.WAIT_PAY && order.getStatus() != CashOutStatus.PAYED) {

result.setCode(MessageCode.ORDER_STATUS_ERROR);

return result;

}

```

4. 检查提现金额

系统会检查商户的可提现金额是否大于或等于提现金额。如果不符,则直接返回错误信息。

```javaif (order.getPayAmount() < order.getCashOutAmount()) {

result.setCode(MessageCode.CASH_OUT_AMOUNT_ERROR);

return result;

}

```

5. 更新订单状态

如果所有检查都通过,则系统会更新订单的状态为“已提现”。

```javaorder.setStatus(CashOutStatus.PAYED);

cashOutApplyMapper.updateByPrimaryKey(order);

```

6. 执行提现操作

最后,系统会执行提现操作,将商户的收入转移到银行账户。

```java// 执行提现操作CashOut cashOut = new CashOut();

cashOut.setOrderId(id);

cashOut.setAmount(order.getCashOutAmount());

cashOutService.execute(cashOut);

```

7. 返回结果

最后,系统会返回一个 `MessageBean` 对象,包含提现结果。

```javaresult.setCode(MessageCode.SUCCESS);

return result;

```

以上就是微信支付商户主动打款(提现)的流程详细描述。这个过程涉及多个步骤和相关的接口调用,确保了商户的收入安全转移到银行账户。

支付微信小程序

版权声明:除非特别标注,否则均为网络文章,侵权请联系站长删除。

上一篇 微信小程序通过百度智能云实现人脸检测

下一篇 微信公众平台开发文档 获取用户基本信息