Pay Station API (2.0)
- バージョン: 2.0.0
- サーバー:
https://api.xsolla.com/api
ペイステションは、ゲームストアでのゲーム内課金に便利なUIをユーザーに提供することで、パートナー様の商品を収益化することができます。決済UIを開くための設定は、 以下の説明書を参照してください。
Pay Station APIは以下のコールグループを提供します:
- トークン — 決済UIを介したさらなる支払い処理のために、任意のユーザーパラメータを使用してトークンを生成するAPIコールが含まれています。
- トークン化 — 決済UIを開いたりユーザーの関与を必要とせずに、支払いを安全に処理するためのAPIコールが含まれています。
- レポート — ユーザーのトランザクションに関するデータを返し、レポートを生成し、通貨別の決済内訳を取得するためのAPIコールが含まれています。
- 返金 — 全額および一部返金をリクエストするためのAPIコールが含まれています。
- テスト — チャージバック処理をテストするためのAPIコールが含まれています。
決済UIの設定に関する詳細情報は、支払ソリューション連携ガイドを参照してください。
メモ
ポストマンコレクションのXsolla Base APIセクションを参照して、連携に使われるAPIコールをテストすることもできます。
リクエスト
任意のユーザーパラメータを持つトークンを作成することができます。トークンを取得する際にこれらのパラメータを送信し、決済が成功した後にパラメータを受信します。トー クンには、このドキュメントで説明されているか、ユーザーが事前定義したパラメータのみを含めることができます。
パラメータが間違った形式で送信された場合、またはタイプが間違っている場合、トークンは発行されません。JSON本文にエラーの説明が含まれる 422 HTTP コードを受け取ります。extended_messageでは、どのようなパラメータが不正に送信されたかという情報が表示されます。
デフォルトでは、トークンの有効期間は24時間です。この値を変更したい場合は、カスタマー・サクセス・マネージャーに連絡するか、csm@xsolla.comにメールを送信してください。アドミンページで作成された会社のすべてのプロジェクトに対して、新しい値が有効に なります。
通知
このAPIメソッドを呼び出した後に取得したトークンは、他のリクエストの認証にのみ使用することができます。サブスクリプション製品を統合した場合にのみ、このトークンを使用して決済UIを開くことができます。
決済UIを新しいウィンドウで開くには、以下のリンクをご利用ください:https://secure.xsolla.com/paystation4/?token={token}で{token} 受信したトークン。
テスト目的には、以下のリンクを使用してください:https://sandbox-secure.xsolla.com/paystation4/?token={token}。
通知
APIコールにproject_idパスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。
このオブジェクトには、不正対策フィルターを設定するためのパラメータが含まれています。パラメータのリストを以下に示します。カスタムパラメータを追加するには、カスタマーサクセスマネージャーにご連絡いただくか、csm@xsolla.comまで電子メールをお送りください。
購入の詳細を含むオブジェクト。
サブスクリプションデータ(オブジェクト)。
ユーザーのサブスクリプションプランに適用される操作の種類。サブスクリプションプランを変更する場合は、値change_planを渡します。purchase.subscription.plan_idパラメーターに新しいプランIDを指定してください。
サブスクリプションプランの外部ID。これは、パブリッシャーアカウントのサブスクリプション > サブスクリプションプランセクションで確認できます。
ユーザーの決済プロセスと決済UIを構成するための設定。
標準の決済通貨。ISO 42173文字通貨コード。
ゲーム内のトランザクションID。ユーザーの支払いごとに一意である必要があります。 詳細については、説明文書を参照してください。
インターフェース言語。2文字の小文字言語コード。
決済処理をテストするには、sandboxに設定します。この場合、https://sandbox-secure.xsolla.comを使用してテスト決済インターフェースにアクセスしてください。
支払いウィジェットです。paybycashまたはgiftcardが選択できます。このパラメータが設定されている場合、ユーザーはPay by CashまたはGift Cardsウィジェットにそれぞれリダイレクトされます。
リダイレクトポリシーの設定(オブジェクト)。
決済ステーション動作はユーザーが「閉じる」ボタンや「ゲームに戻る」ボタンをクリックすることによって引き起こされます。redirect(デフォルト)とpostmessageにすることができます。redirectに設定すると、ユーザーはトークンで渡された、またはパブリッシャーアカウントで指定されたURLにリダイレクトされます。postmessageに設定すると、ユーザーは他のページにリダイレクトされません。「閉じる」アイコンをクリックすると、closeイベントが開始され、「ゲームに戻る」をクリックすると、returnイベントが開始されます。
ユーザーがリターンURLにリダイレクトされる決済状態。none、successful、successful_or_canсeled、またはanyのいずれかとなります。
決済ステータスページにリダイレクトのカウントダウンタイマーを表示するかどうか。カウントダウンの長さは、settings.redirect_policy.delayパラメータで渡された値によって決定されます。
決済後にユーザーがリダイレクトされるページのURL。リダイレクトの構成の詳細については、説明文書を参照してください。
インタフェース設定(オブジェクト)。
決済UI起動時の代替ビュー設定。例えば、優先順位の高い決済方法を前面に表示させることができます。
apple-payに設定すると、ユーザーには主要な決済オプションとしてApple Payボタンが表示され、あわせて他の決済方法リストへのリンクが表示されます。このロジックはAndroidデバイスには適用されません。
サポートされているデバイスで、決済UIの上部にApple Payでのクイック支払いボタンを表示するかどうか。デフォルトはtrueです。falseに設定した場合、Apple Payは PayRankのアルゴリズムに従って、決済方法のリストに表示されます。
注意
Androidデバイスや、Apple Payでの支払いをサポートしていないその他のデバイスでは、このパラメータの値に関わらず、決済方法のリストから非表示になります。
メニュー設定(オブジェクト)。
サブスクリプションプランのサブメニュー(オブジェクト)。
仮想通貨サブメニュー。
仮想アイテムサブメニュー。
サブメニューを表示するかどうかを示します。
codeに設定すると、決済UIに3 文字のISO 4217通貨コードが表示されます。 デフォルトでは、3文字の通貨コードの代わりに通貨記号が表示されます。
デスクトップバージョン(オブジェクト)のインターフェース設定。
ヘッダー設定。
決済UIに閉じるボタンを表示するかどうか。このボタンは決済UIを閉じて、settings.return_urlパラメータで指定したURLにリダイレクトします。デフォルトはfalseです。
決済UIの「閉じる」ボタンのアイコン。
| 列挙型 値 | 説明 |
|---|---|
| arrow | 決済UIヘッダーの左側にある「←」アイコン。 |
| cross | 決済UIヘッダーの右側にある「×」アイコン。 |
ヘッダーを表示する方法。compact(プロジェクト名とユーザーIDを隠す)またはnormal(既定)に指定できます。
trueの場合、ロゴはヘッダーに表示されます。画像をアップロードするには、アドミンページでプロジェクトを開き、ペイステション > 設定セクションに移動してください。
サブスクリプションプラン(オブジェクト)の一覧の設定。
Google Payの決済方法の表示方法。trueの場合、Google Payによるクイック決済ボタンは、ユーザーのデバイスやブラウザに関係なく、決済UIの最上部に表示されます。falseの場合、Google PayはPayRankアルゴリズムに従って決済方法リスト内に表示されます。このパラメータが渡されない場合、Google PayはSafariを除くすべてのユーザーのデバイスやブラウザの決済UIの最上部に表示されます。Safariでは、決済方法リスト内に表示されます。
決済UIにおける、カート内のアイテムリストと金額詳細の表示についてです。trueの場合、情報が展開されたビューで表示されます。false(デフォルト)またはパラメータが渡されない場合、情報は折りたたまれたビューで表示されます。
埋め込みランチャーのブラウザ(WebView)から、ユーザーのデフォルトのブラウザにリダイレクトして購入させるかどうか。デフォルトではfalseです。
決済ページで言語セレクターが非表示になっているかどうか。デフォルトではfalseに設定されており、セレクターは表示されます。
決済UIを開く際に、ユーザーの国で利用可能な決済方法のリストを表示するかどうか。falseの場合(デフォルト)、settings.payment_methodパラメータで渡された決済方法、またはPayRankアルゴリズムで選択された方法が表示されます。
リンクを外部リソースにリダイレクトするかどうかを無効にします。デフォルトはfalseです。外部リンクをクリックすると、external-link-openイベントがpostMessageメカニズムを介して送信されます。urlパラメータには、リダイレクト先のリンクのアドレスが渡されます。
決済UIに決済方法検索バーを表示するかどうか。trueの場合、検索バーは隠されます。デフォルトではfalseです。
支払いページを閉じる前に、×アイコンの上にカーソルを置いたときに取引処理に関する警告を表示するかどうか。falseが渡された場合、またはパラメータが渡されなかった場合、警告は表示されません。デフォルトではtrueです。
3-Dセキュア検証が新しいブラウザウィンドウで開くかどうか。セットアップでコンテンツセキュリティポリシー(CSP)が適用される場合は、trueに設定します。
決済UIの主要要素の位置。ゲーム内で決済UIを開いたり、注文や決済方法に関する情報の列を入れ替えたりすることができます。詳細については、カスタマイズに関する説明を参照してください。
モバイル版決済ステーションに「閉じる」ボタンを表示する設定。このボタンは決済ステーションを閉じて、settings.return_urlパラメーターで指定されたURLにユーザーをリダイレクトします。デフォルトはfalseです。
保存された決済方法を管理するための決済UIの表示モード。user_accountに設定するか、省略できます。このモードでは、ユーザーは言語の変更、新しい決済 方法の追加、および既存の決済方法の削除のみを行うことができます。
注意
このパラメータが渡された場合、リダイレクトボタンは表示されません。決済方法を保存した後にユーザーをリダイレクトするには、自動リダイレクトを設定してください。
決済UIのテーマ。ライトテーマ(デフォルト)の場合は63295a9a2e47fab76f7708e1、ダークテーマの場合は63295aab2e47fab76f7708e3を指定できます。カスタムテーマを作成して、そのIDをこのパラメータに渡すこともできます。
ユーザーアカウントの詳細(オブジェクト)。
保存したメソッドセクション。
ユーザー詳細。
ユーザーが決済UIで国を変更できるかどうか。トークンにcountry.valueが渡された場合、デフォルトではfalseとなります。
ユーザーの国。2文字の国コード(大文字)は、ISO 3166-1 alpha-2 standardに従って使用されます。
user.emailオブジェクトは、不正対策モデルの構築に不可欠な要素であり、受け入れ率の向上に貢献します。それは、エクソラと決済システムの両方の要件です。パラメータが渡されない場合は、決済ページにメール入力の必須項目が表示されます。ユーザーは、パラメータに渡された、または決済ページで入力された電子メールに購入領収書を受け取ります。
決済UIでユーザーが自分のメールアドレスを入力できるかどうか。user.email.valueパラメータがトークンで渡される場合、値はデフォルトでfalseです。
ユーザーのメールアドレス。RFC 822で規定された書式を厳密に守らなければなりません。
プレイヤー側に保存されているゲーム内の一意のユーザーID。必ず既存のユーザーIDを渡してください。エラーが発生した場合は、よくある質問への回答を参照してください。
法人情報を含むオブジェクトです。
設立国。ISO 3166-1 alpha-2に従って大文字2文字の国コードを使用します。
トラフィック属性(オブジェクト)。
- https://api.xsolla.com/merchant/v2/merchants/{merchant_id}/token
- Mock serverhttps://xsolla.redocly.app/_mock/ja/api/pay-station/merchants/{merchant_id}/token
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
'https://api.xsolla.com/merchant/v2/merchants/{merchant_id}/token' \
-H 'Content-Type: application/json' \
-d '{
"settings": {
"currency": "USD",
"language": "en",
"project_id": 16184,
"ui": {
"size": "medium"
}
},
"user": {
"email": {
"value": "email@example.com"
},
"id": {
"value": "user_2"
},
"name": {
"value": "John Smith"
}
}
}'{ "token": "eop57k1boA7nnYPtewZ6KEXJyJADEwRT" }