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(自动清算所) 是美国银行账户之间使用的电子资金转账系统。

若希望客户使用 ACH 付款,请先注册 Authorize.Net eCheck 服务。eCheck 激活后,在 Odoo 中复制之前配置好的 Authorize.Net 支付提供商:进入 Accounting --> Configuration --> Payment Providers --> Authorize.Net,点击齿轮图标()并选择 Duplicate(复制)。将新提供商的名称修改为区分两者(例如 Authorize.Net - Banks)。

准备就绪后,将提供商的 State(状态)设为 Enabled(启用)用于正式账户,或设为 Test Mode(测试模式)用于沙箱账户。

::: 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 1Report 2 工作表的 Transit(中转)行会自动填充并同步到 transit for report 1transit for report 2 工作表。请确保所有行均已生成,如有缺失,复制已有行的公式粘贴到空白行。

:::: important ::: title 重要 :::

为获取正确的期末余额,不要删除 Excel 表中的任何行。 ::::

将数据导入 Odoo 的步骤如下:

  1. 打开 Excel 导入模板
  2. transit for report 2 工作表中的数据复制,使用 粘贴特殊(仅粘贴值)到 Odoo Import to CSV 工作表。
  3. 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
  4. 对于 合并的拒付/退货,同样在模板中为每张发票新增一行。
  5. 删除所有 零金额交易作废交易 行,并将 Amount(金额)列的格式改为 Number(数字)。
  6. 再次返回 eCheck.Net Settlement Statement --> Search for a Transaction,使用相同的批次日期进行搜索,核对 Odoo Import to CSV 工作表中 Date(日期)列是否与 eCheck.Net 的批次结算日期匹配。若不匹配,使用 eCheck.Net 的日期替换,并确保日期格式为 MM/DD/YYYY
  7. Odoo Import to CSV 工作表(含列标题)的全部数据复制到一个新建的 Excel 文件中,并另存为 CSV 格式。
  8. 打开 Odoo 的 Accounting(会计)应用,进入 Configuration --> Journals,勾选 Authorize.Net,然后点击 Favorites --> Import records --> Load file,选择刚才的 CSV 文件并上传。

:::: tip ::: title 提示 :::

eCheck.Net 退货代码列表 ::::