跳到主要内容

Authorize.Net 配置指引

本指引将逐步说明如何获取 Authorize.Net 凭据、配置 Authorize.Net Webhook,以及在 EFundPay Dashboard 中保存渠道连接。

你需要从同一个 Authorize.Net 账户和环境中获取以下三个值:

EFundPay 字段Authorize.Net 中的值用途
API Login IDAPI Login ID在 API 请求中标识 Authorize.Net 商户账户。
Transaction KeyTransaction Key对支付、查询、退款和撤销 API 请求进行身份验证。
Webhook Signature KeySignature Key校验 Authorize.Net Webhook 通知中的 X-ANET-Signature 请求头。
请妥善保管凭据

API Login ID、Transaction Key 和 Signature Key 均属于凭据信息。请勿将其放入截图、工单、聊天消息、客户端代码或代码仓库。

1. 选择正确的环境

请登录与 EFundPay 连接环境一致的 Authorize.Net 商户后台:

沙盒和生产账户使用不同的凭据。沙盒凭据无法用于 EFundPay 的 PRODUCTION 连接,生产凭据也无法用于 SANDBOX 连接。

2. 打开 API Credentials and Keys

在 Authorize.Net 商户后台中:

  1. 在左侧导航中打开 Account
  2. 选择 Account and API Settings
  3. 选择 API Credentials and Keys

依次打开 Account and API Settings 和 API Credentials and Keys

3. 复制 API Login ID 并生成 Transaction Key

API Credentials and Keys 页面中:

  1. 复制页面显示的 API Login ID
  2. Transaction Key 区域选择 Generate New Transaction Key
  3. 如果 Authorize.Net 要求验证身份,请按页面提示完成验证。
  4. Transaction Key 显示后,立即复制完整的密钥。

查找 API Login ID 并生成 Transaction Key

密钥轮换

生成新的 Transaction Key 可能导致现有集成使用的旧密钥失效。修改生产密钥前请先安排好轮换,并立即更新 EFundPay 连接。

4. 生成 Webhook Signature Key

在同一页面向下滚动到 Signature Key,选择 Generate New Signature Key。如有需要,请完成身份验证,然后复制完整的密钥。

生成新的 Signature Key

在 EFundPay 中填写密钥本身,不要添加 Authorize.Net X-ANET-Signature 请求头中的 sha512= 前缀。正确的 Signature Key 是长度为 128 个字符的十六进制字符串。

5. 配置 EFundPay 必需的 Webhook 通知地址

EFundPay 依赖 Authorize.Net Webhook 校验并处理异步的支付、退款和撤销结果。即使 API 凭据已经保存,也必须完成此步骤。

在 Authorize.Net 商户后台中:

  1. 返回 AccountAccount and API Settings
  2. 向下滚动到 Webhook Notifications,选择 Webhooks

在 Account and API Settings 中打开 Webhooks

  1. 选择 Create a webhook notification
  2. 将通知地址完整填写为:
https://notify.efundpay.com/authorize/webhooks
  1. 将通知状态设置为 Active
  2. 订阅以下事件:
Authorize.Net 事件类型EFundPay 用途
net.authorize.payment.authcapture.created确认授权并扣款成功的支付。
net.authorize.payment.refund.created确认已结算交易的退款。
net.authorize.payment.void.created确认未结算交易已撤销。

如果后台支持一次选择多个事件,请在一条通知中选择以上三个事件;如果每条通知只能选择一个事件,请创建三条启用状态的通知,并为它们填写相同的 EFundPay 通知地址。

必须使用 EFundPay 通知地址

请完整填写 https://notify.efundpay.com/authorize/webhooks

保存后,请确认通知状态为 Active,且 Endpoint URL 显示的是 EFundPay 地址。

确认 Authorize.Net Webhook 已启用并使用 EFundPay 通知地址

6. 在 EFundPay Dashboard 中保存连接

在 EFundPay Dashboard 中打开 连接你的连接,找到 Authorize.Net,然后选择 配置。按下表填写:

Dashboard 字段填写内容
准入主体名称便于团队识别账户的名称,例如 美国沙盒 - Authorize.Net
环境SANDBOXPRODUCTION,必须与步骤 1 登录的 Authorize.Net 商户后台一致。
支付方式选择 Card
卡品牌仅选择该 Authorize.Net 商户账户已经开通的卡品牌。
API Login ID步骤 3 中复制的 API Login ID。
Transaction Key步骤 3 中生成的 Transaction Key。
Webhook Signature Key步骤 4 中生成的 Signature Key。

选择 保存。编辑现有连接时,不修改已掩码的密钥字段即可保留原值。仅在确实需要移除并替换凭据时勾选 Clear saved value

7. 验证配置

正式上线前,请完成以下检查:

  1. 确认 EFundPay 连接已保存到正确的商户账户和环境。
  2. 确认所有必需的 Authorize.Net Webhook 通知均为 Active,并指向 EFundPay 通知地址。
  3. 创建一笔沙盒交易,并确认 Authorize.Net 发送 Webhook 后,交易状态能够在 EFundPay 中更新。
  4. 测试撤销;待沙盒交易满足退款条件后,再测试退款。
  5. 切换 EFundPay 连接到 PRODUCTION 前,在生产 Authorize.Net 账户中重新完成凭据和 Webhook 配置。

常见问题

现象检查项
身份验证失败环境、API Login ID 和 Transaction Key 必须来自同一个 Authorize.Net 账户。
收不到 Webhook通知状态必须为 Active,必须选择对应事件,并且通知地址必须是 https://notify.efundpay.com/authorize/webhooks
Webhook 验签失败重新生成或复制 Signature Key,去除空格且不要包含 sha512=,然后更新 EFundPay 的 Webhook Signature Key
支付状态能更新,但退款或撤销状态不更新添加并启用上表中的 refund.createdvoid.created 事件订阅。
收到重复通知检查是否为同一事件和地址创建了重复的启用通知。Authorize.Net 在未收到成功响应时也可能重试通知。

如需了解渠道能力,请参阅 Authorize.Net 概述

Powered by Docusaurus