跳到主要内容

支付方式管理

OmniCRM 的支付方式系统允许客户和员工安全地管理支付卡,使用 Stripe 集成。支付方式使得服务的自动计费、一次性支付和定期收费成为可能,而无需在 OmniCRM 中存储敏感的卡数据。

另请参见: Stripe 集成, 账单概述, 支付处理, 发票

概述

支付方式系统提供:

  • 安全的卡存储 - 由 Stripe 令牌化的卡片,永远不会存储在 OmniCRM 中
  • 多张卡片 - 客户可以存储多种支付方式
  • 默认选择 - 指定首选支付方式以进行自动收费
  • 到期跟踪 - 监控和更新即将到期的卡片
  • 自助服务 - 客户可以通过 自助服务门户 管理自己的卡片
  • 员工管理 - 支持人员可以代表客户添加/删除卡片

支持的支付方式:

  • 信用卡(Visa、Mastercard、American Express、Discover)
  • 借记卡
  • 预付卡(如果卡网络支持)

在 OmniCRM 中未存储:

卡片详细信息由 Stripe 令牌化并安全存储。OmniCRM 仅存储:

  • 卡品牌(Visa、Mastercard 等)
  • 后四位数字
  • 到期月份/年份
  • 持卡人姓名/昵称
  • Stripe 令牌引用

访问支付方式

从客户页面:

  1. 导航到 客户 → [选择客户]
  2. 点击 账单 标签
  3. 滚动到 支付方式 部分

或直接:

从即将到期的卡片仪表板:

查看所有即将到期的卡片客户:

这显示了系统范围内在接下来的 60 天内到期的卡片列表。

支付方式列表

支付方式表显示客户的所有存储卡片:

支付方式列表{.align-center width="800px"}

列描述:

  • 昵称 - 卡片的友好名称(例如,“个人卡”,“工作 Visa”)
  • 发行者 - 卡品牌和后四位数字
  • 到期 - 到期月份/年份(MM/YYYY 格式)
  • 添加 - 卡片添加到账户的日期
  • 默认 - 勾选标记表示默认支付方式用于自动收费

每张卡的操作:

每行都有一个操作菜单 (⋮),选项包括:

  • 设为默认 - 将此卡设为默认支付方式
  • 删除 - 从账户中移除卡片

添加支付方式

点击 “添加支付方式” 打开 Stripe 支付模态框。

步骤 1:输入卡片详细信息

Stripe Elements 模态框出现:

添加支付方式模态框{.align-center width="800px"}

必填字段:

  • 卡片信息 - 卡号、到期、CVC(由 Stripe 验证)
  • 持卡人姓名 - 卡上的姓名
  • 国家/地区 - 账单国家

可选字段:

  • 卡片昵称 - 友好的标签以区分卡片

Stripe Elements 安全性:

  • 卡片详细信息直接输入到 Stripe 的安全 iframe 中
  • OmniCRM 从未看到或存储完整的卡号
  • PCI DSS 合规由 Stripe 处理
  • 实时验证防止无效卡号

步骤 2:提交并令牌化

