Xsolla-logo

購入用の決済トークンを作成するServer-side

post/v3/project/{project_id}/admin/payment/token

注文とその支払いトークンを生成します。注文はリクエストボディに渡されたアイテムに基づいて生成されます。

決済UIを新しいウィンドウで開くには、次のリンクを使用します:https://secure.xsolla.com/paystation4/?token={token}。そこで、{token}は受信したトークンです。

テスト目的では、次のURLを使用します:https://sandbox-secure.xsolla.com/paystation4/?token={token}

通知

user.country.valueパラメータは、注文の通貨を選択するために使用されます。ユーザーの国が不明な場合は、 X-User-IpヘッダーにユーザーのIPを指定することもできます。
この方法の正しい動作には、これら2つのオプションのいずれかが必要です。
選択した通貨は、ペイステーションでの決済方法に使用されます。
SecuritybasicAuth
Request
path Parameters
project_id
required
integer

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

Example: 44056
Request Body schema: application/json
required
object
required
object
value
string [ 1 .. 255 ] characters

ユーザーID。テストでは、任意の値を渡すことができます。実際の支払いを受け入れるには、システムのユーザーID値を使用する必要があります。このIDはユーザー認証ウェブフックで渡されます。

age
integer

ユーザーの年齢。

attributes
object [ 1 .. 100 ] items

キー値ペアの有効なJSONセットとして表される、アイテムリストをフィルタリングするためのユーザー属性。

object
allow_modify
boolean
Default: false

ユーザーが決済UIで国を変更できるかどうか。

value
string

ISO 3166-1 alpha-2に従った2文字の大文字の国名コード。X-User-IpヘッダーにIPアドレスが渡されない場合は必須です。エクソーラがサポートする国の詳細情報については、ドキュメンテーションを確認してください。
例:country=US

object
value
string <email> [ 3 .. 255 ] characters

ユーザーのメールアドレス。RFC822プロトコルに基づく有効である必要があります。

is_legal
boolean

ユーザーが法人かを示します。

object

法人情報を含むオブジェクトです。user.is_legaltrueの場合は、オブジェクトとその全パラメーターが必要です。

address
string

最後まで記載した法的住所です。

country
string

設立国。ISO 3166-1 alpha-2に従って大文字2文字の国コードを使用します。

name
string

法人のフルネームです。

vat_id
string

納税者個別のID。

object
value
string [ 1 .. 255 ] characters

ユーザーのスクリーンネーム。

object
value
required
string

ユーザーの電話番号。

allow_modify
boolean
Default: false

ユーザーが決済UIで電話を変更できるかどうか。トークンに phone.value が渡された場合、デフォルトではfalseとなります。

hidden
boolean
Default: true
object
value
required
string = 17 characters ^\d{17}$

Steam ID。

object
value
required
string = 32 characters ^[A-Za-z0-9]{32}$

一意の追跡ID(マーケティングキャンペーンで使用)。

object

トラフィック属性。

utm_campaign
string

カタカナ表記、または英語に翻訳されたキャンペーンのタイトル。

utm_content
string

キャンペーンのコンテンツ。

utm_medium
string

トラフィックチャネル(コンテンツ広告、メディア広告、Eメールリストなど)。

utm_source
string

トラフィックソース。

utm_term
string

キャンペーンキーワード。設定すると、統計は特定の検索クエリではなく広告ターゲティングに使用されるキーワードに基づきます。Googleアナリティクスでは、指定されたutm_termは一般検索語句レポートの一部です。

required
object
required
Array of objects non-empty
Array (non-empty)
sku
required
string non-empty

一意のアイテムID。SKUには、英小文字、ピリオド、ダッシュ、およびアンダースコアのみが含まれます。

quantity
required
number >= 1

アイテムの数量。

object or null [ 1 .. 200 ] properties

キーと値のペアの有効なJSONセットとして表されたカスタムパラメータ。
このフィールドを通じて追加のパラメータを渡すことで、不正対策フィルターを設定することができます。決済ステーションに関するドキュメンテーションをご覧ください

additional property
string or integer or number or boolean
One of:
string
sandbox
boolean
Default: false

支払い処理をテストする場合は、trueに設定します。この場合、https://sandbox-secure.xsolla.comを使用してテスト決済UIにアクセスします。

object

ユーザーの決済プロセスと決済UIを構成するための設定。

currency
string

ご希望の決済通貨。ISO 4217に従った3文字の通貨コード。エクソーラがサポートする通貨の詳細については、ドキュメンテーションを参照してください。

external_id
string [ 1 .. 255 ] characters

トランザクションexternal ID。

language
string

インターフェース言語。小文字の2文字言語コード

payment_method
integer >= 1

決済方法ID。

object
delay
integer

ユーザーが自動的に戻り先URLにリダイレクトされるまでの遅延期間。

redirect_button_caption
string

ローカライズされたリダイレクトボタンのキャプション。

redirect_conditions
string

ユーザーがリターンURLにリダイレクトする引き金となる決済状態。

Enum: "none" "successful" "successful_or_canceled" "any"
status_for_manual_redirection
string

ユーザーをリターンURLにリダイレクトしてボタンクリックの表示をトリガーする決済状態。

Enum: "none" "vc" "successful" "successful_or_canceled" "any"
return_url
string <uri> <= 1000 characters

ページを使用して決済後にユーザーをリダイレクトします。パラメーターuser_idforeigninvoiceinvoice_idstatusは、自動的にリンクに追加されます。

