实现
安全性
艾克索拉采用以下安全措施:
注:
API密钥由艾克索拉生成,每个提供商均获得唯一密钥。
头
来自艾克索拉的请求包含以下请求头:
| 头 | 描述 | 必需 |
|---|---|---|
Request-Id | 唯一请求ID。 | 是。 |
Content-Digest | 请求正文的校验和值。 | 有请求正文时必需。 |
Signature-Input | 用于生成签名的参数。 | 是。 |
Signature | 请求签名。 | 是。 |
Prefer | 附加数据,例如environment=“sandbox”。 | 否。 |
注:
您发送给艾克索拉的webhook必须包含相同的头。
传入请求验证
接收艾克索拉请求时:
- 从
Signature-Input请求头中的keyid值提取对应密钥。 - 验证
created/expires时间窗口有效性。 - 获取请求正文内容。
- 根据
Signature-Input重建签名字符串,并使用HMAC-SHA256验证签名。
Copy
- http
1sig1=("@method" "@target-uri" "content-digest" "request-id");alg="hmac-sha256";created=1700000000;expires=1700000600;keyid="acc_123"
- 通过
Request-Id在日志中查找请求记录。
必需功能
成功集成至少需实现以下API方法:
| 方法 | 路径 | 描述 |
|---|---|---|
| POST | /v1/payments | 创建支付。返回action对象。 |
| PATCH | /v1/payments/{transaction_id} | 当返回action.type=confirm时确认支付。 |
| GET | /v1/payments/{transaction_id} | 获取当前支付状态。 |
payment.succeeded— 支付成功payment.failed— 支付失败payment.refunded— 退款
注:
详细的API方法和Webhook说明请参阅规范文档。
本文对您的有帮助吗?
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。