Authorize.Net 在线支付集成指南 – Odoo 配置、ACH 支付与对账导入
Authorize.Net
Authorize.Net 是一家位于美国的在线支付解决方案提供商,帮助企业接受 信用卡 付款。
配置
::: seealso
payment_providers/add_new:::
凭证标签
Odoo 需要您的 API 凭证与密钥 来连接 Authorize.Net 账户,具体包括:
- API 登录 ID:用于唯一标识 Authorize.Net 账户的 ID。
- API 交易密钥
- API 签名密钥
- API 客户端密钥
获取方式:登录 Authorize.Net 账户,依次进入 Account --> Settings --> Security Settings --> API Credentials & Keys,生成 Transaction Key(交易密钥)和 Signature Key(签名密钥),并将其粘贴到 Odoo 对应字段。随后点击 Generate Client Key(生成客户端密钥)。
:::: important ::: title 重要 :::
要使用 sandbox(沙箱)账户测试 Authorize.Net,请将 State(状态)切换为 Test Mode(测试模式)。建议在测试 Odoo 数据库中进行,而非在正式库上操作。
如果在常规账户上启用 Test Mode,会出现错误:The merchant login ID or password is invalid or the account is inactive(商户登录 ID 或密码无效,或账户已停用)。
::::
配置标签
对卡片进行预授权
使用 Authorize.Net 时,可启用 manual capture(手动捕获)功能 <payment_providers/manual_capture>。开启后,资金将在客户卡片上保留 30 天,但尚未实际扣款。
:::: warning ::: title 警告 :::
30 天后,该交易会被 Authorize.Net 自动作废(void)。 ::::
::: seealso
../payment_providers:::
ACH 支付(仅限美国) {#authorize/ach_payments}
ACH(自动清算所) 是美国银行账户之间使用的电子资金转账系统。
配置
若希望客户使用 ACH 付款,请先注册 Authorize.Net eCheck 服务。eCheck 激活后,在 Odoo 中复制之前配置好的 Authorize.Net 支付提供商:进入 Accounting --> Configuration --> Payment Providers --> Authorize.Net,点击齿轮图标(⛭)并选择 Duplicate(复制)。将新提供商的名称修改为区分两者(例如 Authorize.Net - Banks)。
准备就绪后,将提供商的 State(状态)设为 Enabled(启用)用于正式账户,或设为 Test Mode(测试模式)用于沙箱账户。
导入 Authorize.Net 对账单
从 Authorize.Net 导出
::: admonition
Template 下载 Excel 导入模板。 <authorize/authorize-net-magic-sheet.xlsx> :::
- 登录 Authorize.Net。
- 前往
Account --> Statements --> eCheck.Net Settlement Statement。 - 使用一次 开启批次 与 关闭批次 的结算区间定义导出范围。该范围内的所有交易将被导出至 Odoo。
- 选中所需范围内的全部交易,复制后粘贴到
Excel 导入模板中的Report 1 Download工作表。
::: example {.align-center} 在本例中,2021 年第一批(01/01/2021)属于 2020/12/31 的结算,因此 开启 结算日期为 2020/12/31。 :::
将数据填入 Report 1 Download 工作表后:
- 前往 Authorize.Net 的
Transaction Search(交易搜索)标签。 - 在
Settlement Date(结算日期)区域,填写前述批次的起止日期并点击Search(搜索)。 - 列表生成后,点击
Download to File(下载文件)。 - 在弹窗中选择
Expanded Fields with CAVV Response/Comma Separated,勾选Include Column Headings,然后点击Submit(提交)。 - 打开下载的文本文件,全选复制并粘贴到
Excel 导入模板的Report 2 Download工作表。
Report 1 与 Report 2 工作表的 Transit(中转)行会自动填充并同步到 transit for report 1 与 transit for report 2 工作表。请确保所有行均已生成,如有缺失,复制已有行的公式粘贴到空白行。
:::: important ::: title 重要 :::
为获取正确的期末余额,不要删除 Excel 表中的任何行。 ::::
导入 Odoo
将数据导入 Odoo 的步骤如下:
- 打开
Excel 导入模板。 - 将
transit for report 2工作表中的数据复制,使用 粘贴特殊(仅粘贴值)到Odoo Import to CSV工作表。 - 在
Odoo Import to CSV工作表中查找 蓝色 单元格——这些是没有参考号的 Chargeback(拒付)记录。需在 Authorize.Net 中手动补充标签:- 前往
Authorize.Net --> Account --> Statements --> eCheck.Net Settlement Statement。 - 找到
Charge Transaction/Chargeback,点击后复制发票描述。 - 将描述粘贴到
Odoo Import to CSV工作表的Label列,并在前面加上[Chargeback /]前缀。 - 若有多笔发票,需在
Excel 导入模板中为每笔发票新增一行,并分别填入对应的Label。
- 前往
- 对于 合并的拒付/退货,同样在模板中为每张发票新增一行。
- 删除所有 零金额交易 与 作废交易 行,并将
Amount(金额)列的格式改为 Number(数字)。 - 再次返回
eCheck.Net Settlement Statement --> Search for a Transaction,使用相同的批次日期进行搜索,核对Odoo Import to CSV工作表中Date(日期)列是否与 eCheck.Net 的批次结算日期匹配。若不匹配,使用 eCheck.Net 的日期替换,并确保日期格式为 MM/DD/YYYY。 - 将
Odoo Import to CSV工作表(含列标题)的全部数据复制到一个新建的 Excel 文件中,并另存为 CSV 格式。 - 打开 Odoo 的 Accounting(会计)应用,进入
Configuration --> Journals,勾选Authorize.Net,然后点击Favorites --> Import records --> Load file,选择刚才的 CSV 文件并上传。
:::: tip ::: title 提示 :::
eCheck.Net 退货代码列表 ::::