Xsolla-logo

Successful payment for order (with payment and transaction details)Webhook POST

エクソーラはユーザーが注文の支払いに成功すると、指定したURLにorder_paidウェブフックを送信します。

order_paidウェブフックには、購入したアイテム、支払いデータ、取引の詳細に関する情報が含まれています。

支払いが成功しなかった場合、order_paidウェブフックは送信されません:

  • 決済フォームは開かれましたが、ユーザーは注文の支払いをしていません
  • 決済フォームが開かれましたが、支払い中にエラーが発生しました

order_paidウェブフックの処理時間は3秒未満にすることをお勧めします。

予想される回答は、「応答」セクションに記載されています。他の応答コードを使用できます。応答コードと自動返金機能の接続に応じて、エクソーラ側のウェブ フック処理ロジックは以下のようになります:

応答コード 自動返金は無効になっています(デフォルト) 自動返金が有効になっています
400401402403404409422415 操作なし ユーザーへの自動返金
200201204 操作なし 操作なし
別のコードまたはウェブフックへの応答なし 指定された時間間隔内に複数のウェブフックが送信されます。5分間隔で2回、15分間隔で7回、60分間隔で10回試行されます。 指定された時間間隔内に複数のウェブフックが送信されます。5分間隔で2回、15分間隔で7回、60分間隔で10回試行されます。すべてのウェブフックが送信されても正常な応答が受信されない場合、ユーザーに自動返金が発行されます。

自動返金機能を接続するには、カスタマーサクセスマネージャーにお問い合わせいただくか、csm@xsolla.comまで電子メールをお送りください。

Request
Request Body schema: application/json
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: is_free, is_bonus, and is_bundle_content. To switch the version, pass its number in the version parameter in the Update information about webhook settings API call.

Array
One of:
sku
required
string

アイテムの一意のID。「game_key」タイプのアイテムの場合、「sku_drm」形式の値が使用されます。

type
required
string

アイテムタイプ。次の値を持つことができます:virtual_goodvirtual_currencygame_keybundle。仮想通貨パッケージを含む「bundle」タイプのアイテムの場合、アイテムの配列は次のように表示されます:

  • バンドルまたは仮想通貨パッケージのパラメータ
  • バンドルに含まれるアイテムまたはパッケージに含まれる通貨
Enum: "virtual_good" "virtual_currency" "game_key" "bundle"
quantity
required
integer

アイテムの数量。

amount
required
string

数量に基づいたアイテムの総コスト。

required
Array of objects

適用されたプロモーション。プロモーションが適用されていない場合は、パラメータに空の配列が渡されます。

Array
amount_with_discount
string

割引なしのアイテムの総コスト。

amount_without_discount
string

割引なしのアイテムの総コスト。

sequence
integer

プロモーションアプリケーションの注文。

is_pre_order
required
boolean

true」の場合、アイテムは先行予約です。

custom_attributes
object

アイテムの属性と値を含むJSONオブジェクト。

required
object

注文に関する情報。

id
required
integer

エクソーラ側でのユーザーの注文の一意の識別子。

mode
required
string

決済モード。defaultは実際の支払いに、sandboxはテスト支払いに使用されます。

Enum: "default" "sandbox"
currency_type
required
string

決済通貨のタイプ。無料注文の場合はunknownの値が指定されています。

Enum: Description
real

実際通貨の場合

unknown

無料注文の場合

virtual

仮想通貨の場合

currency
required
string

注文の通貨。仮想通貨はSKUを使用し、実際通貨は3文字のISO4217コードを使用します。

amount
required
string

選択された通貨に基づくカートの合計金額です。

status
required
string

注文状況。

platform
required
string or null

決済プラットフォーム。xsolla値は、エクソーラを介した決済ソリューションに使用されます。その他の決済ソリューションについては、ゲームパブリッシングプラットフォームの名前に対応する値が使用されます。

Enum: "xsolla" "playstation_network" "xbox_live" "pc_standalone" "nintendo_shop" "google_play" "app_store_ios" "android_standalone" "ios_standalone" "android_other" "ios_other" "pc_other"
comment
required
string or null

注文に対するユーザーのコメント。

invoice_id
required
string or null

実際通貨による支払い請求書ID。仮想通貨の決済また無料アイテムは、nullの値を使用します。

required
Array of objects

適用されたプロモーション。プロモーションが適用されていない場合は、パラメータに空の配列が渡されます。

Array
amount_with_discount
string

割引なしのアイテムの総コスト。

amount_without_discount
string

割引なしのアイテムの総コスト。

sequence
integer

プロモーションアプリケーションの注文。

Array of objects

適用されたクーポン。クーポンが適用されていない場合は、配列は返されません。

Array
code
string

適用されたクーポンのコードです。

external_id
string

External ID。

Array of objects

適用されたプロモーションコード。プロモーションコードが適用されていない場合、配列は返されません。

Array
code
string

適用されたプロモーションコードのコードです。

external_id
string

External ID。

required
object

ユーザー情報。

external_id
required
string

