엑솔라는 사용자가 주문에 대한 결제를 성공적으로 완료하면 지정된 URL로 order_paid
웹훅을 전송합니다.
order_paid
웹훅에는 구매한 아이템, 결제 데이터 및 거래 세부 정보에 대한 정보가 포함되어 있습니다.
결제가 성공하지 못한 경우 order_paid
웹훅이 전송되지 않습니다. 예:
order_paid
웹훅의 처리 시간은 3초 이내로 하는 것이 좋습니다.
응답 섹션에서 예상 답변을 볼 수 있습니다. 다른 응답 코드를 사용할 수도 있습니다. 응답 코드 및 자동 결제 환불 기능 연결에 따른 엑솔라 측의 웹훅 처리 로직은 다음과 같습니다.
응답 코드 | 자동 결제 환불이 비활성화됨(기본값) | 자동 결제 환불이 비활성화됨 |
---|---|---|
400 , 401 , 402 , 403 , 404 , 409 , 422 , 415 |
작업 없음 | 사용자에게 자동 환불 |
200 , 201 , 204 |
작업 없음 | 작업 없음 |
웹훅에 다른 코드 또는 응답 없음 | 5분 간격으로 2번, 15분 간격으로 7번, 60분 간격으로 10번 등 지정한 시간 간격으로 웹훅을 여러 번 전송합니다. | 5분 간격으로 2번, 15분 간격으로 7번, 60분 간격으로 10번 등 지정한 시간 간격으로 웹훅을 여러 번 전송합니다. 모든 웹훅을 전송해도 응답을 성공적으로 받지 못하면 사용자에게 환불이 자동으로 이루어집니다. |
자동 환불 기능을 연결하려면 고객 성공 관리자에게 문의하거나 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" } } } }'