# 对账单描述符

了解对账单描述符的原理。

有关为 Connect 子账户设置对账单描述符的信息，请参阅[为 Connect 子账户设置对账单描述符](https://docs.stripe.com/connect/statement-descriptors.md)。

对账单描述符对银行对账单上的收款或付款进行解释。使用清晰准确的对账单描述符可以减少撤单和争议。银行和卡组织要求包含某些类型的信息，以帮助客户理解他们的对账单，对账单描述符的作用就是来提供这些信息。

在您[设置 Stripe 账户](https://docs.stripe.com/get-started/account/set-up.md#public-business-information)时，可设置一个对账单描述符（静态对账单描述符），这个描述符将显示在所有客户的对账单上。对于银行卡扣款，您还可以创建一种对账单描述符：包含与账户关联的静态前缀，以及与每笔扣款对应的动态后缀。这样您就能在银行或银行对账单上，标注产品、服务或支付相关的具体明细。

大多数银行会一致显示此信息，但有些可能会错误显示或根本不显示。

## 对账单描述符的要求

完整的对账单描述符（无论是单个静态描述符还是前缀和后缀的组合）必须满足以下要求：

- 仅包含拉丁字符。
- 包含 5 到 22 个字符（含）。
- 包含至少一个字母（如果使用前缀和后缀，两者都至少要有一个字母）。
- 不要包含以下任何特殊字符：`<`、`>`、`\`、`'`、`"`、`*`。
- 反映您的“经营名称”（DBA，即“Doing Business As”）。
- 包含多个常见术语或常见网站 URL。可以仅提供网站 URL，前提是它能在客户对账单上清晰准确地描述交易。

静态前缀，在管理平台中也叫做简短描述符，必须包含 2 到 10 个字符（含）。其余字符留给动态后缀。

## 设置静态对账单描述符或前缀

您可以在[管理平台](https://dashboard.stripe.com/settings/business-details)中设置静态对账单描述符或简短描述符（前缀）。对于非卡片扣款或支付，此值将显示在所有客户对账单上。

在下列情况下，静态对账单描述符是足够的：

- 您的公司只提供单一产品或服务。
- 您的客户理解与您的企业进行的任何交易的静态值。
- 您想为所有交易提供相同的对账单描述符。

对于银行卡收款，在下列情况下，应考虑使用一个带动态后缀的静态前缀：

- 您提供多种产品或服务。
- 您的客户可能无法理解与您的公司进行的所有交易中的某个值。
- 您更偏向于在对账单描述符中提供与交易相关的细节。

您可以同时设置非卡片扣款的对账单描述符和卡片扣款的简短对账单描述符前缀。

如果您设置了静态对账单描述符但未设置前缀，Stripe 会将静态对账单描述符用作卡片支付的前缀。如果其长度超过 10 个字符，我们会将其截断，以符合字符限制。

## 设置动态后缀

动态后缀仅支持银行卡付款。使用后缀指定交易细节，以便客户通过其对账单清楚地了解交易。后缀与前缀、`*` 符号和空格连接在一起，形成客户看到的完整对账单描述符。

确保拼接后的描述符总长度不超过 22 个字符，包括 `*` 符号和空格。如果前缀是 `RUNCLUB`（7 个字符），动态后缀最多可包含 13 个字符 — 例如，`9-22-19 10K`（11 个字符）或 `OCT MARATHON`（12 个字符）。计算出的对账单描述符是 `RUNCLUB* 9-22-19 10K` 或 `RUNCLUB* OCT MARATHON`。

在 `PaymentIntent` 的 [statement_descriptor_suffix](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-statement_descriptor_suffix) 参数中指定后缀：

```curl
curl https://api.stripe.com/v1/payment_intents \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d amount=1099 \
  -d currency=usd \
  -d "automatic_payment_methods[enabled]=true" \
  -d "statement_descriptor_suffix=example descriptor"
```

如果您使用 *Checkout* (A low-code payment integration that creates a customizable form for collecting payments. You can embed Checkout directly in your website, redirect customers to a Stripe-hosted payment page, or create a customized checkout page with Stripe Elements)，请在 `CheckoutSession` 的 [payment_intent_data.statement_descriptor_suffix](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-payment_intent_data-statement_descriptor_suffix) 参数中指定后缀。

## 覆盖默认对账单描述符

### 一次性付款

在创建 `PaymentIntent` 时，您可以为 [statement_descriptor](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-statement_descriptor) 指定一个值，以此覆盖某笔非卡片支付的静态对账单描述符。

对于卡片支付，您无法指定 `statement_descriptor`。您只能指定 `statement_descriptor_suffix`。

### 订阅和账单

由于 Stripe 会自动创建订阅扣款，您无法在关联的 `PaymentIntent` 上设置 `statement_descriptor` 或 `statement_descriptor_suffix`。如需覆盖订阅或账单支付的默认对账单描述符，您可以执行以下操作之一：

- 更新 `Invoice` 以指定 [statement_descriptor](https://docs.stripe.com/api/invoices/update.md#update_invoice-statement_descriptor)。
- 在您[创建](https://docs.stripe.com/api/products/create.md#create_product-statement_descriptor)或[更新](https://docs.stripe.com/api/products/update.md#update_product-statement_descriptor) `Product` 时指定 `statement_descriptor`。

> #### 更新账单
> 
> 通常，您无法编辑已确定的[订阅账单](https://docs.stripe.com/billing/invoices/subscription.md)。如果要向订阅账单添加自定义对账单描述符，请将 `Subscription` 的 [collection_method](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-collection_method) 设置为 `send_invoice`。您可能还需要将 `Invoice` 的 [auto_advance](https://docs.stripe.com/api/invoices/update.md#update_invoice-auto_advance) 设置为 false。

创建订阅支付时，Stripe 会按以下优先顺序选择对账单描述符：

1. 在 `Invoice` 上定义的描述符。
2. 在 `Product` 上定义的描述符，包括与账单中的 `Plan` 或 `Price` 相关联的 `Product`。如果 `Subscription` 包含多个项目，则 Stripe 会使用其 [items.data](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-items-data) 数组（而不是 `Invoice` 的 `lines.data` 数组）中具有自定义对账单描述符的第一个项目。
3. 该扣款类型的默认对账单描述符。

## 设置日语对账单描述符

日本商家可以设置汉字和假名对账单描述符。提供清晰易懂的对账单描述符对于减少混乱和减少撤单非常重要。我们建议在所有三种受支持的脚本（汉字、假名和拉丁字符）中设置对账单描述符。

您可以在[管理平台](https://dashboard.stripe.com/settings/business-details)中更改账户的[静态](https://docs.stripe.com/get-started/account/statement-descriptors.md#static)汉字和假名对账单描述符以及缩写描述符（前缀）。

对于卡片扣款，您可以在 `PaymentIntents` 和 `CheckoutSessions` 上使用汉字和假名来设置[动态后缀](https://docs.stripe.com/get-started/account/statement-descriptors.md#dynamic)。我们通过连接简短前缀和分隔符来计算持卡人看到的完整描述符，方式与 `statement_descriptor_suffix` 相同。

下例显示了如何在 `PaymentIntent` 上设置汉字和假名后缀。

```curl
curl https://api.stripe.com/v1/payment_intents \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d amount=1000 \
  -d currency=jpy \
  -d "automatic_payment_methods[enabled]=true" \
  -d "statement_descriptor_suffix=example descriptor" \
  -d "payment_method_options[card][statement_descriptor_suffix_kanji]=漢字サフィックス" \
  -d "payment_method_options[card][statement_descriptor_suffix_kana]=カナサフィックス"
```

### 要求

虽然日语的对账单描述符与[英语的要求](https://docs.stripe.com/get-started/account/statement-descriptors.md#requirements)有一些共同之处，但汉字和假名描述符有一些额外要求，具体见下表。

|  | 汉字 | 假名 |
| --- | --- | --- |
| 最大总长度 | 17 | 22 |
| 最小前缀长度 | 1 | 2 |
| 最大前缀长度 | 10 | 10 |
| 支持的字符类型 | 汉字、假名和拉丁字符 | 假名 |
| 验证规则 | 不允许使用 `< > \ ' " * ＊` | 只允许使用假名、空格、破折号和句点 |

> 总长度为静态描述符或连接符（前缀 + 分隔符 + 后缀）的长度。超过最大长度的描述符将被截断。

### 发卡人行为

只有当满足以下两个条件时，日语对账单描述符才可用：

- 这张卡是在日本发行的 Visa 或 Mastercard。
- 收款由日本商家或代表日本商家处理。

对于适用的扣款，大多数发卡行使用日语而不是拉丁语。但是，是否在持卡人的对账单上显示汉字、假名或拉丁字符最终由发卡行决定。

API 响应中的[calculated_statement_descriptor](https://docs.stripe.com/api/charges/object.md#charge_object-calculated_statement_descriptor)始终是拉丁语对账单描述符，但这并不妨碍发卡行使用日语对账单描述符。

### 对账单描述符显示时间

汉字和假名对账单描述符会在捕获付款时发送给发卡行。因此，它们通常需要几天时间才能出现在持卡人的对账单上。在此期间，持卡人可能会看到一个临时描述符：

- \**Visa、Mastercard：**英文对账单描述符。
- \**JCB、Diners Club 和 Discover：**账户的默认对账单描述符。