ユーザーID。

email
required
string

ユーザーのメールアドレス。

object

取引と支払いの詳細。

notification_type
required
string

通知タイプ。

required
object

トランザクションの詳細(オブジェクト)。

agreement
integer

契約ID

dry_run
integer

テストトランザクション。パラメータは、テストトランザクションの場合は1つの値を持ち、もしくはトランザクションが実際の場合は送信されません。

external_id
string

取引external ID。詳細についてよくある質問を参照してください。

id
integer

トランザクションID。

payment_date
string

支払日。

payment_method
integer

決済方法のID。

payment_method_name
string

決済方法の名前。

payment_method_order_id
string

決済システムの決済ID。

required
object

支払明細(オブジェクト)。

object

国境を越えた取引により特定の国に課せられる源泉徴収税(オブジェクト)。

amount
number <float>

金額。

currency
string

通貨。ISO 4217に基づく3文字の通貨コード。

percent
number <float>

直接源泉徴収税率(%)。

object

直接源泉徴収税。

amount
number <float>

金額。

currency
string

通貨。ISO 4217に基づく3文字の通貨コード。

percent
number <float>

直接源泉徴収税率。

object

ユーザー(オブジェクト)によって支払われた金額。

amount
number <float>

金額。

currency
string

通貨。ISO 4217に基づく3文字の通貨コード。

object

決済システム料金。

amount
number <float>

金額。

currency
string

通貨。ISO 4217に基づく3文字の通貨コード。

object

決済システムから振り込まれた金額。

amount
number <float>

金額。

currency
string

通貨。ISO 4217に基づく3文字の通貨コード。

object

配当の詳細(オブジェクト)。

amount
number <float>

金額。

currency
string

通貨。ISO 4217に基づく3文字の通貨コード。

payout_currency_rate
string

決済と配当間の為替レート。

object

第三者によってエクソーラに課された本国送還費用に関するデータを含むオブジェクト。

amount
number <float>

金額。

currency
string

通貨。ISO 4217に基づく3文字の通貨コード。

object

売上税(オブジェクト;米国とカナダのみ)。

amount
number <float>

金額。

currency
string

通貨。ISO 4217に基づく3文字の通貨コード。

percent
number <float>

消費税率。

object

アフィリエイトネットワークやインフルエンサー経由での購入から差し引かれた顧客獲得料の総額(オブジェクト)。

amount
number <float>

金額。

currency
string

通貨。ISO 4217に基づく3文字の通貨コード。

percent
number <float>

顧客獲得料率(%)。

object

VATの詳細(オブジェクト;EUのみ)。

amount
number <float>

金額。

currency
string

通貨。ISO 4217に基づく3文字の通貨コード。

percent
number <float>

消費税率。

object

エクソーラ残高から引き落とされる金額。

amount
number <float>

金額。

currency
string

通貨。ISO 4217に基づく3文字の通貨コード。

object

エクソーラ料金(オブジェクト)。

amount
number <float>

金額。

currency
string

通貨。ISO 4217に基づく3文字の通貨コード。

object

購入内容(オブジェクト)。

required
object

購入(オブジェクト)の合計価格。

amount
number <float>

支払額合計。

currency
string

通貨。ISO 4217に基づく3文字の通貨コード。

object

クーポンの詳細(オブジェクト;サブスクリプションの作成時にクーポンが使用された場合)。

campaign_code
string

キャンペーンコード。

coupon_code
string

クーポンコードです。

object

贈り物の詳細(オブジェクト)。

giver_id
string

贈り主のID。

hide_giver_from_receiver
string

贈り主の情報を受取り側に公開するかどうか。

message
string

贈り主からのメッセージ。

receiver_email
string

贈り物を受け取る人のメールアドレス。

receiver_id
string

贈り物の受取人のID。

Array of objects

このトランザクションに適用されるプロモーション。

Array
id
integer

プロモーションID。

technical_name
string

プロモーションの名称。

object

サブスクリプションの詳細(オブジェクト)。

amount
number <float>

現金通貨での価格。

currency
string

通貨。ISO 4217に基づく3文字の通貨コード。

date_create
string

サブスクリプション作成日。日付時刻表記は、ISO 8601形式。

date_next_charge
string

次の請求日。日付時刻表記は、ISO 8601形式。

plan_id
string

プランID(プランがAPIを使用して作成された場合は外部)。

product_id
string

製品ID(アクセストークンで送信された場合)。

subscription_id
integer

エクソラデータベースのサブスクリプションID。

tags
Array of strings

プランのタグ。

object

カスタムプロジェクト設定(オブジェクト)。

merchant_id
integer

マーチャントID。

project_id
integer

プロジェクトID。このパラメータは、ドメインページのプロジェクト名の横にあります。

custom_parameters
object

追加情報。

Responses
200

処理が成功したことを示すために戻ります。

400

提供された情報(たとえば、必須なパラメータの欠落、認証の失敗など。)にエラーが発生した場合に戻ります。

Request samples
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"
          }
      }
   }
}'