# flight-pay-order ref

## flight_pay_order

对已创建订单发起支付；永远不自动支付，必须经用户明确确认。

### 何时使用

订单已创建（`flight_create_order` 成功），用户明确要求支付时。

### 支付前确认

调用 `flight_pay_order` 前，重述订单号、支付金额、支付方式、当前订单状态（已知时）。支付方式未知时先请用户选择，不自动填默认方式。

面向用户提示支付方式时，不展示余额支付：国内可选微信、支付宝、信用卡、借记卡；国际可选 Airwallex、微信、支付宝、信用卡、借记卡。

用户选择支付方式后，内部映射到工具支付渠道：

| 用户说法 | 工具渠道 |
|---|---|
| Airwallex | `airwallex` |
| 支付宝 | `yeepay-alipay` |
| 微信 | `yeepay-wechat` |
| 信用卡 | `yeepay-credit-card` |
| 借记卡 | `yeepay-debit-card` |

用户要求余额支付时不直接执行，提示可选用户支付方式并让用户重新选择。

询问：
> 确认支付 ¥xxx，订单号 xxxxxx？

**只有用户明确确认后**才发起支付。

### 异常情况处理

支付金额不符、订单状态不明确、上次支付可能处理中、订单可能失效或截止时间不清楚时，先调用 `flight_order_detail` 核查，再决定是否重试支付。

### 第三方支付

第三方支付链接（`returnUrl`）使用已配置默认值，不要求普通用户理解其含义。

### 支付后

支付完成后，使用 `flight_order_detail` 核查并展示固定字段：订单号、订单状态/支付状态/出票状态、乘客、航段、金额、下一步。说明最终出票状态以工具返回为准。

### 错误处理

支付失败时简短说明原因，先调用 `flight_order_detail` 核查当前订单状态，再决定是否重试，不盲目重试。
