[TITLE]
Odoo 订阅自动付款设置指南

[DESCRIPTION]
本文详细阐述了在 Odoo 中为订阅模块配置自动付款的完整步骤,包括选择支持令牌化的支付提供商、在客户门户或电商网站中保存付款信息,以及在付款失败时的处理流程,帮助企业实现订阅费用的自动化收取。

[KEYWORDS]
Odoo, 订阅, 自动付款, 支付提供商, 令牌化, 客户门户, 电商网站, 付款失败, 合同异常, 开发者模式

[TRANSLATED_CONTENT]

---
# 订阅与自动付款

默认情况下,**Subscriptions** 应用会自动为客户生成报价单和发票,但它也可以支持自动付款。设置自动付款需要额外的配置,包括选择自动付款提供商以及搭建客户门户或 **eCommerce** 网站。以下是入门概览。

## 设置支持自动付款的支付处理器

设置自动循环付款需要使用支持**令牌化**的支付提供商。令牌化允许客户保存付款细节(如信用卡或银行账户信息),用于自动计费。以下支付提供商支持令牌化:

- `Adyen <../../finance/payment_providers/adyen>`
- `Authorize.net <../../finance/payment_providers/authorize>`
- `Flutterwave <../../finance/payment_providers/flutterwave>`
- `Razorpay <../../finance/payment_providers/razorpay>`
- `Stripe <../../finance/payment_providers/stripe>`
- `Xendit <../../finance/payment_providers/xendit>`

下面是设置自动付款的步骤。

1. 选择支持令牌化的支付提供商。  
2. 按照提供商的设置指南创建账户,并在 Odoo 中配置其 API 凭证。  
3. `Enable <payment_providers/add_new>` 启用该支付提供商。  
4. `Configure the payment methods <payment_providers/payment_methods>` 为所选提供商配置支付方式。  
5. `Configure the tokenization <payment_providers/tokenization>` 为所选提供商配置令牌化。

## 客户如何设置自动付款

完成上述步骤后,支付提供商将在结账过程中使用客户已保存的付款信息创建令牌。保存的付款信息随后可用于未来的在线或循环订阅收费。客户也可以登录他们的 `customer portal <../../general/users/user_portals>` 并在那里输入付款信息。

部分支付提供商会在结账时自动保存客户的付款信息,其他则会提供保存选项。如果客户选择不保存信息,则无法进行自动付款。

:::: important
::: title
重要提示
:::

构建 **eCommerce** 网站需要 `Website <../../websites/website>` 应用。  
::::

## 自动付款失败时会怎样?

当自动付款失败时,销售订单会更新以下信息:

- 添加 `Payment Failure` 标签  
- 勾选 `Contract in exception` 复选框(在 `Subscription` 部分的 `Other Info` 选项卡中)

标记为 `Contract in exception` 会阻止计划任务运行,防止系统因付款实际成功而对客户进行双重收费。由于付款状态未在系统中注册,用户必须手动检查付款是否已完成,然后才能恢复自动付款及其他计划任务。

操作步骤:

1. 前往 `Subscriptions app --> Subscriptions --> Quotations`,打开相应订阅,查看聊天记录(Chatter)确认付款是否已完成。  
2.**未付款**,先进入 `developer mode <../../general/developer_mode>`,在 `Other Info` 选项卡中取消勾选 `Contract in exception`,刷新销售订单,确认 `Payment Failure` 标签已消失。  
3.**已付款**,需手动创建并发布新发票,这会自动更新订阅的下次开票日期。随后进入 `developer mode`,在新销售订单的 `Other Info` 选项卡中取消勾选 `Contract in exception`,刷新订单并确认 `Payment Failure` 标签已移除。

![](renewals/contract-in-exception.png){alt="选中 Contract in exception 选项并显示 Payment Failure 标签的示意图。"}

`Contract in exception` 选项被选中并显示 `Payment Failure` 标签。

在上述两种情况下,只要 `Contract in exception` 复选框不再勾选,Odoo 将再次自动处理续订。如果订阅仍保持在 `Payment Failure` 状态,Odoo 将忽略该订单直至其被关闭。

::: seealso
- `../../finance/payment_providers`  
- `../../general/users/user_portals`  
:::

[SUMMARY]

# 订阅与自动付款
## 设置支持自动付款的支付处理器
- 选择支持令牌化的支付提供商
- 配置 API 凭证
- 启用支付提供商
- 配置支付方式
- 配置令牌化
## 客户如何设置自动付款
- 结账时生成并保存令牌
- 在客户门户输入付款信息
## 自动付款失败时的处理
- 销售订单标记“付款失败”和“合同异常”
- 手动检查付款状态
- 取消“合同异常”并移除标签
- 如已付款,手动创建发票并更新订阅