object

インターフェイス設定。

currency_format
string

codeに設定すると、決済UIに3 文字のISO 4217通貨コードが表示されます。 デフォルトでは、3文字の通貨コードの代わりに通貨記号が表示されます。

object

デスクトップ版のインターフェース設定。

object

ヘッダー設定。

close_button
boolean
Default: false

デスクトップ決済UIに閉じるボタンを表示するかどうか。このボタンは決済UIを閉じて、settings.return_urlパラメータで指定したURLにリダイレクトします。デフォルトはfalseです。

is_visible
boolean

決済インターフェースにヘッダーを表示するかどうかを示します。

type
string
Default: "normal"

ヘッダーを表示する方法。compact(プロジェクト名とユーザーIDを隠す)またはnormal(デフォルト)に指定できます。

Enum: "compact" "normal"
visible_logo
boolean

true の場合、ロゴはヘッダーに表示されます。画像をアップロードするには、Publisher Account でプロジェクトを開き、Pay Station > Settings セクション にアクセスしてください。

visible_name
boolean

ヘッダーにプロジェクト名を表示するかどうかを示します。

visible_purchase
boolean
Default: true

ヘッダーに購入説明(purchase.description.value)を表示するか示します。デフォルトはtrueです。

object
visible_virtual_currency_balance
boolean
Default: true

この要素を決済インターフェースで非示にできるかどうかを示します。

is_cart_open_by_default
boolean
Default: false

モバイル版の決済UIを開いた時のカート内のアイテムリストの表示。trueの場合、リストは拡張ビューで表示されます。false(デフォルト)またはパラメータが渡されない場合、リストは折りたたまれたビューで表示されます。

is_independent_windows
boolean
Default: false

埋め込みランチャーのブラウザ(WebView)から、ユーザーのデフォルトのブラウザにリダイレクトして購入させるかどうか。

is_payment_methods_list_mode
boolean
Default: false

決済UIを開く際に、ユーザーの国で利用可能な決済方法のリストを表示するかどうか。falseの場合(デフォルト)、settings.payment_methodパラメータで渡された決済方法、またはPayRankアルゴリズムで選択された方法が表示されます。

is_prevent_external_link_open
boolean
Default: false

リンクを外部リソースにリダイレクトするかどうかを無効にします。外部リンクをクリックすると、external-link-openイベントがpostMessageメカニズムを介して送信されます。urlパラメータには、リダイレクト先のリンクのアドレスが渡されます。

is_show_close_widget_warning
boolean
Default: true

支払いページを閉じる前に、×アイコンの上にカーソルを置いたときに取引処理に関する警告を表示するかどうか。falseが渡された場合、またはパラメータが渡されなかった場合、警告は表示されません。

is_three_ds_independent_windows
boolean
Default: false

3-Dセキュアチェックを新しいブラウザウィンドウで開くかどうか。コンテンツセキュリティポリシー(CSP)を使用している場合は、trueを渡します。

layout
string

決済UIの主要要素の位置。ゲーム内で決済UIを開いたり、注文や決済方法に関する情報の列を入れ替えたりすることができます。詳細については、カスタマイズに関する説明を参照してください。

Enum: "embed" "column_reverse" "embed_column_reverse"
object
object
close_button
boolean
Default: false

モバイル決済UIに閉じるボタンを表示するかどうか。このボタンは決済UIを閉じて、settings.return_urlパラメータで指定したURLにリダイレクトします。

mode
string

決済UIのインターフェースモード。user_accountのみに指定できます:ヘッダーにはユーザーアカウントのナビゲーションメニューのみが含まれています。ユーザーは商品を選択したり、決済を行うことはできません。このモードは、デスクトップ上でのみ使用できます。

Value: "user_account"
theme
string
Default: "63295a9a2e47fab76f7708e1"

決済UIのテーマ。ライトテーマ(デフォルト)の場合は63295a9a2e47fab76f7708e1、ダークテーマの場合は63295aab2e47fab76f7708e3を指定できます。カスタムテーマを作成して、そのIDをこのパラメータに渡すこともできます。

Enum: "63295a9a2e47fab76f7708e1" "63295aab2e47fab76f7708e3"
object

ユーザーアカウントの詳細。

object

私のアカウント ページ。

enable
required
boolean
Default: false

サブメニューを表示するかどうかを示します。デフォルトではfalseです。

order
required
integer >= 1

メニュー内のサブメニューの位置。

object

お客様の決済アカウント サブメニュー。

enable
required
boolean
Default: false

サブメニューを表示するかどうかを示します。デフォルトではfalseです。

object

サブスクリプションの管理 サブメニュー。

enable
required
boolean
Default: false

サブメニューを表示するかどうかを示します。デフォルトではfalseです。

order
required
integer >= 1

メニュー内のサブメニューの位置。

Responses
200

決済トークンとオーダーを成功に作成しました。

401

基本認証が不合格または不正です。基本認証または正しい認証情報を使用したことを確認してください。

422

リクエスト本文とカート作成検証エラーです。 -渡したアイテムから作成られた無効なカート。カートは空ではないことと全てのアイテムが無料ではないことを確認します。 -無効なリクエスト本文。

Request samples
application/json
{
  • "purchase": {
    },
  • "settings": {
    },
  • "user": {
    }
}
Response samples
application/json
{
  • "order_id": 12345,
  • "token": "huooAqbXBSJxB8Q4dYBqJp4ybiInqsPb"
}