Authorize.Net 配置指引
本指引将逐步说明如何获取 Authorize.Net 凭据、配置 Authorize.Net Webhook,以及在 EFundPay Dashboard 中保存渠道连接。
你需要从同一个 Authorize.Net 账户和环境中获取以下三个值:
| EFundPay 字段 | Authorize.Net 中的值 | 用途 |
|---|---|---|
API Login ID | API Login ID | 在 API 请求中标识 Authorize.Net 商户账户。 |
Transaction Key | Transaction Key | 对支付、查询、退款和撤销 API 请求进行身份验证。 |
Webhook Signature Key | Signature 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 商户后台中:
- 在左侧导航中打开 Account。
- 选择 Account and API Settings。
- 选择 API Credentials and Keys。

3. 复制 API Login ID 并生成 Transaction Key
在 API Credentials and Keys 页面中:
- 复制页面显示的 API Login ID。
- 在 Transaction Key 区域选择 Generate New Transaction Key。
- 如果 Authorize.Net 要求验证身份,请按页面提示完成验证。
- Transaction Key 显示后,立即复制完整的密钥。

生成新的 Transaction Key 可能导致现有集成使用的旧密钥失效。修改生产密钥前请先安排好轮换,并立即更新 EFundPay 连接。
4. 生成 Webhook Signature Key
在同一页面向下滚动到 Signature Key,选择 Generate New Signature Key。如有需要,请完成身份验证,然后复制完整的密钥。

在 EFundPay 中填写密钥本身,不要添加 Authorize.Net X-ANET-Signature 请求头中的 sha512= 前缀。正确的 Signature Key 是长度为 128 个字符的十六进制字符串。
5. 配置 EFundPay 必需的 Webhook 通知地址
EFundPay 依赖 Authorize.Net Webhook 校验并处理异步的支付、退款和撤销结果。即使 API 凭据已经保存,也必须完成此步骤。
在 Authorize.Net 商户后台中:
- 返回 Account → Account and API Settings。
- 向下滚动到 Webhook Notifications,选择 Webhooks。

- 选择 Create a webhook notification。
- 将通知地址完整填写为:
https://notify.efundpay.com/authorize/webhooks
- 将通知状态设置为 Active。
- 订阅以下事件:
| Authorize.Net 事件类型 | EFundPay 用途 |
|---|---|
net.authorize.payment.authcapture.created | 确认授权并扣款成功的支付。 |
net.authorize.payment.refund.created | 确认已结算交易的退款。 |
net.authorize.payment.void.created | 确认未结算交易已撤销。 |
如果后台支持一次选择多个事件,请在一条通知中选择以上三个事件;如果每条通知只能选择一个事件,请创建三条启用状态的通知,并为它们填写相同的 EFundPay 通知地址。
请完整填写 https://notify.efundpay.com/authorize/webhooks。
保存后,请确认通知状态为 Active,且 Endpoint URL 显示的是 EFundPay 地址。

6. 在 EFundPay Dashboard 中保存连接
在 EFundPay Dashboard 中打开 连接 → 你的连接,找到 Authorize.Net,然后选择 配置。按下表填写:
| Dashboard 字段 | 填写内容 |
|---|---|
| 准入主体名称 | 便于团队识别账户的名称,例如 美国沙盒 - Authorize.Net。 |
| 环境 | SANDBOX 或 PRODUCTION,必须与步骤 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. 验证配置
正式上线前,请完成以下检查:
- 确认 EFundPay 连接已保存到正确的商户账户和环境。
- 确认所有必需的 Authorize.Net Webhook 通知均为 Active,并指向 EFundPay 通知地址。
- 创建一笔沙盒交易,并确认 Authorize.Net 发送 Webhook 后,交易状态能够在 EFundPay 中更新。
- 测试撤销;待沙盒交易满足退款条件后,再测试退款。
- 切换 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.created 和 void.created 事件订阅。 |
| 收到重复通知 | 检查是否为同一事件和地址创建了重复的启用通知。Authorize.Net 在未收到成功响应时也可能重试通知。 |
如需了解渠道能力,请参阅 Authorize.Net 概述。