# business-pay-api

通用支付模块**对外契约**，供 `business-finance`、`business-mobile-gateway` 等模块依赖，**不包含实现与 Spring 配置**。

## 依赖方式

```xml
<dependency>
    <groupId>com.xinghuacuntravel</groupId>
    <artifactId>business-pay-api</artifactId>
    <version>${project.version}</version>
</dependency>
```

运行时还需 `web-starter`（或显式依赖 `business-pay-application`）以注册实现 Bean。

## 接口一览

| 接口 | 实现类 | 说明 |
|------|--------|------|
| `PayCenterApi` | `PayCenterApiImpl` | 微信 JSAPI 预支付、公开配置、回调验签解密 |
| `PayRefundChannelApi` | `PayRefundChannelApiImpl` | 微信 V3 退款（供 finance 调用） |
| `PayWechatTransactionChannelApi` | `PayWechatTransactionChannelApiImpl` | 微信关单等交易操作 |

支付主单在 **finance** 模块：`biz_finance_pay_order`（`PayOrderApi` / `PayOrderApplicationService`）。

## 与 business-finance 协作（杏花村 C 端）

1. `PayOrderApplicationService.createIntentForJsapi` 写 `biz_finance_pay_order`。
2. 组装 `BasicPayOrderData`（`bizScene`、`orderNumber=out_trade_no`、`payerOpenId`、`payAmount` 分等）。
3. `payCenterApi.wechatJsapiPrepay(payData)` 调微信 V3。
4. 业务回调经 gateway `WechatPayNotifyAdapterService` + 各业态 `*WechatPayCallbackAdapter`。

## 与 business-finance 区分

- `com.jeesharp.business.modules.finance.payorder.service.PayOrderService`：财务支付单 CRUD。
- `com.jeesharp.business.modules.pay.api.PayCenterApi`：支付渠道门面。

二者勿混用注入。
