当用户订单支付成功时艾克索拉发送order_paid
webhook到指定的URL。
order_paid
webhook包含所购商品、付款数据和交易详细信息。
如果付款不成功,则不会发送order_paid
webhook,例如:
建议order_paid
webhook的处理时间小于3秒。
响应部分描述了预期的回答。您可以使用其他响应代码。根据响应码和自动退款功能的连接,艾克索拉侧的webhook处理逻辑如下:
响应代码 | 禁用了自动退款(默认) | 启用了自动退款 |
---|---|---|
400 、401 、402 、403 、404 、409 、422 、415 |
无操作 | 自动退款给用户 |
200 、201 、204 |
无操作 | 无操作 |
不同代码或对webhook无响应 | 在指定的时间间隔内发送多个webhook:2次间隔5分钟的尝试,7次间隔15分钟的尝试,10次间隔60分钟的尝试。 | 在指定的时间间隔内发送多个webhook:2次间隔5分钟的尝试,7次间隔15分钟的尝试,10次间隔60分钟的尝试。如果发送了所有webhook后仍未收到成功响应,则会向用户自动退款。 |
要连接自动退款功能,请联系您的客户成功经理或发送电子邮件至csm@xsolla.com。
notification_type required | string 通知类型。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
required | Array of version = 1 (object) or version = 2 (object) 用户所购商品的列表。 The set of parameters included in the array depends on the webhook version.
Version 2 includes additional parameters: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array One of: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
required | object 订单信息。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
required | object 用户信息。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object 交易和付款详细信息。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
custom_parameters | object 附加信息。 |
返回以指示处理成功。
提供的信息出错时返回(例如,缺少必需的参数、授权失败等)。
curl -v 'https://your.hostname/your/uri' \ -X POST \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -H 'Authorization: Signature d09695066c52c1b8bdae92f2d6eb59f5b5f89843' \ -d '{ "notification_type": "order_paid", "items": [ { "sku": "com.xsolla.item_1", "type": "virtual_good", "is_pre_order": false, "quantity": 3, "amount": "1000", "promotions": [ { "amount_without_discount": "6000", "amount_with_discount": "5000", "sequence": 1 }, { "amount_without_discount": "5000", "amount_with_discount": "4000", "sequence": 2 } ], "custom_attributes": { "purchased": 0, "attr": "value" } }, { "sku": "com.xsolla.item_new_1", "type": "bundle", "is_pre_order": false, "quantity": 1, "amount": "1000", "promotions": [] }, { "sku": "com.xsolla.gold_1", "type": "virtual_currency", "is_pre_order": false, "quantity": 1500, "amount": "[null]", "promotions": [] } ], "order": { "id": 1, "mode": "default", "currency_type": "virtual", "currency": "sku_currency", "amount": "2000", "status": "paid", "platform": "xsolla", "comment": null, "invoice_id": "1", "promotions": [ { "amount_without_discount": "4000", "amount_with_discount": "2000", "sequence": 1 } ], "promocodes": [ { "code": "promocode_some_code", "external_id": "promocode_sku" } ], "coupons": [ { "code": "WINTER2021", "external_id": "coupon_sku" } ] }, "user": { "external_id": "id_xsolla_login_1", "email": "gc_user@xsolla.com" }, "billing": { "notification_type": "payment", "settings": { "project_id": 18404, "merchant_id": 2340 }, "purchase": { "subscription": { "plan_id": "b5dac9c8", "subscription_id": "10", "product_id": "Demo Product", "date_create": "2014-09-22T19:25:25+04:00", "date_next_charge": "2014-10-22T19:25:25+04:00", "currency": "USD", "amount": 9.99 }, "total": { "currency": "USD", "amount": 200 }, "promotions": [{ "technical_name": "Demo Promotion", "id": 853 }], "coupon": { "coupon_code": "ICvj45S4FUOyy", "campaign_code": "1507" }, "transaction": { "id": 1, "external_id": 1, "payment_date": "2014-09-24T20:38:16+04:00", "payment_method": 1, "payment_method_name": "PayPal", "payment_method_order_id": 1234567890123456789, "dry_run": 1, "agreement": 1 }, "payment_details": { "payment": { "currency": "USD", "amount": 230 }, "vat": { "currency": "USD", "amount": 0, "percent": 20 }, "sales_tax": { "currency": "USD", "amount": 0, "percent": 0 }, "direct_wht": { "currency": "USD", "amount": 0, "percent": 0 }, "payout_currency_rate": "1", "payout": { "currency": "USD", "amount": 200 }, "country_wht": { "currency": "USD", "amount": 2, "percent": 10 }, "user_acquisition_fee": { "currency": "USD", "amount": 2, "percent": 1 }, "xsolla_fee": { "currency": "USD", "amount": 10 }, "payment_method_fee": { "currency": "USD", "amount": 20 }, "repatriation_commission": { "currency": "USD", "amount": 10 } }, "custom_parameters": { "parameter1": "value1", "parameter2": "value2" } } } }'