如果艾克索拉侧发生了预先配置的事件,可通过Webhook收到即时通知。您可以使用Webhook来自动化应用程序的后端和补充功能。
可收到通知的事件示例:
当配置的事件发生时,艾克索拉会通过webhook通知您的系统。例如,您可以在收到webhook后执行以下操作:
以下是支付处理Webhook工作原理的示例:
必须应用以下设置才能使webhook正常工作:
185.30.20.0/24
、185.30.21.0/24
、185.30.23.0/24
。注意
如果收到的Webhook的交易ID在数据库中已存在,则监听器应返回该次交易的上次处理结果。不推荐向用户重复扣款或在数据库中创建重复记录。
注:
艾克索拉API接受传统HTTP响应代码指示请求是成功还是失败。代码204指示处理成功。
由于网络连接并不总是100%可靠,因此Webhook可能会丢失或延迟。为解决此问题,艾克索拉会重新发送失败的Webhook,直到侦听器收到它们。初始Webhoo k发送之后12小时内会重新发送Webhook,直到侦听器确认接收。最大重试次数为12次。
注:
尽管网络连接可能导致出错,但最有可能导致丢失、延迟或重复Webhook的原因是监听器本身存在逻辑问题。
数字签名可实现安全的数据传输。要生成签名:
POST /your_uri HTTP/1.1
host: your.host
accept: application/json
content-type: application/json
content-length: 165
authorization: Signature 52eac2713985e212351610d008e7e14fae46f902
{
"notification_type":"user_validation",
"user":{
"ip":"127.0.0.1",
"phone":"18777976552",
"email":"email@example.com",
"id":1234567,
"name":"Xsolla User",
"country":"US"
}
}
curl -v 'https://your.hostname/your/uri' \
-X POST \
-H 'authorization: Signature 52eac2713985e212351610d008e7e14fae46f902' \
-d '{
"notification_type":
"user_validation",
"user":
{
"ip": "127.0.0.1",
"phone": "18777976552",
"email": "email@example.com",
"id": 1234567,
"name": "Xsolla User",
"country": "US"
}
}'