# 無料カートで注文を作成

無料カートのすべてのアイテムを含む注文を作成します。作成された注文はdoneという注文状況を取得します。

Endpoint: POST /v2/project/{project_id}/free/cart
Version: 2.0.0
Security: AuthForCart

## Path parameters:

  - `project_id` (integer, required)
    プロジェクトID。このパラメータは、パブリッシャーアカウントのプロジェクト名の横、またはプロジェクトの作業中にブラウザのアドレスバーで確認できます。URLの形式は以下の通りです：https://publisher.xsolla.com//projects/。
    Example: 44056

## Request fields (application/json):

  - `currency` (string)
    注文価格の通貨。3文字の通貨コード[ISO4217 規格](https://en.wikipedia.org/wiki/ISO_4217)詳細については、ドキュメントを参照してください。[エクソーラでサポートされている通貨](https://developers.xsolla.com/ja/doc/pay-station/references/supported-currencies/)。

  - `locale` (string)
    応答言語。

  - `sandbox` (boolean)
    サンドボックスモードで注文を作成します。このオプションは、会社のユーザーリストに指定されているユーザーに使用できます。

  - `settings` (object)
    ユーザーの支払いプロセスと決済UIを構成するための設定。

  - `settings.ui` (object)
    インターフェイス設定。

  - `settings.ui.theme` (string)
    決済UIのテーマ。ライトテーマ（デフォルト）の場合は63295a9a2e47fab76f7708e1、ダークテーマの場合は63295aab2e47fab76f7708e3を指定できます。[カスタムテーマを作成](https://developers.xsolla.com/ja/doc/pay-station/features/ui-theme-customization/#pay_station_ui_theme_customization_in_token)して、そのIDをこのパラメータに渡すこともできます。
    Enum: "63295a9a2e47fab76f7708e1", "63295aab2e47fab76f7708e3"

  - `settings.ui.desktop` (object)
    デスクトップ版のインターフェース設定。

  - `settings.ui.desktop.header` (object)
    ヘッダー設定。

  - `settings.ui.desktop.header.is_visible` (boolean)
    決済インターフェースにヘッダーを表示するかどうかを示します。

  - `settings.ui.desktop.header.visible_logo` (boolean)
    trueの場合、ロゴはヘッダーに表示されます。画像をアップロードするには、[パブリッシャーアカウント](https://publisher.xsolla.com/)でプロジェクトを開き、ペイステーション > 設定セクションにアクセスしてください。

  - `settings.ui.desktop.header.visible_name` (boolean)
    ヘッダーにプロジェクト名を表示するかどうかを示します。

  - `settings.ui.desktop.header.visible_purchase` (boolean)
    ヘッダーに購入説明（purchase.description.value）を表示するか示します。デフォルトはtrueです。

  - `settings.ui.desktop.header.type` (string)
    ヘッダーを表示する方法。compact（プロジェクト名とユーザーIDを隠す）またはnormal（デフォルト）に指定できます。
    Enum: "compact", "normal"

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

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

  - `settings.ui.user_account` (object)
    ユーザーアカウントの詳細。

  - `settings.ui.user_account.payment_accounts` (object)
    お客様の決済アカウント サブメニュー。

  - `settings.ui.user_account.payment_accounts.enable` (boolean, required)
    サブメニューを表示するかどうかを示します。デフォルトではfalseです。

  - `settings.ui.user_account.info` (object)
    私のアカウント ページ。

  - `settings.ui.user_account.info.enable` (boolean, required)
    サブメニューを表示するかどうかを示します。デフォルトではfalseです。

  - `settings.ui.user_account.info.order` (integer, required)
    メニュー内のサブメニューの位置。

  - `settings.ui.user_account.subscriptions` (object)
    サブスクリプションの管理 サブメニュー。

  - `settings.ui.user_account.subscriptions.enable` (boolean, required)
    サブメニューを表示するかどうかを示します。デフォルトではfalseです。

  - `settings.ui.user_account.subscriptions.order` (integer, required)
    メニュー内のサブメニューの位置。

  - `settings.ui.header` (object)

  - `settings.ui.header.visible_virtual_currency_balance` (boolean)
    この要素を決済インターフェースで非示にできるかどうかを示します。

  - `settings.ui.mobile` (object)

  - `settings.ui.mobile.header` (object)

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

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

  - `settings.ui.is_payment_methods_list_mode` (boolean)
    決済UIを開く際に、ユーザーの国で利用可能な決済方法のリストを表示するかどうか。falseの場合（デフォルト）、settings.payment_methodパラメータで渡された決済方法、または[PayRankアルゴリズム](https://developers.xsolla.com/ja/solutions/payments/payment-ui-management/top-payment-methods-management/)で選択された方法が表示されます。

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

  - `settings.ui.currency_format` (string)
    codeに設定すると、決済UIに3 文字の[ISO 4217](https://developers.xsolla.com/ja/doc/pay-station/references/supported-currencies/)通貨コードが表示されます。 デフォルトでは、3文字の通貨コードの代わりに通貨記号が表示されます。

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

  - `settings.ui.layout` (string)
    決済UIの主要要素の位置。ゲーム内で決済UIを開いたり、注文や決済方法に関する情報の列を入れ替えたりすることができます。詳細については、[カスタマイズに関する説明](https://developers.xsolla.com/ja/doc/pay-station/features/ui-theme-customization/#pay_station_ui_theme_customization_layout)を参照してください。
    Enum: "embed", "column_reverse", "embed_column_reverse"

  - `settings.ui.is_three_ds_independent_windows` (boolean)
    3-Dセキュア検証が新しいブラウザウィンドウで開くかどうか。セットアップでコンテンツセキュリティポリシー（CSP）が適用される場合は、trueに設定します。

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

  - `settings.payment_method` (integer)
    決済方法ID。決済方法によっては特定の通貨のみをサポートする場合があるため、決済インターフェースにおける通貨の表示を決定します。

  - `settings.return_url` (string)
    決済完了後にユーザーがリダイレクトされるページ。リンクにはuser_id、foreigninvoice、invoice_id、およびstatusパラメータが自動的に追加されます。

  - `settings.redirect_policy` (object)

  - `settings.redirect_policy.redirect_conditions` (string)
    ユーザーがリターンURLにリダイレクトする引き金となる決済状態。
    Enum: "none", "successful", "successful_or_canceled", "any"

  - `settings.redirect_policy.delay` (integer)
    ユーザーが自動的に戻り先URLにリダイレクトされるまでの遅延期間。

  - `settings.redirect_policy.status_for_manual_redirection` (string)
    ユーザーをリターンURLにリダイレクトしてボタンクリックの表示をトリガーする決済状態。
    Enum: "none", "successful", "successful_or_canceled", "any"

  - `settings.redirect_policy.redirect_button_caption` (string)
    ローカライズされたリダイレクトボタンのキャプション。
    Example: "Text button"

  - `custom_parameters` (object)
    プロジェクト特有のパラメータ。

## Response 200 fields (application/json):

  - `order_id` (integer)
    注文IDです。

## Response 422 fields (application/json):

  - `errorCode` (integer)
    Example: 1401

  - `statusCode` (integer)
    Example: 422

  - `errorMessage` (string)
    Example: "[0401-1401]: Invalid cart"