当您点击 “添加支付方式” 时:

  1. 客户端验证:
    • Stripe 验证卡号格式
    • 检查到期日期是否在未来
    • 验证 CVC 格式
  2. 令牌化:
    • 卡片详细信息直接发送到 Stripe(而非 OmniCRM)
    • Stripe 创建一个安全令牌(例如,pm_1A2B3C4D
    • 令牌返回给 OmniCRM
  3. 服务器处理:
    • OmniCRM 将令牌保存到客户记录中
    • 存储后四位数字、品牌、到期以供显示
    • 完整的卡号从未触及 OmniCRM 服务器

步骤 3:确认

成功消息出现��

您的 Visa 卡(尾号 1234)已添加到您的账户。

新卡出现在支付方式表中。

自动默认选择:

  • 如果这是客户的第一张卡,它会自动设为默认
  • 如果客户已经有卡,新卡将作为非默认添加
  • 客户可以在添加后更改默认设置

设置默认支付方式

默认支付方式用于:

  • 自动定期服务收费
  • 发票支付
  • 充值和补充
  • 一次性交易(除非另有说明)

更改默认设置:

  1. 在支付方式表中找到您想设为默认的卡片

  2. 点击卡片旁边的 操作菜单 (⋮)

  3. 选择 “设为默认”

  4. 确认消息出现

    Visa 卡(尾号 5678)现在是您的默认支付方式。

勾选标记移动到新选择的卡片。

视觉指示:

默认卡在:

默认列中显示,通常带有绿色勾选标记徽章。

删除支付方式

移除已过期、丢失或不再需要的卡片。

步骤 1:启动删除

  1. 在支付方式表中找到要删除的卡片
  2. 点击 操作菜单 (⋮)
  3. 选择 “删除”

步骤 2:确认删除

确认模态框出现:

您确定要删除此支付方式吗?

卡片:Visa(尾号 1234)到期:12/2026

⚠️ 警告:如果这是您唯一的支付方式,您需要添加新的支付方式以继续使用需要自动计费的服务。

[取消] [删除支付方式]

点击 “删除支付方式” 以确认。

步骤 3:删除完成

成功消息:

卡片已从表中移除并从 Stripe 删除。

重要限制:

  • 如果存在其他卡,则无法删除默认卡 - 首先将其他卡设为默认
  • 删除最后一张卡时的警告 - 需要支付的服务可能会被暂停
  • 无法撤销 - 删除是永久的;客户如果需要必须重新添加卡片

管理即将到期的卡片

OmniCRM 跟踪卡片到期日期并提供工具以主动更新即将到期的卡片。

即将到期的卡片仪表板

导航到 账单 → 即将到期的卡片 以查看系统范围内的列表:

客户 卡片 到期 天数直到行动 John Smith Visa **1234 02/2025 12 天 更新 Acme Corp MC5678 03/2025 45 天 更新 Jane Doe Amex**9012 01/2025 已过期 更新

即将到期的卡片仪表板

过滤器:

  • 到期范围 - 接下来的 30/60/90 天或已过期
  • 客户类型 - 个人与企业
  • 服务类型 - 按需要支付方式的服务进行过滤

操作:

  • 更新 - 打开客户的支付方式页面以添加新卡
  • 通知 - 向客户发送电子邮件提醒(如果已配置 Mailjet)

到期通知

如果已配置 Mailjet,将自动发送电子邮件:

  • 到期前 60 天 - 第一次提醒
  • 到期前 30 天 - 第二次提醒
  • 到期前 7 天 - 最后警告
  • 到期时 - 卡片已过期通知

客户可以点击电子邮件中的链接通过自助服务门户更新他们的支付方式。

电子邮件模板变量:

Mailjet 模板接收:

  • 客户姓名
  • 卡品牌和后四位数字
  • 到期日期
  • 自助服务支付方式页面的链接

请参见 integrations_mailjet 以获取电子邮件模板配置。

更新即将到期的卡片

推荐工作流程:

  1. 客户收到到期通知电子邮件
  2. 客户登录自助服务门户
  3. 导航到 账单 → 支付方式
  4. 点击 “添加支付方式”
  5. 输入新卡详细信息(相同卡片更新到期,或替换卡片)
  6. 将新卡设为默认
  7. 删除旧的/过期的卡片

员工工作流程:

如果客户拨打支持电话:

  1. 员工打开客户账户
  2. 导航到 账单 → 支付方式
  3. 代表客户添加新卡(客户通过电话提供详细信息)
  4. 将新卡设为默认
  5. 删除过期的卡片
  6. 与客户确认

::: warning ::: title 警告 :::

绝不要要求��户通过电子邮件或短信发送卡片详细信息。始终使用:

  • 安全的自助服务门户进行自助服务
  • 电话由员工直接输入详细信息到系统
  • 在零售地点亲自处理 :::

卡片到期时会发生什么

当支付卡达到到期日期且未更新时:

立即影响:

  1. 自动支付失败
    • Stripe 拒绝使用过期卡的交易
    • 月度服务续订未能处理
    • 自动充值失败
    • 发票自动支付失败
  2. 客户通知
    • 系统尝试向卡片收费
    • 发送支付失败通知
    • 发送“更新支付方式”电子邮件,附带自助服务门户的链接
  3. 服务状态变化
    • 后付费服务 - 可能暂时继续,余额未结清
    • 预付费服务 - 当余额耗尽时服务暂停
    • 自动续订服务 - 续订失败,服务可能到期

后续行动:

第 1-3 天(宽限期):

  • 服务正常继续
  • 客户收到第一次支付失败通知
  • 系统尝试重试(根据配置)

第 4-7 天:

  • 第二次支付尝试(如果配置)
  • 发送警告电子邮件
  • 客户服务可能联系客户

第 8-14 天:

  • 由于未付款,服务可能被暂停
  • 暂停状态阻止使用,但保留账户
  • 客户可以通过��新支付方式并支付未结余额来恢复

第 15 天及以后:

  • 由于未付款,服务可能被终止
  • 库存(SIM 卡、设备)标记为退回
  • 发送最终通知
  • 账户转交催收(如适用)

防止服务中断:

为避免服务中断:

  • 在到期前 30 天 更新卡片
  • 添加多种支付方式以确保冗余
  • 启用支付失败警报
  • 每周监控即将到期的卡片仪表板

到期后恢复服务:

如果由于卡片过期而暂停服务:

  1. 添加新的有效支付方式
  2. 设为默认
  3. 支付未结余额(如有)
  4. 联系支持以重新激活服务
  5. 服务在几分钟到几小时内恢复

支付方式安全性

令牌化

OmniCRM 使用 Stripe 的令牌化来确保安全性:

  1. 客户输入卡片 → 直接发送到 Stripe 服务器
  2. Stripe 验证并令牌化 → 创建唯一令牌
  3. 令牌存储在 OmniCRM → 从不存储完整的卡号
  4. 支付处理 → 令牌发送到 Stripe,Stripe 向卡片收费

OmniCRM 存储的内容:

{
"customer_stripe_id": "pm_1A2B3C4D5E6F",
"brand": "visa",
"last4": "1234",
"exp_month": 12,
"exp_year": 2026,
"name": "John Smith",
"nickname": "Personal Card",
"is_default": true
}

OmniCRM 不存储的内容:

  • 完整卡号
  • CVV/CVC 代码
  • 磁条数据
  • PIN 号码

PCI 合规性

通过使用 Stripe Elements:

  • 减少 PCI 范围 - 卡数据从未触及 OmniCRM 服务器
  • Stripe 托管字段 - 卡片输入发生在 Stripe 的 iframe 中
  • 无卡片存储 - 使用令牌而非原始卡数据
  • 安全传输 - 所有通信通过 HTTPS/TLS

请参见 integrations_stripe 以获取 Stripe 安全详细信息。

常见工作流程

工作流程 1:客户添加第一张支付方式

场景: 新客户注册服务

  1. 客户创建账户
  2. 选择服务计划
  3. 在结账时提示添加支付方式
  4. 在 Stripe 模态框中输入卡片详细信息
  5. 卡片被令牌化并保存
  6. 自动设为默认
  7. 服务被提供
  8. 第一次收费处理

工作流程 2:客户更新即将到期的卡片

场景: 信用卡即将到期

  1. 客户收到电子邮件通知(到期前 60 天)
  2. 登录自助服务门户
  3. 导航到 账单 → 支付方式
  4. 查看当前卡片到期 12/2025
  5. 点击 “添加支付方式”
  6. 输入到期为 12/2028 的替换卡
  7. 将新卡设为默认
  8. 删除旧卡
  9. 发送确认电子邮件

工作流程 3:员工通过电话帮助客户

场景: 客户拨打电话:“我的卡被拒绝”

  1. 客户拨打支持电话
  2. 员工验证身份(安全问题)
  3. 员工检查支付方式:卡片到期 01/2025
  4. 员工:“您的卡已过期。您有新卡吗?”
  5. 客户通过电话提供新卡详细信息
  6. 员工导航到 客户 → [客户] → 账单
  7. 点击 “添加支付方式”
  8. 输入客户读出的卡片详细信息
  9. 将新卡设为默认
  10. 删除过期的卡片
  11. 重试失败的支付
  12. 与客户确认:“支付成功,服务恢复”

工作流程 4:拥有多张卡片的企业客户

场景: 公司希望为不同用途使用不同的卡片

  1. 企业客户添加主卡(Visa 尾号 1111)
  2. 将其设为每月服务收费的默认卡
  3. 添加备用卡(Mastercard 尾号 2222)用于充值
  4. 添加采购卡(Amex 尾号 3333)用于设备采购
  5. 在进行充值时,在结账时手动选择 Mastercard
  6. 默认的 Visa 仍用于自动每月计费

工作流程 5:管理即将到期的卡片(管理员)

场景: 主动管理到期

  1. 管理员导航到 账单 → 即将到期的卡片
  2. 过滤器:“接下来的 30 天”
  3. 看到 15 个客户有即将到期的卡片
  4. 选择全部 → “发送提醒电子邮件”
  5. Mailjet 向每个客户���送个性化电子邮件
  6. 客户通过自助服务更新卡片
  7. 管理员一周后查看列表
  8. 联系尚未更新的剩余客户
  9. 通过电话协助更新卡片

故障排除

“添加支付方式时卡被拒绝”

  • 原因: Stripe 拒绝了卡片(资金不足、欺诈预防、发行者拒绝)
  • 解决方法:
    • 尝试不同的卡片
    • 联系卡片发行者以授权交易
    • 确保卡片支持在线购买
    • 检查账单地址是否与档案中的卡片匹配

“添加支付方式时出错”(通用错误)

  • 原因: Stripe API 错误或网络问题
  • 解决方法:
    • 刷新页面并重试
    • 检查互联网连接
    • 验证 .env 中的 Stripe 可发布密钥是否正确
    • 检查浏览器控制台以获取具体错误消息
    • 尝试不同的浏览器(禁用广告拦截器)

无法删除支付方式(按钮禁用)

  • 原因: 尝试删除默认卡,或者它是唯一的卡片
  • 解决方法:
    • 首先将其他卡设为默认
    • 如果是唯一的卡片,在删除之前添加新卡

卡片显示为过期但不在“即将到期的卡片”列表中

  • 原因: 卡片最近过期,缓存未刷新
  • 解决方法:
    • 刷新页面
    • 检查即将到期的卡片仪表板上的过滤器
    • 过期的卡片可能会移动到不同的视图

新卡未立即出现

  • 原因: 添加卡片后页面未刷新
  • 解决方法:
    • 支付方式表应自动刷新
    • 如果没有,手动刷新浏览器
    • 检查添加过程中是否发生错误

Stripe 模态框无法加载

  • 原因: Stripe.js 库未加载、API 密钥问题或浏览器扩展阻止
  • 解决方法:
    • 检查浏览器控制台中的错误
    • 禁用广告拦截器和跟踪保护
    • 验证 .env 中的 REACT_APP_STRIPE_PUBLISHABLE_KEY
    • 确保加载 Stripe.js 脚本(检查网络标签)
    • 尝试隐身/私人浏览模式

客户未收到到期通知

  • 原因: Mailjet 未配置或电子邮件模板缺失
  • 解决方法:
    • 验证 crm_config.yaml 中的 Mailjet 凭据
    • 检查是否存在卡片到期的电子邮件模板
    • 确认客户电子邮件地址有效
    • 检查 Mailjet 日志以获取投递失败信息

最佳实践

对于客户:

  • 在服务激活之前添加支付方式以避免延误
  • 保持至少 2 张卡片以确保冗余
  • 在到期前 30 天以上更新即将到期的卡片
  • 删除旧的/过期的卡片以避免混淆
  • 使用描述性昵称(“个人 Visa”,“工作 Amex”)
  • 验证默认支付方式是否正确以进行自动计费

对于支持人员:

  • 在访问支付方式之前验证客户身份
  • 绝不要要求客户通过电子邮件/SMS/聊天发送卡片详细信息
  • 在通话期间立即处理卡片添加(不要推迟)
  • 确认新卡在添加后设为默认
  • 仅在确认新卡有效后删除旧卡
  • 更新过期卡片后测试支付(处理 £0.01 授权)

对于管理员:

  • 每周监控即将到期的卡片仪表板
  • 在到期前 60/30/7 天发送提醒电子邮件
  • 为开发与生产分开保留 Stripe 测试/实时密钥
  • 确保 Mailjet 模板已配置以进行到期通知
  • 审查失败的支付报告以识别过期的卡片
  • 培训员工安全处理卡片的程序

安全最佳实践:

  • 仅使用 Stripe 可发布密钥(绝不要在前端使用秘密密钥)
  • 确保所有支付页面通过 HTTPS 加载
  • 定期检查 Stripe 仪表板以发现可疑活动
  • 启用 Stripe 欺诈预防规则
  • 对所有非面对面交易要求 CVC
  • 在活动日志中记录支付方式更改

相关文档

  • integrations_stripe - Stripe 集成设置和配置
  • payments_process - 使用存储支付方式处理支付
  • payments_invoices - 使用默认卡片自动支付发票
  • features_topup_recharge - 使用支付方式的充值系统
  • basics_payment - 一般支付和账单概念
  • customer_care - 客户自助服务门户以管理自己的卡片

支付方式管理界面