{
  "openapi": "3.0.0",
  "info": {
    "description": "# 개요\n\n* **버전:** 2.0.0\n* **서버**:\n  * `https://api.xsolla.com/api`\n\n페이 스테이션을 통해 파트너가 사용자에게 게임 스토어에서 인게임 구매를 결제하도록 돕는 편리한 UI를 제공하고 수익을 창출할 수 있습니다. \n결제 UI를 열도록 설정하려면 다음 [지침](/ko/doc/pay-station/how-to/how-to-open-payment-ui/)을 참조해 \n주세요.\n\n페이 스테이션 API는 다음과 같은 호출 그룹을 제공합니다.\n- 토큰 - 결제 UI를 통해 추후 결제 처리에 사용하는 임의 사용자 매개 변수로 토큰을 생성하는 API 호출을 포함합니다.\n- [토큰화](/ko/doc/pay-station/features/tokenization/) - 결제 UI를 열지 않고 사용자의 개입이 없어도 안전하게 \n  결제를 처리하는 API 호출을 포함합니다.\n- 보고서 - 사용자 트랜잭션 데이터를 반환하고, 보고서를 생성하고, 통화별 지급액 내역을 확인할 수 있는 API 호출을 포함합니다.\n- 환불 - 전액 및 부분 환불을 요청하는 API 호출을 포함합니다.\n- 테스트 - 지불 거절 프로세스를 테스트하는 API 호출을 포함합니다.\n\n결제 UI 구성에 대한 자세한 정보는 [결제 솔루션 연동 가이드](/ko/solutions/payments/integration-guide/integration-flow/)에서 확인할 수 있습니다.\n\n<div class=\"note\">\n<p><strong>참고</strong></p><p>또한 <a href=\"https://github.com/xsolla/xsolla-postman\">포스트맨 컬렉션</a>의 <b>Xsolla Base API</b> 섹션을 참조하여 연동에 사용되는 API 호출을 테스트할 수 있습니다.</p>\n</div>\n",
    "title": "Pay Station API",
    "version": "2.0"
  },
  "servers": [
    {
      "url": "https://api.xsolla.com/merchant/v2"
    }
  ],
  "tags": [
    {
      "name": "token",
      "x-displayName": "토큰"
    },
    {
      "name": "tokenization",
      "x-displayName": "직접 결제"
    },
    {
      "name": "reports",
      "x-displayName": "보고서"
    },
    {
      "name": "refund",
      "x-displayName": "환불"
    },
    {
      "name": "testing",
      "x-displayName": "테스트"
    }
  ],
  "paths": {
    "/merchants/{merchant_id}/projects/{project_id}/payments/{transaction_id}/chargeback": {
      "post": {
        "description": "샌드박스 모드에서 지불 거절 요청:\n\n- 샌드박스 모드에 액세스하려면 [토큰을 획득](https://developers.xsolla.com/ko/api/pay-station/operation/create-token/)할 때 `\"mode\":\"sandbox\"`를 전달합니다.\n\n- 테스트 결제는 테스트에 사용한 것과 동일한 프로젝트의 샌드박스 모드에서 이루어져야 합니다.\n\n- 거래 상태는 `refunded`와 `cancelled` **이외**여야 합니다.\n\n- 게시자 계정에서 여러분의 역할이 최소한 **재무 관리자**여야 합니다(**회사 설정 > 사용자** 섹션에서 확인할 수 있습니다).\n\n- 이 테스트 시나리오에 대한 자세한 정보는 <a href=\"https://developers.xsolla.com/ko/doc/pay-\n  station/testing/test-one-time-purchase-in-\n  sandbox/#pay_station_testing_sandbox_bank_card_chargeback\">지침</a>을 참조하세요.\n\n<div class=\"note\">\n<p><strong>참고</strong></p><p>다른 테스트 시나리오에 대한 자세한 정보는 <a href=\"https://developers.xsolla.com/ko/doc/pay-station/testing/general-info/\">문서</a>를 참조하세요.</p>\n</div>\n",
        "operationId": "request-chargeback",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/project-id-path-param"
          },
          {
            "$ref": "#/components/parameters/transaction-id-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/empty-body"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content(오류 없음)."
          },
          "404": {
            "description": "거래를 찾을 수 없습니다."
          },
          "422": {
            "content": {
              "application/json": {
                "example": {
                  "message": "Not test payment. Chargeback is possible only for payments made in sandbox mode."
                },
                "schema": {
                  "properties": {
                    "message": {
                      "description": "다음 메시지 중 하나 반환 가능:\n- Error processing chargeback. Try again or use another payment.\n- Payment not found. Check payment ID.\n- Payment does not belong to this project.\n- Not test payment. Chargeback is possible only for payments made in sandbox mode.\n- Incorrect payment status. Chargeback is possible only for payments with “Completed” status.",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Unprocessable Entity(유효하지 않은 요청 매개 변수)."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "지불 거절 요청",
        "tags": [
          "testing"
        ],
        "x-server": true
      }
    },
    "/merchants/{merchant_id}/reports": {
      "get": {
        "description": "지정된 데이터 범위의 재무 보고서 목록을 가져옵니다.\n\n<div class=\"notice\">\n<p><strong>주의</strong></p><p>이 API 호출에는 <code>project_id</code> 경로 매개 변수가 포함되어 있지 않으므로 회사의 모든 프로젝트에서 유효한 API 키를 사용하여 인증을 설정해야 합니다.</p>\n</div>\n",
        "operationId": "get-reports",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/datetime-from-req"
          },
          {
            "$ref": "#/components/parameters/datetime-to-req"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": [
                  {
                    "agreement_document_id": "Organization Inc_RUB",
                    "currency": "RUB",
                    "is_direct_payout": false,
                    "is_draft_by_agreement": true,
                    "month": "January",
                    "report_id": 57613,
                    "year": 2019
                  },
                  {
                    "agreement_document_id": "Organization Inc_EUR",
                    "currency": "USD",
                    "is_direct_payout": false,
                    "is_draft_by_agreement": true,
                    "month": "January",
                    "report_id": 57619,
                    "year": 2019
                  }
                ]
              }
            },
            "description": "OK."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "모든 보고서 나열",
        "tags": [
          "reports"
        ],
        "x-admin": true,
        "x-server": true
      }
    },
    "/merchants/{merchant_id}/reports/transactions/registry.{format}": {
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v3"
        }
      ],
      "get": {
        "description": "지정된 기간 동안의 성공 및 취소된 트랜잭션에 대한 세부 정보 목록을 반환합니다. 이에 대한 응답으로 수수료, 세금, 주문 및 사용자에 대한 \n데이터를 포함한 결제 관련 정보를 얻을 수 있습니다. JSON 또는 CSV 형식으로 목록을 가져올 수 있습니다. 이 API 호출을 사용하여 \n재정 조정을 수행할 수 있습니다.\n\n<div class=\"notice\">\n<p><strong>주의</strong></p><p>이 API 호출에는 <code>project_id</code> 경로 매개 변수가 포함되어 있지 않으므로 회사의 모든 프로젝트에서 유효한 API 키를 사용하여 인증을 설정해야 합니다.</p>\n</div>\n",
        "operationId": "get-transactions",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/format"
          },
          {
            "$ref": "#/components/parameters/datetime-from-req"
          },
          {
            "$ref": "#/components/parameters/datetime-to-req"
          },
          {
            "$ref": "#/components/parameters/in-transfer-currency"
          },
          {
            "$ref": "#/components/parameters/show-total"
          },
          {
            "$ref": "#/components/parameters/merchant-of-records"
          },
          {
            "$ref": "#/components/parameters/project-id-query-param"
          },
          {
            "$ref": "#/components/parameters/show-dry-run"
          },
          {
            "$ref": "#/components/parameters/transfer-id"
          },
          {
            "$ref": "#/components/parameters/report-id"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "$ref": "#/components/parameters/limit-req"
          },
          {
            "$ref": "#/components/parameters/transaction-status"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": [
                  {
                    "payment_details": {
                      "chargebackPenalty": {
                        "amount": 0
                      },
                      "commission_agent": {
                        "amount": 0,
                        "percent": 0
                      },
                      "commission_agent_fixed": 0,
                      "commission_ps": {
                        "amount": 0,
                        "fixed_amount": 0,
                        "percent": 0
                      },
                      "commission_ps_from_vat": {
                        "amount": 0
                      },
                      "commission_user": {
                        "amount": 0.01,
                        "percent": 33.33
                      },
                      "commission_xsolla": {
                        "amount": 0,
                        "fixed_amount": 0,
                        "percent": 5
                      },
                      "cpa_network_commission": {
                        "amount": 0,
                        "percent": 0
                      },
                      "direct_wht": {
                        "amount": 0,
                        "percent": 0
                      },
                      "payment": {
                        "amount": 0.03,
                        "amount_from_ps": 0,
                        "currency": "USD"
                      },
                      "payout": {
                        "amount": 0.02,
                        "amount_from_ps": 0,
                        "currency": "RUB",
                        "fx_rate": 64.1386407767,
                        "percent": 100
                      },
                      "refundPenalty": {
                        "amount": 0
                      },
                      "repatriation_costs": {
                        "amount": 0,
                        "percent": 0
                      },
                      "sales_tax": {
                        "amount": 0,
                        "percent": 0
                      },
                      "vat": {
                        "amount": 0,
                        "percent": 0,
                        "user_amount": 0,
                        "user_percent": 0
                      }
                    },
                    "purchase": {
                      "friend": {
                        "email": null,
                        "user_id": null
                      },
                      "items_amount": 1,
                      "pin_codes": {
                        "amount": null,
                        "content": null,
                        "currency": null
                      },
                      "purchase_amount": 0.02,
                      "simple_checkout": {
                        "amount": null,
                        "currency": null
                      },
                      "subscription": {
                        "name": null,
                        "plan_id": null,
                        "product_id": null,
                        "product_name": null,
                        "subscription_id": null
                      },
                      "virtual_currency": {
                        "amount": 0.02,
                        "currency": "USD"
                      },
                      "virtual_currency_amount": 1,
                      "virtual_items": {
                        "amount": null,
                        "content": null,
                        "currency": null
                      }
                    },
                    "transaction": {
                      "custom_parameters": null,
                      "direct_account": 0,
                      "dry_run": 0,
                      "external_id": null,
                      "id": 418756634,
                      "payment_method": {
                        "class": "Digital Payment Methods",
                        "id": 2760,
                        "name": "Your Balance"
                      },
                      "project": {
                        "id": 21092,
                        "name": "Smith"
                      },
                      "refund_reason": null,
                      "refund_reason_comment": null,
                      "status": "done",
                      "transfer_date": "2019-02-11T13:32:00+03:00"
                    },
                    "user": {
                      "country": "US",
                      "custom": null,
                      "email": "email@example.com",
                      "id": "smith123",
                      "ip": "209.11.22.33",
                      "marketplace": "Pay Station",
                      "name": "Tom",
                      "phone": null
                    },
                    "user_balance": {
                      "payment_currency": {
                        "deduction_amount": 0,
                        "payout_amount_from_balance": 0.02,
                        "purchase_amount_from_balance": 0.02
                      }
                    }
                  }
                ],
                "schema": {
                  "items": {
                    "properties": {
                      "payment_details": {
                        "description": "결제 세부 정보입니다.",
                        "properties": {
                          "chargebackPenalty": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              }
                            },
                            "type": "object"
                          },
                          "commission_agent": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "percent": {
                                "format": "float",
                                "type": "number"
                              }
                            },
                            "type": "object"
                          },
                          "commission_agent_fixed": {
                            "type": "integer"
                          },
                          "commission_ps": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "fixed_amount": {
                                "type": "integer"
                              },
                              "percent": {
                                "format": "float",
                                "type": "number"
                              }
                            },
                            "type": "object"
                          },
                          "commission_ps_from_vat": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              }
                            },
                            "type": "object"
                          },
                          "commission_user": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "percent": {
                                "format": "float",
                                "type": "number"
                              }
                            },
                            "type": "object"
                          },
                          "commission_xsolla": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "fixed_amount": {
                                "type": "integer"
                              },
                              "percent": {
                                "format": "float",
                                "type": "number"
                              }
                            },
                            "type": "object"
                          },
                          "cpa_network_commission": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "percent": {
                                "format": "float",
                                "type": "number"
                              }
                            },
                            "type": "object"
                          },
                          "direct_wht": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "percent": {
                                "format": "float",
                                "type": "number"
                              }
                            },
                            "type": "object"
                          },
                          "payment": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "amount_from_ps": {
                                "type": "integer"
                              },
                              "currency": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "payout": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "amount_from_ps": {
                                "format": "float",
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "fx_rate": {
                                "format": "float",
                                "type": "number"
                              },
                              "percent": {
                                "format": "float",
                                "type": "number"
                              }
                            },
                            "type": "object"
                          },
                          "refundPenalty": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              }
                            },
                            "type": "object"
                          },
                          "repatriation_costs": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "percent": {
                                "format": "float",
                                "type": "number"
                              }
                            },
                            "type": "object"
                          },
                          "sales_tax": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "percent": {
                                "format": "float",
                                "type": "number"
                              }
                            },
                            "type": "object"
                          },
                          "vat": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "percent": {
                                "format": "float",
                                "type": "number"
                              },
                              "user_amount": {
                                "type": "integer"
                              },
                              "user_percent": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "purchase": {
                        "description": "구매 세부 정보.",
                        "properties": {
                          "friend": {
                            "properties": {
                              "email": {
                                "nullable": true,
                                "type": "string"
                              },
                              "user_id": {
                                "nullable": true,
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "items_amount": {
                            "type": "integer"
                          },
                          "pin_codes": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "nullable": true,
                                "type": "number"
                              },
                              "content": {
                                "nullable": true,
                                "type": "string"
                              },
                              "currency": {
                                "nullable": true,
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "purchase_amount": {
                            "format": "float",
                            "type": "number"
                          },
                          "simple_checkout": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "nullable": true,
                                "type": "number"
                              },
                              "currency": {
                                "nullable": true,
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "subscription": {
                            "properties": {
                              "name": {
                                "nullable": true,
                                "type": "string"
                              },
                              "plan_id": {
                                "nullable": true,
                                "type": "integer"
                              },
                              "product_id": {
                                "nullable": true,
                                "type": "string"
                              },
                              "product_name": {
                                "nullable": true,
                                "type": "string"
                              },
                              "subscription_id": {
                                "nullable": true,
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "virtual_currency": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "virtual_currency_amount": {
                            "type": "integer"
                          },
                          "virtual_items": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "nullable": true,
                                "type": "number"
                              },
                              "content": {
                                "nullable": true,
                                "type": "string"
                              },
                              "currency": {
                                "nullable": true,
                                "type": "string"
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "transaction": {
                        "description": "거래 데이터.",
                        "properties": {
                          "custom_parameters": {
                            "nullable": true,
                            "type": "object"
                          },
                          "direct_account": {
                            "type": "integer"
                          },
                          "dry_run": {
                            "type": "integer"
                          },
                          "external_id": {
                            "nullable": true,
                            "type": "string"
                          },
                          "id": {
                            "type": "integer"
                          },
                          "payment_method": {
                            "properties": {
                              "class": {
                                "type": "string"
                              },
                              "id": {
                                "type": "integer"
                              },
                              "name": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "project": {
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "name": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "refund_reason": {
                            "nullable": true,
                            "type": "string"
                          },
                          "refund_reason_comment": {
                            "nullable": true,
                            "type": "string"
                          },
                          "status": {
                            "enum": [
                              "created",
                              "processing",
                              "done",
                              "canceled",
                              "error",
                              "refunded",
                              "partiallyRefunded",
                              "awaitingRefund",
                              "disputeFee"
                            ],
                            "type": "string"
                          },
                          "transfer_date": {
                            "format": "datetime",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "user": {
                        "description": "사용자 세부 정보.",
                        "properties": {
                          "country": {
                            "description": "[ISO 3166-1 alpha-2 standard](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)에 따른 2자로 된 국가 코드를 사용합니다.",
                            "type": "string"
                          },
                          "custom": {
                            "nullable": true,
                            "type": "string"
                          },
                          "email": {
                            "description": "사용자 이메일.",
                            "type": "string"
                          },
                          "id": {
                            "description": "사용자 ID.",
                            "type": "string"
                          },
                          "ip": {
                            "type": "string"
                          },
                          "marketplace": {
                            "type": "string"
                          },
                          "name": {
                            "description": "게임유저 닉네임입니다.",
                            "type": "string"
                          },
                          "phone": {
                            "description": "전화번호.",
                            "nullable": true,
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "user_balance": {
                        "description": "사용자 잔액.",
                        "properties": {
                          "payment_currency": {
                            "description": "선호하는 결제 통화.",
                            "properties": {
                              "deduction_amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "payout_amount_from_balance": {
                                "format": "float",
                                "type": "number"
                              },
                              "purchase_amount_from_balance": {
                                "format": "float",
                                "type": "number"
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "거래 목록이 성공적으로 반환되었습니다."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "모든 작업 나열",
        "tags": [
          "reports"
        ],
        "x-admin": true,
        "x-server": true
      }
    },
    "/merchants/{merchant_id}/reports/transactions/search.{format}": {
      "get": {
        "description": "특정 검색 매개 변수를 기준으로 트랜잭션 목록을 반환합니다. 이에 대한 응답으로 성공적으로 완료되지 않았더라도 게임에서 이루어진 모든 결제에 \n대한 데이터를 얻을 수 있습니다. 트랜잭션 기간뿐만 아니라 특정 사용자 또는 특정 결제 상태의 거래를 검색하는 등 다른 매개 변수도 지정할 수 \n있습니다. JSON 또는 CSV 형식으로 목록을 가져올 수 있습니다.\n\n<div class=\"notice\">\n<p><strong>주의</strong></p><p>이 API 호출에는 <code>project_id</code> 경로 매개 변수가 포함되어 있지 않으므로 회사의 모든 프로젝트에서 유효한 API 키를 사용하여 인증을 설정해야 합니다.</p>\n</div>\n",
        "operationId": "find-transactions",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/format"
          },
          {
            "$ref": "#/components/parameters/datetime-from"
          },
          {
            "$ref": "#/components/parameters/datetime-to"
          },
          {
            "$ref": "#/components/parameters/project-id-query-param"
          },
          {
            "$ref": "#/components/parameters/transaction-id"
          },
          {
            "$ref": "#/components/parameters/type"
          },
          {
            "$ref": "#/components/parameters/phone"
          },
          {
            "$ref": "#/components/parameters/user-id-query-param"
          },
          {
            "$ref": "#/components/parameters/user-name"
          },
          {
            "$ref": "#/components/parameters/user-custom"
          },
          {
            "$ref": "#/components/parameters/email"
          },
          {
            "$ref": "#/components/parameters/external-id"
          },
          {
            "$ref": "#/components/parameters/order-id"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/status"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": [
                  {
                    "payment_details": {
                      "payment": {
                        "amount": 7.96,
                        "amount_from_ps": 7.96,
                        "currency": "RUB"
                      },
                      "sales_tax": {
                        "amount": 0,
                        "percent": 0
                      }
                    },
                    "payment_system": {
                      "decline_reason": null
                    },
                    "purchase": {
                      "pin_codes": {
                        "amount": null,
                        "content": null,
                        "currency": null
                      },
                      "simple_checkout": {
                        "amount": 7.96,
                        "currency": "RUB"
                      },
                      "subscription": {
                        "name": null
                      },
                      "virtual_currency": {
                        "amount": 0,
                        "name": null
                      },
                      "virtual_items": null
                    },
                    "transaction": {
                      "create_date": "2021-10-20",
                      "dry_run": 0,
                      "external_id": "example-external-id",
                      "id": 123456789,
                      "is_refund_allowed": 0,
                      "order_id": 1234,
                      "payment_method": {
                        "id": 1,
                        "name": "PayPal"
                      },
                      "project": {
                        "id": 123456,
                        "name": "Example"
                      },
                      "refund_reason": null,
                      "status": "done",
                      "transfer_date": "2021-10-20"
                    },
                    "user": {
                      "country": "RU",
                      "custom": null,
                      "email": "email@example.com",
                      "id": "example-id",
                      "name": "Example",
                      "phone": null
                    }
                  }
                ]
              }
            },
            "description": "OK."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "모든 트랜잭션 검색",
        "tags": [
          "reports"
        ],
        "x-admin": true,
        "x-server": true
      }
    },
    "/merchants/{merchant_id}/reports/transactions/simple_search": {
      "get": {
        "description": "몇 초 내에 특정 검색 매개변수를 기반으로 트랜잭션 목록을 구합니다. 이는 [모든 트랜잭션 검색](/ko/api/pay-station/operation/find-transactions/) API 호출을 대체할 수 있는 기능으로 JSON, CSV 또는 XLS \n형식으로 데이터를 반환합니다.\n\n<div class=\"notice\">\n<p><strong>주의</strong></p><p>이 API 호출에는 <code>project_id</code> 경로 매개 변수가 포함되어 있지 않으므로 회사의 모든 프로젝트에서 유효한 API 키를 사용하여 인증을 설정해야 합니다.</p>\n</div>\n",
        "operationId": "find-transactions-fast",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "description": "트랜잭션 ID입니다. 이 값 또는 `external_id` 중 하나만 제공해야 하며 둘 다 제공하면 안 됩니다.",
            "in": "query",
            "name": "transaction_id",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "게임의 트랜잭션 ID입니다. 각 결제마다 고유합니다. 이 값 또는 `transaction_id` 중 하나만 제공해야 하며 둘 다 제공하면 안 됩니다.",
            "in": "query",
            "name": "external_id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": [
                  {
                    "payment_details": {
                      "payment": {
                        "amount": 7.96,
                        "currency": "BRL"
                      }
                    },
                    "transaction": {
                      "external_id": "example_external_id_123",
                      "id": 123456,
                      "payment_date": "2023-02-11 15:32:46",
                      "project": {
                        "id": 123456,
                        "name": "Test"
                      },
                      "status": "done"
                    },
                    "user": {
                      "country": "BR",
                      "email": "email@example.com",
                      "id": "123456",
                      "name": "John Smith"
                    }
                  }
                ],
                "schema": {
                  "items": {
                    "properties": {
                      "payment_details": {
                        "description": "결제 세부 정보입니다.",
                        "properties": {
                          "payment": {
                            "properties": {
                              "amount": {
                                "description": "결제 금액입니다.",
                                "format": "float",
                                "type": "number"
                              },
                              "currency": {
                                "description": "결제 통화입니다. [ISO 4217](https://developers.xsolla.com/ko/doc/pay-station/references/supported-currencies/)에 따른 3자리 통화 코드입니다.",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "transaction": {
                        "description": "트랜잭션 세부 정보입니다.",
                        "properties": {
                          "external_id": {
                            "description": "게임의 트랜잭션 ID입니다. 각 사용자 결제별로 고유해야 합니다.",
                            "type": "string"
                          },
                          "id": {
                            "description": "트랜잭션 ID.",
                            "type": "integer"
                          },
                          "payment_date": {
                            "description": "YY-MM-DD 형식으로 된 결제 날짜입니다.",
                            "type": "string"
                          },
                          "project": {
                            "properties": {
                              "id": {
                                "description": "엑솔라 시스템 내의 게임 식별자입니다. 판매자 계정 에서 확인할 수 있습니다.",
                                "type": "integer"
                              },
                              "name": {
                                "description": "프로젝트 이름.",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "refund_reason": {
                            "description": "환불 이유입니다.",
                            "type": "string"
                          },
                          "status": {
                            "$ref": "#/components/schemas/status.enum"
                          }
                        },
                        "type": "object"
                      },
                      "user": {
                        "description": "사용자에 대한 데이터가 포함된 개체입니다.",
                        "properties": {
                          "country": {
                            "description": "[ISO 3166-1 alpha-2 standard](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)에 따른 2자로 된 국가 코드를 사용합니다.",
                            "type": "string"
                          },
                          "email": {
                            "description": "사용자 이메일.",
                            "type": "string"
                          },
                          "id": {
                            "description": "사용자 ID.",
                            "type": "string"
                          },
                          "name": {
                            "description": "사용자 이름.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "거래 목록이 성공적으로 반환되었습니다."
          },
          "403": {
            "description": "액세스가 거부되었습니다."
          },
          "404": {
            "description": "거래를 찾을 수 없습니다."
          },
          "422": {
            "description": "처리할 수 없는 엔터티입니다(`transaction_id` 또는 `external_id`를 전달해야 함)."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "트랜잭션 검색(빠른 검색)",
        "tags": [
          "reports"
        ],
        "x-admin": true,
        "x-server": true
      }
    },
    "/merchants/{merchant_id}/reports/transactions/summary/transfer": {
      "get": {
        "description": "통화로 지불금 내역을 받습니다.\n\n<div class=\"notice\">\n<p><strong>주의</strong></p><p>이 API 호출에는 <code>project_id</code> 경로 매개 변수가 포함되어 있지 않으므로 회사의 모든 프로젝트에서 유효한 API 키를 사용하여 인증을 설정해야 합니다.</p>\n</div>\n",
        "operationId": "get-payouts-breakdown",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/datetime-from"
          },
          {
            "$ref": "#/components/parameters/datetime-to"
          },
          {
            "$ref": "#/components/parameters/legal-entity-id"
          },
          {
            "$ref": "#/components/parameters/transaction-status"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": [
                  {
                    "DirectTaxesOfPayments": 0.46,
                    "IsoCurrency": "RUB",
                    "PaymentsAmount": 223679.84,
                    "SumCommissionAgent": 11329.58,
                    "SumCommissionUserTaxes": 153.67,
                    "SumItems": 571325.13,
                    "SumNominalSum": 214792.98,
                    "SumOutProject": 551096.13,
                    "SumPayoutSum": 193316.71,
                    "TaxesOfPayments": 171.56
                  },
                  {
                    "DirectTaxesOfPayments": 0.14,
                    "IsoCurrency": "USD",
                    "PaymentsAmount": 482.58,
                    "SumCommissionAgent": 77.51,
                    "SumCommissionUserTaxes": 0.07,
                    "SumItems": 243777.62,
                    "SumNominalSum": 493.09,
                    "SumOutProject": 241787.62,
                    "SumPayoutSum": 462.62,
                    "TaxesOfPayments": 0.14
                  },
                  {
                    "DirectTaxesOfPayments": 0.07,
                    "IsoCurrency": "EUR",
                    "PaymentsAmount": 608.2,
                    "SumCommissionAgent": 55.71,
                    "SumCommissionUserTaxes": 90.94,
                    "SumItems": 156238.62,
                    "SumNominalSum": 607.26,
                    "SumOutProject": 156158.62,
                    "SumPayoutSum": 460.8,
                    "TaxesOfPayments": 90.94
                  }
                ]
              }
            },
            "description": "OK."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "통화로 지불금 내역을 받습니다",
        "tags": [
          "reports"
        ],
        "x-admin": true,
        "x-server": true
      }
    },
    "/merchants/{merchant_id}/reports/transactions/{transaction_id}/details": {
      "get": {
        "description": "ID별로 전체 트랜잭션 정보를 가져옵니다.\n\n<div class=\"notice\">\n<p><strong>주의</strong></p><p>이 API 호출에는 <code>project_id</code> 경로 매개 변수가 포함되어 있지 않으므로 회사의 모든 프로젝트에서 유효한 API 키를 사용하여 인증을 설정해야 합니다.</p>\n</div>\n",
        "operationId": "get-transaction",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/transaction-id-path-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": [
                  {
                    "customer_details": {
                      "billing_address": "",
                      "bin": "",
                      "browser_language": "",
                      "country": "US",
                      "ip": "209.11.22.33",
                      "paystation_country": "",
                      "phone": null,
                      "timezone": "",
                      "user_id": "user1",
                      "user_name": "John Smith"
                    },
                    "finance_details": {
                      "direct_wht": {
                        "amount": 0,
                        "currency": "USD"
                      },
                      "dispute_fee": {
                        "amount": 70,
                        "currency": "USD",
                        "date": "2019-04-20 16:15:37"
                      },
                      "payment": {
                        "amount": 0.04,
                        "currency": "USD"
                      },
                      "payment_method_fee": {
                        "amount": 0.01,
                        "currency": "USD"
                      },
                      "payment_method_sum": {
                        "amount": 0.04,
                        "currency": "USD"
                      },
                      "payout": {
                        "amount": 1.25,
                        "currency": "RUB"
                      },
                      "payout_currency_rate": 62,
                      "repatriation_commission": {
                        "amount": 0,
                        "currency": "USD"
                      },
                      "sales_tax": {
                        "amount": 0,
                        "currency": "USD"
                      },
                      "vat": {
                        "amount": 0.01,
                        "currency": "USD"
                      },
                      "xsolla_balance_sum": {
                        "amount": 0,
                        "currency": "USD"
                      },
                      "xsolla_fee": {
                        "amount": 0,
                        "currency": "USD"
                      }
                    },
                    "payment_details": {
                      "card_holdername": null,
                      "card_issuer": "TEST BANK",
                      "card_month": 1,
                      "card_number": 1234123412341234,
                      "card_scheme": "MASTERCARD",
                      "card_year": 2020,
                      "customer_firstname": "",
                      "customer_lastname": "",
                      "enrollment": false,
                      "ps_account": "1234test4321",
                      "zip_code": ""
                    },
                    "subscription_details": {
                      "is_payment_from_subscription": false,
                      "is_subscription_created": true
                    },
                    "transaction_details": {
                      "amount": 0.04,
                      "cancellation_date": null,
                      "country": "US",
                      "currency": "USD",
                      "custom_parameters": null,
                      "foreign_invoice": null,
                      "gift_recipient_email": null,
                      "gift_recipient_id": null,
                      "payment_date": "2019-03-21 16:15:37",
                      "payment_method": "1380",
                      "payment_method_name": "Credit/Debit Cards",
                      "project": 21092,
                      "project_name": "Test Project",
                      "purchase": {
                        "checkout": {
                          "amount": 0,
                          "currency": "USD"
                        },
                        "pin_codes": {
                          "amount": 0,
                          "content": null,
                          "currency": null
                        },
                        "total": {
                          "amount": 0.03,
                          "currency": "USD"
                        },
                        "virtual_currency": {
                          "amount": 0.03,
                          "currency": "USD",
                          "name": "Gold coins",
                          "quantity": "2"
                        },
                        "virtual_items": null
                      },
                      "refund_comment": null,
                      "refund_reason": null,
                      "status": "done",
                      "user_id": "user1"
                    }
                  }
                ],
                "schema": {
                  "items": {
                    "properties": {
                      "customer_details": {
                        "properties": {
                          "billing_address": {
                            "type": "string"
                          },
                          "bin": {
                            "type": "string"
                          },
                          "browser_language": {
                            "type": "string"
                          },
                          "country": {
                            "type": "string"
                          },
                          "ip": {
                            "type": "string"
                          },
                          "paystation_country": {
                            "type": "string"
                          },
                          "phone": {
                            "nullable": true,
                            "type": "string"
                          },
                          "timezone": {
                            "type": "string"
                          },
                          "user_id": {
                            "type": "string"
                          },
                          "user_name": {
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "finance_details": {
                        "properties": {
                          "direct_wht": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "dispute_fee": {
                            "properties": {
                              "amount": {
                                "description": "결제 통화로 표시된 분쟁 수수료 금액입니다.",
                                "format": "float",
                                "type": "number"
                              },
                              "currency": {
                                "description": "결제 통화입니다. [ISO 4217](/ko/doc/pay-station/references/supported-currencies/)에 따른 3자리 통화 코드입니다.",
                                "type": "string"
                              },
                              "date": {
                                "description": "분쟁이 시작된 날짜입니다.",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "payment": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "payment_method_fee": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "payment_method_sum": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "payout": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "payout_currency_rate": {
                            "format": "float",
                            "type": "number"
                          },
                          "repatriation_commission": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "sales_tax": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "vat": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "xsolla_balance_sum": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "xsolla_fee": {
                            "properties": {
                              "amount": {
                                "format": "float",
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "payment_details": {
                        "properties": {
                          "card_holdername": {
                            "nullable": true,
                            "type": "string"
                          },
                          "card_issuer": {
                            "type": "string"
                          },
                          "card_month": {
                            "type": "integer"
                          },
                          "card_number": {
                            "type": "integer"
                          },
                          "card_scheme": {
                            "type": "string"
                          },
                          "card_year": {
                            "type": "integer"
                          },
                          "customer_firstname": {
                            "type": "string"
                          },
                          "customer_lastname": {
                            "type": "string"
                          },
                          "enrollment": {
                            "type": "boolean"
                          },
                          "ps_account": {
                            "type": "string"
                          },
                          "zip_code": {
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "subscription_details": {
                        "properties": {
                          "is_payment_from_subscription": {
                            "type": "boolean"
                          },
                          "is_subscription_created": {
                            "type": "boolean"
                          }
                        },
                        "type": "object"
                      },
                      "transaction_details": {
                        "properties": {
                          "amount": {
                            "format": "float",
                            "type": "number"
                          },
                          "cancellation_date": {
                            "nullable": true,
                            "type": "string"
                          },
                          "country": {
                            "type": "string"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "custom_parameters": {
                            "nullable": true,
                            "type": "string"
                          },
                          "foreign_invoice": {
                            "nullable": true,
                            "type": "string"
                          },
                          "gift_recipient_email": {
                            "nullable": true,
                            "type": "string"
                          },
                          "gift_recipient_id": {
                            "nullable": true,
                            "type": "string"
                          },
                          "payment_date": {
                            "type": "string"
                          },
                          "payment_method": {
                            "type": "string"
                          },
                          "payment_method_name": {
                            "type": "string"
                          },
                          "project": {
                            "type": "integer"
                          },
                          "project_name": {
                            "type": "string"
                          },
                          "purchase": {
                            "properties": {
                              "checkout": {
                                "properties": {
                                  "amount": {
                                    "format": "float",
                                    "type": "number"
                                  },
                                  "currency": {
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "pin_codes": {
                                "properties": {
                                  "amount": {
                                    "format": "float",
                                    "type": "number"
                                  },
                                  "content": {
                                    "nullable": true,
                                    "type": "string"
                                  },
                                  "currency": {
                                    "nullable": true,
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "total": {
                                "properties": {
                                  "amount": {
                                    "format": "float",
                                    "type": "number"
                                  },
                                  "currency": {
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "virtual_currency": {
                                "properties": {
                                  "amount": {
                                    "format": "float",
                                    "type": "number"
                                  },
                                  "currency": {
                                    "type": "string"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "quantity": {
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "virtual_items": {
                                "nullable": true,
                                "properties": {
                                  "amount": {
                                    "format": "float",
                                    "type": "number"
                                  },
                                  "content": {
                                    "type": "string"
                                  },
                                  "currency": {
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              }
                            },
                            "type": "object"
                          },
                          "refund_comment": {
                            "nullable": true,
                            "type": "string"
                          },
                          "refund_reason": {
                            "nullable": true,
                            "type": "string"
                          },
                          "status": {
                            "type": "string"
                          },
                          "user_id": {
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "트랜잭션 정보를 성공적으로 반환했습니다."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "트랜잭션 정보 가져오기",
        "tags": [
          "reports"
        ],
        "x-admin": true,
        "x-server": true
      }
    },
    "/merchants/{merchant_id}/reports/transactions/{transaction_id}/partial_refund": {
      "put": {
        "description": "사용자에게 부분 환불 요청을 보냅니다. 부분 환불과 부분 환불을 지원하는 결제 방식에 대한 자세한 내용은 \n[문서](https://developers.xsolla.com/ko/doc/pay-station/features/refund/#pay_station_features_refund_how_it_works_partial_refund_flow)을 참조해 주세요.\n\n<div class=\"note\">\n<p><strong>참고</strong></p><p>샌드박스 모드에서 이 API 메소드를 호출할 수 있습니다. 이렇게 하려면 요청에서 테스트 결제 데이터를 전달합니다. 샌드박스 모드 액세스 및 테스트 시나리오에 대한 자세한 내용은 <a href=\"https://developers.xsolla.com/ko/doc/pay-station/testing/test-one-time-purchase-in-sandbox/#pay_station_testing_sandbox_bank_card_partial_refund\">지침</a>을 참조하세요.</p>\n</div>\n\n<p></p>\n\n<div class=\"notice\">\n<p><strong>주의</strong></p><p>이 API 호출에는 <code>project_id</code> 경로 매개 변수가 포함되어 있지 않으므로 회사의 모든 프로젝트에서 유효한 API 키를 사용하여 인증을 설정해야 합니다.</p>\n</div>\n",
        "operationId": "request-partial-refund",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/transaction-id-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "description": "test refund request",
                "refund_amount": 1.5
              },
              "schema": {
                "properties": {
                  "description": {
                    "description": "환불 사유입니다.",
                    "maxLength": 4000,
                    "type": "string"
                  },
                  "refund_amount": {
                    "description": "구매 통화로 표시된 환불 금액입니다.",
                    "format": "float",
                    "type": "number"
                  }
                },
                "required": [
                  "description",
                  "refund_amount"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "환불 요청이 수락됨"
          },
          "403": {
            "description": "필요한 권한이 없음"
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "message": "Transaction with specified ID does not exist."
                },
                "schema": {
                  "properties": {
                    "message": {
                      "description": "지정한 ID의 거래가 존재하지 않습니다. 결제 자격 증명을 확인하세요. 또는 엑솔라 지원팀 support@xsolla.com에 연락해 주세요.",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "거래를 찾을 수 없음"
          },
          "422": {
            "content": {
              "application/json": {
                "example": {
                  "message": "Partial refund is unavailable for subscription payments."
                },
                "schema": {
                  "properties": {
                    "message": {
                      "description": "**환불을 처리할 수 없음**\n\n다음 메시지 중 하나를 반환합니다.\n- Partial refund is unavailable for operations with user balance.\n- Requested transaction is partial refund and cannot be canceled.\n- Partial refund is unavailable for subscription payments.\n- Refund cannot be completed due to a payment system error. Please try again \n  later.\n- Requested partial refund amount exceeds payment amount.\n- Requested partial refund amount is less than minimum amount specified by \n  payment system.\n- Payment amount after partial refund will be less than allowable amount \n  specified by payment system.\n- Dispute for this invoice is already opened. Can’t make a refund yet.\n\n**현재의 결제 수단은 부분 환불을 지원하지 않음**\n\n다음 메시지 중 하나를 반환합니다.\n- Current payment method does not support partial refunds.\n- Current transaction status does not allow refunds.\n- Deadline for refund is exceeded.\n- Partial refund is unavailable because discount was applied during payment \n  creation.\n\n**잘못된 정밀도 설정으로 인해 부분 환불을 실행할 수 없음**\n\n다음 메시지를 반환합니다.\n- Partial refund is unavailable because requested amount is specified with \n  incorrect precision for purchase currency.\n",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "처리할 수 없는 엔터티"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "부분 환불",
        "tags": [
          "refund"
        ],
        "x-server": true
      }
    },
    "/merchants/{merchant_id}/reports/transactions/{transaction_id}/refund": {
      "put": {
        "description": "환불 요청을 전송하여 사용자에게 결제 금액을 반환합니다. 해당 절차에 대해 자세히 알아보려면 [환불 \n기능](https://developers.xsolla.com/ko/doc/pay-station/features/refund/)을 읽어 보십시오.\n\n<div class=\"note\">\n<p><strong>참고</strong></p><p>샌드박스 모드에서 이 API 메소드를 호출할 수 있습니다. 이렇게 하려면 요청에서 테스트 결제 데이터를 전달합니다. 샌드박스 모드 액세스 및 테스트 시나리오에 대한 자세한 내용은 <a href=\"https://developers.xsolla.com/ko/doc/pay-station/testing/test-one-time-purchase-in-sandbox/#pay_station_testing_sandbox_bank_card_refund\">지침</a>을 참조하세요.</p>\n</div>\n\n<p></p>\n\n<div class=\"notice\">\n<p><strong>주의</strong></p><p>이 API 호출에는 <code>project_id</code> 경로 매개 변수가 포함되어 있지 않으므로 회사의 모든 프로젝트에서 유효한 API 키를 사용하여 인증을 설정해야 합니다.</p>\n</div>\n",
        "operationId": "request-refund",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/transaction-id-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "description": "test refund request"
              },
              "schema": {
                "properties": {
                  "description": {
                    "description": "환불 사유입니다.",
                    "maxLength": 4000,
                    "type": "string"
                  },
                  "email": {
                    "description": "사용자 이메일.",
                    "maxLength": 100,
                    "type": "string"
                  }
                },
                "required": [
                  "description"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "message": "The request for a refund has been accepted. Xsolla CS will automatically send the customer an email with alternative refund options as the user's method does not support direct refunds."
                },
                "schema": {
                  "properties": {
                    "message": {
                      "description": "다음 두 메시지 중 하나를 반환할 수 있습니다.\n- No content.\n- The request for a refund has been accepted. Xsolla CS will manually complete the refund. It may take up to two business days.\n- The request for a refund has been accepted. Xsolla CS will automatically send the customer an email with alternative refund options as the user's method does not support direct refunds.",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK(오류 없음)."
          },
          "204": {
            "description": "환불 요청이 수락됨."
          },
          "401": {
            "description": "Unauthorized(액세스가 거부됨)."
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "message": "Transaction ID not valid. Please check payment credentials. Otherwise, contact Xsolla support at support@xsolla.com."
                },
                "schema": {
                  "properties": {
                    "message": {
                      "description": "트랜잭션 ID가 유효하지 않습니다. 결제 자격 증명을 확인하세요. 또는 엑솔라 지원팀 support@xsolla.com에 연락해 주세요.",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "거래를 찾을 수 없습니다."
          },
          "422": {
            "content": {
              "application/json": {
                "example": {
                  "message": "We are processing the refund request. This may take up to two business days."
                },
                "schema": {
                  "properties": {
                    "message": {
                      "description": "다음 두 메시지 중 하나를 반환할 수 있습니다.\n- We are processing the refund request. This may take up to two business days.\n- We are reaching the user for the information required for the refund. For details, contact Xsolla Support.\n- Incorrect payment status. Refund is possible only for payments with \"completed\" or \"error\" status.\n- To process this request, the customer's email address field must be filled. Please specify the customer's email address and try again.\n- Full refund is unavailable because there are successful partial refunds for this transaction.\n- Refund failed. Please contact Xsolla Support to process it manually.\n- Dispute for this invoice is already opened. Can’t make a refund yet.",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Unprocessable Entity(유효하지 않은 요청 매개 변수)."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "전체 환불",
        "tags": [
          "refund"
        ],
        "x-server": true
      }
    },
    "/merchants/{merchant_id}/reports/transfers": {
      "get": {
        "description": "일정 기간 동안의 모든 지불금을 나열합니다.\n\n<div class=\"notice\">\n<p><strong>주의</strong></p><p>이 API 호출에는 <code>project_id</code> 경로 매개 변수가 포함되어 있지 않으므로 회사의 모든 프로젝트에서 유효한 API 키를 사용하여 인증을 설정해야 합니다.</p>\n</div>\n",
        "operationId": "get-payouts",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/datetime-from"
          },
          {
            "$ref": "#/components/parameters/datetime-to"
          },
          {
            "$ref": "#/components/parameters/legal-entity-id"
          },
          {
            "$ref": "#/components/parameters/payout-status"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": [
                  {
                    "canceled": 0,
                    "payout": {
                      "currency": "USD",
                      "date": "2014-01-03T00:00:00+04:00",
                      "id": 1,
                      "note": "12/05/2013 - 01/04/2014"
                    },
                    "rate": 1,
                    "transfer": {
                      "currency": "USD",
                      "date": "2014-01-05T00:00:00+04:00",
                      "note": "004357"
                    }
                  }
                ]
              }
            },
            "description": "OK."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "모든 송금 나열",
        "tags": [
          "reports"
        ],
        "x-admin": true,
        "x-server": true
      }
    },
    "/merchants/{merchant_id}/token": {
      "post": {
        "description": "임의의 사용자 매개변수로 토큰을 생성할 수 있습니다. 토큰을 받을 때 이러한 매개변수를 전송하고, 결제가 성공적으로 완료된 후 전송했던 \n매개변수를 다시 받습니다. 토큰에는 이 문서에 설명되어 있거나 미리 정의한 매개변수만 포함할 수 있습니다.\n\n매개변수가 잘못된 형식으로 전송되거나 잘못된 유형인 경우 토큰이 발급되지 않습니다. JSON 본문으로 오류 설명이 포함된 422 HTTP \n코드를 받게 됩니다. `extended_message`로 정확히 어떤 매개변수가 잘못 전송되었는지에 대한 정보를 받게 됩니다.\n\n기본적으로 토큰의 수명은 24시간입니다. 이 값을 변경하려면 계정 관리자에게 문의하거나 <a \nhref=\"mailto:csm@xsolla.com\">csm@xsolla.com</a>으로 이메일을 보내주세요. 새 값은 <a \nhref=\"https://publisher.xsolla.com/\">관리자 페이지</a>에서 생성한 회사의 모든 프로젝트에서 활성화됩니다.\n\n<div class=\"notice\">\n<p><strong>주의</strong></p><p>이 API 메소드를 호출한 후 획득한 토큰은 다른 요청을 인증하는 용도로만 사용할 수 있습니다. 이 토큰은 <a href=\"https://developers.xsolla.com/ko/doc/subscriptions/\">정기 결제</a> 제품을 연동한 경우에만 결제 UI를 여는 데 사용할 수 있습니다.</p><p>결제 UI를 새 창에서 열려면 <code>https://secure.xsolla.com/paystation4/?token={token}</code> 링크를 사용합니다. 여기서 <code>{token}</code> 은 수신한 토큰입니다.</p><p>테스트를 진행할 때에는 <code>https://sandbox-secure.xsolla.com/paystation4/?token={token}</code> URL을 사용합니다.</p>\n</div>\n\n<p></p>\n\n<div class=\"notice\">\n<p><strong>주의</strong></p><p>이 API 호출에는 <code>project_id</code> 경로 매개 변수가 포함되어 있지 않으므로 회사의 모든 프로젝트에서 유효한 API 키를 사용하여 인증을 설정해야 합니다.</p>\n</div>\n",
        "operationId": "create-token",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/token"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "token": "eop57k1boA7nnYPtewZ6KEXJyJADEwRT"
                },
                "schema": {
                  "properties": {
                    "token": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Created."
          },
          "422": {
            "content": {
              "application/json": {
                "example": {
                  "extended_message": {
                    "global_errors": [],
                    "property_errors": {
                      "purchase.checkout.amount": [
                        "String value found, but a number is required"
                      ]
                    }
                  },
                  "http_status_code": 422,
                  "message": "JSON is not valid against json schema, please check documentation https://developers.xsolla.com/ko/api/v2/getting-started/#api_token_ui",
                  "request_id": "cd72633"
                },
                "schema": {
                  "properties": {
                    "extended_message": {
                      "properties": {
                        "global_errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "property_errors": {
                          "description": "개체는 오류 설명과 함께 매개 변수 이름을 포함합니다.",
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "http_status_code": {
                      "type": "integer"
                    },
                    "message": {
                      "type": "string"
                    },
                    "request_id": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Unprocessable Entity."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "토큰 생성",
        "tags": [
          "token"
        ],
        "x-server": true
      }
    },
    "/projects/{project_id}/users/{user_id}/payment_accounts": {
      "get": {
        "description": "사용자의 저장된 결제 계정을 나열합니다.\n\n<div class=\"note\">\n<p><strong>참고</strong></p><p>샌드박스 모드에서는 3D 보안 기능이 없는 <a href=\"https://developers.xsolla.com/ko/doc/pay-station/testing/test-cards/\">테스트 카드</a>에서만 이 API 호출이 작동합니다.</p>\n</div>\n",
        "operationId": "get-saved-accounts",
        "parameters": [
          {
            "$ref": "#/components/parameters/project-id-path-param"
          },
          {
            "$ref": "#/components/parameters/user-id-path-param"
          },
          {
            "$ref": "#/components/parameters/mode"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 4612345,
                    "name": "PP_saved_account",
                    "payment_system": {
                      "id": 24,
                      "name": "PayPal"
                    },
                    "type": "paypal"
                  }
                ]
              }
            },
            "description": "OK."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "저장된 결제 계정 나열",
        "tags": [
          "tokenization"
        ],
        "x-server": true
      }
    },
    "/projects/{project_id}/users/{user_id}/payment_accounts/{type}/{account_id}": {
      "delete": {
        "description": "저장된 결제 계정 삭제.\n\n<div class=\"note\">\n<p><strong>참고</strong></p><p>샌드박스 모드에서는 3D 보안 기능이 없는 <a href=\"https://developers.xsolla.com/ko/doc/pay-station/testing/test-cards/\">테스트 카드</a>에서만 이 API 호출이 작동합니다.</p>\n</div>\n\n<p></p>\n\n<div class=\"note\">\n<p><strong>참고</strong></p><p>샌드박스 모드에서 이 API 메소드를 호출할 수 있습니다. 이렇게 하려면 요청에서 테스트 결제 계정 데이터를 전달합니다. 샌드박스 모드 액세스 및 테스트 시나리오에 대한 자세한 내용은 <a href=\"https://developers.xsolla.com/ko/doc/pay-station/testing/test-saved-cards-in-sandbox/#pay_station_testing_tokenization_sandbox_delete_saved_card\">지침</a>을 참조하세요.</p>\n</div>\n",
        "operationId": "delete-saved-account",
        "parameters": [
          {
            "$ref": "#/components/parameters/project-id-path-param"
          },
          {
            "$ref": "#/components/parameters/user-id-path-param"
          },
          {
            "$ref": "#/components/parameters/type-path-param"
          },
          {
            "$ref": "#/components/parameters/account-id-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "저장된 결제 계정 삭제",
        "tags": [
          "tokenization"
        ],
        "x-server": true
      }
    },
    "/projects/{project_id}/users/{user_id}/payments/{type}/{account_id}": {
      "post": {
        "description": "저장된 결제 계정을 사용하여 청구합니다.\n\n<div class=\"note\">\n<p><strong>참고</strong></p><p>샌드박스 모드에서는 3D 보안 기능이 없는 <a href=\"https://developers.xsolla.com/ko/doc/pay-station/testing/test-cards/\">테스트 카드</a>에서만 이 API 호출이 작동합니다.</p>\n</div>\n\n<p></p>\n\n<div class=\"notice\">\n<p><strong>주의</strong></p><p>API 호출이 올바르게 작동되게 하려면 시간제한을 2분으로 구성하세요.</p>\n</div>\n",
        "operationId": "charge-with-saved-account",
        "parameters": [
          {
            "$ref": "#/components/parameters/project-id-path-param"
          },
          {
            "$ref": "#/components/parameters/user-id-path-param"
          },
          {
            "$ref": "#/components/parameters/type-path-param"
          },
          {
            "$ref": "#/components/parameters/account-id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/charge-with-saved-account"
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "transaction_id": 123458390
                },
                "schema": {
                  "properties": {
                    "transaction_id": {
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Created."
          },
          "422": {
            "description": "Unprocessable Entity."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "저장한 계정으로 청구",
        "tags": [
          "tokenization"
        ],
        "x-server": true
      }
    }
  },
  "components": {
    "securitySchemes": {
      "basicAuth": {
        "description": "엑솔라 API는 기본 액세스 인증을 사용합니다. API에 대한 모든 요청은 `Authorization: Basic <your_authorization_basic_key>` 헤더를 포함해야 하며 여기서 `<your_authorization_basic_key>`는 Base64 표준에 따라 인코딩 된 `merchant_id:api_key` 쌍입니다. \n\n[게시자 계정](https://publisher.xsolla.com/)으로 이동하여 다음 매개변수를 찾습니다.<ul><li>`merchant_id`의 표시 위치:<ul><li>**회사 설정 > 회사 섹션**</li><li>관리자 페이지에서 브라우저 주소 표시줄의 URL. 이 URL의 형식:`https://publisher.xsolla.com/<merchant_id>`</li></ul></li><li>`api_key`는 생성될 때 한 번만 게시자 계정에 표시되며 자체적으로 보관해야 합니다. 다음 섹션에서 새 키를 생성할 수 있습니다.<ul><li>**회사 설정 > API 키**</li><li>**프로젝트 설정 > API 키**</li></ul></li></ul><br>\nAPI 키 작업에 대한 자세한 정보는 [API 참조](https://developers.xsolla.com/ko/api/getting-started/#api_keys_overview)를 확인하세요.",
        "scheme": "basic",
        "type": "http"
      }
    },
    "parameters": {
      "merchant-id-path-param": {
        "description": "판매자 ID입니다.",
        "in": "path",
        "name": "merchant_id",
        "required": true,
        "schema": {
          "type": "integer"
        }
      },
      "project-id-path-param": {
        "description": "프로젝트 ID.",
        "in": "path",
        "name": "project_id",
        "required": true,
        "schema": {
          "type": "integer"
        }
      },
      "transaction-id-path-param": {
        "description": "트랜잭션 ID.",
        "in": "path",
        "name": "transaction_id",
        "required": true,
        "schema": {
          "type": "integer"
        }
      },
      "datetime-from-req": {
        "description": "기간은 YYYY-MM-DD 형식으로 시작합니다. 다음 매개 변수 중 하나 이상이 전달되는 경우 필요하지 않습니다:<ul><li>`transfer_id`</li><li>`report_id`</li></ul>",
        "example": "2023-02-08",
        "in": "query",
        "name": "datetime_from",
        "required": true,
        "schema": {
          "format": "datetime",
          "type": "string"
        }
      },
      "datetime-to-req": {
        "description": "기간은 YYYY-MM-DD 형식으로 끝납니다. 다음 매개 변수 중 하나 이상이 전달되는 경우 필요하지 않습니다:<ul><li>`transfer_id`</li><li>`report_id`</li></ul> `datetime_from`와(과) `datetime_to` 사이의 차이는 92일을 초과할 수 없습니다.",
        "example": "2023-03-08",
        "in": "query",
        "name": "datetime_to",
        "required": true,
        "schema": {
          "format": "datetime",
          "type": "string"
        }
      },
      "format": {
        "description": "데이터 형식",
        "in": "path",
        "name": "format",
        "required": true,
        "schema": {
          "enum": [
            "json",
            "csv",
            "xls"
          ],
          "type": "string"
        }
      },
      "in-transfer-currency": {
        "description": "모든 재무 데이터를 지급 통화로 변환합니다(기본적으로 지급 통화가 사용됨). 다음 매개 변수 중 하나 이상이 전달되는 경우 필요하지 않습니다:<ul><li>`transfer_id`</li><li>`report_id`</li></ul>",
        "in": "query",
        "name": "in_transfer_currency",
        "required": true,
        "schema": {
          "type": "integer"
        }
      },
      "show-total": {
        "description": "보고서에 총 거래 금액을 포함할지 여부입니다. CSV 형식으로만 내보낼 수 있습니다. 기본값은 `true`입니다.",
        "in": "query",
        "name": "show_total",
        "schema": {
          "type": "boolean"
        }
      },
      "merchant-of-records": {
        "description": "머천트 오브 레코드. `xsolla` 혹은 `merchant` 이거나 명시되지 않음. `merchant`인 경우, 파트너의 게이트웨이를 통한 거래를 반환합니다. `xsolla`인 경우에는, 파트너의 게이트웨이를 거치지 않은 거래를 반환합니다. 명시되지 않은 경우에는, 모든 거래를 반환합니다.",
        "in": "query",
        "name": "merchant_of_records",
        "required": false,
        "schema": {
          "enum": [
            "xsolla",
            "merchant"
          ],
          "nullable": true,
          "type": "string",
          "x-enumDescriptions": {
            "merchant": "파트너의 게이트웨이를 통한 거래를 반환합니다.",
            "xsolla": "파트너의 게이트웨이를 거치지 않은 거래를 반환합니다."
          }
        }
      },
      "project-id-query-param": {
        "description": "프로젝트 ID.",
        "in": "query",
        "name": "project_id",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "show-dry-run": {
        "description": "테스트 트랜잭션을 포함할지 여부를 나타냅니다.",
        "in": "query",
        "name": "show_dry_run",
        "required": false,
        "schema": {
          "type": "boolean"
        }
      },
      "transfer-id": {
        "description": "트랜잭션 전송 ID입니다.",
        "in": "query",
        "name": "transfer_id",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "report-id": {
        "description": "재무 보고서 ID입니다.",
        "in": "query",
        "name": "report_id",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "offset": {
        "description": "목록이 생성된 요소 개수(개수는 0부터 시작함).",
        "in": "query",
        "name": "offset",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "limit-req": {
        "description": "페이지에 표시되는 트랜잭션 수에 대한 제한. 이 매개 변수가 전달되면 `datetime_from` 및 `datetime_to` 매개 변수를 전달할 필요가 없습니다.",
        "in": "query",
        "name": "limit",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "transaction-status": {
        "description": "트랜잭션의 상태입니다.",
        "in": "query",
        "name": "status",
        "required": false,
        "schema": {
          "enum": [
            "done",
            "canceled",
            "error",
            "refunded"
          ],
          "type": "string"
        }
      },
      "datetime-from": {
        "description": "날짜 범위의 시작입니다.",
        "in": "query",
        "name": "datetime_from",
        "required": false,
        "schema": {
          "format": "datetime",
          "type": "string"
        }
      },
      "datetime-to": {
        "description": "날짜 범위의 끝입니다.",
        "in": "query",
        "name": "datetime_to",
        "required": false,
        "schema": {
          "format": "datetime",
          "type": "string"
        }
      },
      "transaction-id": {
        "description": "트랜잭션 ID.",
        "in": "query",
        "name": "transaction_id",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "type": {
        "description": "검색 결과에 표시되는 거래 유형:",
        "in": "query",
        "name": "type",
        "required": false,
        "schema": {
          "enum": [
            "all",
            "transferred",
            "canceled",
            "test"
          ],
          "type": "string",
          "x-enumDescriptions": {
            "all": "모든 거래.",
            "canceled": "취소된 거래(테스트 거래 제외).",
            "test": "테스트 거래.",
            "transferred": "성공한 거래(테스트 거래 제외)."
          }
        }
      },
      "phone": {
        "description": "게임유저 전화 번호입니다(국제 형식).",
        "in": "query",
        "name": "phone",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "user-id-query-param": {
        "description": "귀하 측에 저장된 게임 내 고유 사용자 ID입니다. 기존 사용자 ID여야 합니다. 오류가 발생하면 [자주 묻는 질문에 대한 답변](/ko/doc/pay-station/references/faq/#faq_validation)을 참조해 주세요.",
        "in": "query",
        "name": "user_id",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "user-name": {
        "description": "사용자 이름.",
        "in": "query",
        "name": "user_name",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "user-custom": {
        "description": "게임유저 식별을 위한 파라미터를 사용자 지정합니다.",
        "in": "query",
        "name": "user_custom",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "email": {
        "description": "사용자 이메일.",
        "in": "query",
        "name": "email",
        "required": false,
        "schema": {
          "maxLength": 100,
          "type": "string"
        }
      },
      "external-id": {
        "description": "게임의 트랜잭션 ID 입니다. 각 사용자 결제별로 고유해야 합니다.",
        "in": "query",
        "name": "external_id",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "order-id": {
        "description": "주문 ID. 주문 ID를 사용하여 [주문 가져오기](/ko/api/shop-builder/operation/get-order/) API 메서드를 호출할 수 있습니다.",
        "example": 1234,
        "in": "query",
        "name": "order_id",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "limit": {
        "description": "페이지 요소 개수 제한.",
        "in": "query",
        "name": "limit",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "status": {
        "in": "query",
        "name": "status",
        "required": false,
        "schema": {
          "$ref": "#/components/schemas/status.enum"
        }
      },
      "legal-entity-id": {
        "description": "개발자 법인 엔터티 ID",
        "in": "query",
        "name": "legal_entity_id",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "payout-status": {
        "description": "지불 상태.",
        "in": "query",
        "name": "status",
        "required": false,
        "schema": {
          "enum": [
            "hold",
            "ready",
            "paid"
          ],
          "type": "string",
          "x-enumDescriptions": {
            "hold": "요청이 진행되기를 기다리는 중.",
            "paid": "지불이 완료됨.",
            "ready": "지불이 진행 중."
          }
        }
      },
      "user-id-path-param": {
        "description": "귀하 측에 저장된 게임 내 고유 사용자 ID입니다. 기존 사용자 ID여야 합니다. 오류가 발생하면 [자주 묻는 질문에 대한 답변](/ko/doc/pay-station/references/faq/#faq_validation)을 참조해 주세요.",
        "in": "path",
        "name": "user_id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "mode": {
        "description": "결제 프로세스를 테스트하려면 `sandbox`로 설정하세요. 실제 결제를 진행하려면 매개변수를 제거하세요.",
        "in": "query",
        "name": "mode",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "type-path-param": {
        "description": "결제 계정 유형.",
        "in": "path",
        "name": "type",
        "required": true,
        "schema": {
          "enum": [
            "card",
            "amazon",
            "skrill",
            "paypal",
            "toss",
            "alipayplus_cn",
            "alipayplus_hk",
            "alipayplus_gcash",
            "alipayplus_dana",
            "alipayplus_rabbitlinepay",
            "alipayplus_tng",
            "alipayplus_boost",
            "alipayplus_truemoney",
            "alipayplus_maya",
            "alipayplus_kplus",
            "softbank_paypay",
            "softbank_docomo",
            "softbank_softbank2",
            "softbank_au",
            "softbank_ymobile",
            "paysafecard_eu",
            "paysafecard_us",
            "paidy",
            "klarna",
            "mercadopago",
            "nupay"
          ],
          "type": "string",
          "x-enumDescriptions": {
            "alipayplus_boost": "Boost.",
            "alipayplus_cn": "Alipay.",
            "alipayplus_dana": "DANA.",
            "alipayplus_gcash": "GCash.",
            "alipayplus_hk": "Alipay(홍콩).",
            "alipayplus_kplus": "K PLUS.",
            "alipayplus_maya": "Maya.",
            "alipayplus_rabbitlinepay": "Rabbit LINE 페이.",
            "alipayplus_tng": "Touch 'n Go.",
            "alipayplus_truemoney": "TrueMoney 지갑.",
            "amazon": "Amazon 페이.",
            "card": "은행 카드.",
            "klarna": "Klarna. 결제 계정 적립은 미국, 영국, 스웨덴, 독일, 오스트리아, 노르웨이, 핀란드, 덴마크, 네덜란드 국가에서만 가능합니다.",
            "mercadopago": "Mercado Pago(Mercado Pago Connect 포함).",
            "nupay": "NuPay.",
            "paidy": "Paidy.",
            "paypal": "PayPal.",
            "paysafecard_eu": "Paysafecard(유럽 연합).",
            "paysafecard_us": "Paysafecard(미국).",
            "skrill": "Skrill 디지털 지갑.",
            "softbank_au": "au Easy Payment.",
            "softbank_docomo": "Docomo.",
            "softbank_paypay": "PayPay.",
            "softbank_softbank2": "SoftBank.",
            "softbank_ymobile": "Y!mobile.",
            "toss": "Toss 지갑."
          }
        }
      },
      "account-id-path-param": {
        "description": "엑솔라 시스템에 저장된 계정의 ID입니다.",
        "in": "path",
        "name": "account_id",
        "required": true,
        "schema": {
          "type": "integer"
        }
      }
    },
    "schemas": {
      "empty-body": {
        "description": "API 호출이 올바르게 작동하려면 요청 본문이 비어 있어야 합니다.",
        "nullable": true,
        "type": "object"
      },
      "status.enum": {
        "description": "트랜잭션의 상태입니다.",
        "enum": [
          "created",
          "processing",
          "review",
          "error",
          "done",
          "awaitingRefund",
          "refunded",
          "canceled",
          "partiallyRefunded"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "awaitingRefund": "트랜잭션 환불 결정을 기다리고 있습니다. 사용자가 환불을 요청하면 엑솔라 고객 지원팀에서 요청을 수동으로 처리하고 환불을 결정합니다.",
          "canceled": "가능한 사례는 다음과 같습니다.\n - 결제 시스템 측에서 거래를 취소했습니다. 예를 들어, 사용자 계정에 잔액이 부족한 경우입니다.\n - 사용자에게 결제 금액이 환불되었습니다.",
          "created": "사용자가 트랜잭션을 시작했지만 아직 처리되지 않았습니다.",
          "done": "트랜잭션을 성공적으로 처리했습니다.",
          "error": "트랜잭션을 처리하는 동안 오류가 발생했습니다. 오류가 발생한 결제 금액은 엑솔라 고객 지원팀에 연락하여 환불받을 수 있습니다.",
          "partiallyRefunded": "사용자가 부분 환불을 받았습니다.",
          "processing": "트랜잭션을 처리하고 있습니다.",
          "refunded": "사용자의 엑솔라 잔액으로 환불이 이루어졌습니다.",
          "review": "부정 결제 방지 시스템에 의해 트랜잭션 처리가 일시 중지되었으며 현재 추가로 거래를 확인하고 있습니다."
        }
      },
      "custom_parameters": {
        "description": "이 개체에는 부정 결제 방지 필터를 구성하는 매개 변수가 포함되어 있습니다. 매개 변수 목록은 아래와 같습니다. 사용자 정의 매개 변수를 추가하려면 계정 관리자에게 문의하거나 [csm@xsolla.com](mailto:csm@xsolla.com)으로 이메일을 보내 주세요.",
        "properties": {
          "active_date": {
            "description": "[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)에 따른 마지막 확인 날짜.",
            "type": "string"
          },
          "additional_verification": {
            "description": "플레이어가 계정 확인 절차를 사용하고 있는지 여부.",
            "type": "boolean"
          },
          "character_customized": {
            "description": "플레이어가 자신의 캐릭터를 맞춤 설정했는지 여부.",
            "type": "boolean"
          },
          "chat_activity": {
            "description": "플레이어의 채팅 기능 사용 여부.",
            "type": "boolean"
          },
          "completed_tasks": {
            "description": "완료한 임무/목표의 수.",
            "type": "integer"
          },
          "forum_activity": {
            "description": "플레이어의 포럼 기능 사용 여부.",
            "type": "boolean"
          },
          "items_used": {
            "description": "플레이어가 구매한 인게임 아이템을 사용하고 있는지 여부.",
            "type": "boolean"
          },
          "karma_points": {
            "description": "플레이어의 카르마.",
            "type": "integer"
          },
          "last_change_password_date": {
            "description": "[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)에 따른 마지막 암호 변경 날짜.",
            "type": "string"
          },
          "non_premium_currency": {
            "description": "프리미엄이 아닌 통화의 금액.",
            "format": "float",
            "type": "number"
          },
          "notifications_enabled": {
            "description": "플레이어가 알림을 활성화했는지 여부.",
            "type": "boolean"
          },
          "profile_completed": {
            "description": "플레이어가 프로필에 추가 정보를 추가했는지 여부.",
            "type": "boolean"
          },
          "profile_image_added": {
            "description": "플레이어가 프로필 이미지를 업로드했는지 여부.",
            "type": "boolean"
          },
          "pvp_activity": {
            "description": "플레이어가 PvP(플레이어 대 플레이어) 전투에 참여하고 있는지 여부.",
            "type": "boolean"
          },
          "registration_date": {
            "description": "[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)에 따른 계정 생성일.",
            "type": "string"
          },
          "session_time": {
            "description": "[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)에 따른 평균 세션 시간.",
            "type": "string"
          },
          "social_networks_added": {
            "description": "플레이어가 소셜 미디어 프로필을 연결했는지 여부.",
            "type": "boolean"
          },
          "total_bans": {
            "description": "플레이어가 채팅/포럼에서 금지된 횟수.",
            "type": "integer"
          },
          "total_characters": {
            "description": "인게임 캐릭터 수.",
            "type": "integer"
          },
          "total_clans": {
            "description": "플레이어가 가입한 클랜의 수.",
            "type": "integer"
          },
          "total_friends": {
            "description": "친구의 수.",
            "type": "integer"
          },
          "total_game_events": {
            "description": "플레이어가 참여했던 인게임 이벤트의 수.",
            "type": "integer"
          },
          "total_gifts": {
            "description": "플레이어가 전송/수신한 인게임 선물의 수.",
            "type": "integer"
          },
          "total_hours": {
            "description": "총 인게임 시간.",
            "type": "integer"
          },
          "total_inventory_value": {
            "description": "인벤토리의 총 가치(인게임 통화).",
            "format": "float",
            "type": "number"
          },
          "total_sum": {
            "description": "총 결제 금액.",
            "format": "float",
            "type": "number"
          },
          "tutorial_completed": {
            "description": "플레이어가 게임 튜토리얼을 완료했는지 여부.",
            "type": "boolean"
          },
          "unlocked_achievements": {
            "description": "잠금을 해제한 업적의 수.",
            "type": "integer"
          },
          "user_level": {
            "description": "플레이의 레벨, 명성 또는 순위.",
            "type": "integer"
          },
          "win_rate": {
            "description": "승률.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "is_lootbox": {
        "default": false,
        "description": "아이템이 전리품 상자인지 여부입니다.",
        "type": "boolean"
      },
      "subscription": {
        "description": "정기결제 데이터 관련 값입니다.",
        "properties": {
          "available_plans": {
            "description": "구독권에 대한 데이터가 있는 배열입니다. 오직 이러한 구독권만 결제 UI에 보여집니다.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "currency": {
            "description": "구매 시 플랜의 통화, 이를 바탕으로 모든 계산이 수행됩니다.",
            "type": "string"
          },
          "operation": {
            "description": "사용자의 구독 플랜에 적용되는 작업 유형. 구독 플랜을 변경하려면 `change_plan` 값을 전달합니다. `purchase.subscription.plan_id` 매개변수에서 새 플랜 ID를 지정해야 합니다.",
            "type": "string"
          },
          "plan_id": {
            "description": "구독 플랜 외부 ID. 게시자 계정의 **구독 > 구독 플랜** 섹션에서 확인할 수 있습니다.",
            "type": "string"
          },
          "product_id": {
            "description": "제품 ID.",
            "type": "string"
          },
          "trial_days": {
            "description": "평가 기간(일)입니다.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "purchase": {
        "description": "구매 데이터 관련 값입니다.",
        "properties": {
          "is_lootbox": {
            "$ref": "#/components/schemas/is_lootbox"
          },
          "subscription": {
            "$ref": "#/components/schemas/subscription"
          }
        },
        "type": "object"
      },
      "cancel_url": {
        "description": "사용자가 결제를 완료하기 전에 결제 UI를 닫을 때 리디렉션되는 페이지의 URL입니다. 이는 `settings.​ui.​desktop.​header` 또는 `settings.​ui.​mobile` 개체를 사용하여 결제 UI를 닫는 버튼을 구성한 경우에만 작동합니다. 해당 버튼이 구성되어 있지만 이 매개 변수에 URL이 전달되지 않은 경우, `settings.return_url` 매개 변수에 전달된 URL이 사용됩니다.",
        "type": "string"
      },
      "currency": {
        "description": "선호하는 결제 통화입니다. 통화의 3자리 정의가 [ISO 4217](https://developers.xsolla.com/ko/doc/pay-station/references/supported-currencies/)에 따라 사용됩니다.",
        "type": "string"
      },
      "external_id": {
        "description": "게임 내 트랜잭션 ID. 각 사용자 결제마다 고유해야 합니다. 자세한 정보는 <a href=\"https://developers.xsolla.com/ko/doc/pay-station/references/faq/#faq_payments_q_new_transaction_external_id\">문서 자료</a>를 참조하세요.",
        "type": "string"
      },
      "language": {
        "description": "인터페이스 언어입니다. 2자리 소문자 [언어 코드](https://developers.xsolla.com/ko/doc/pay-station/features/localization/)입니다.",
        "type": "string"
      },
      "mode.settings": {
        "description": "결제 프로세스를 테스트하기 위한 `sandbox` 값을 설정합니다. 참고로 결제 UI의 URL은 *https://sandbox-secure.xsolla.com* 이 됩니다.",
        "type": "string"
      },
      "payment_method": {
        "description": "결제 수단의 ID입니다.",
        "type": "integer"
      },
      "payment_widget": {
        "description": "결제 위젯. '페이바이캐쉬(`paybycash`)' 혹은 '기프트카드(`giftcard`)'일 수 있습니다. 한도가 설정되면, 사용자는 각각 페이바이캐쉬(Pay by Cash) 혹은 기프트 카드(Gift Cards) 위젯으로 다시 보내집니다.",
        "enum": [
          "paybycash",
          "giftcard"
        ],
        "type": "string"
      },
      "project_id": {
        "description": "엑솔라 시스템 내의 게임 식별자입니다. 판매자 계정 에서 확인할 수 있습니다.",
        "type": "integer"
      },
      "redirect_policy": {
        "description": "재지정 정책 설정(객체).",
        "properties": {
          "delay": {
            "description": "사용자가 복귀 URL로 자동 재지정된 이후 지연 시간(초).",
            "type": "integer"
          },
          "manual_redirection_action": {
            "description": "페이 스테이션 동작은 닫기 버튼 또는 **게임으로 돌아가기** 버튼을 사용자가 클릭하면 트리거됩니다. `redirect`(기본값) 및 `postmessage`가 될 수 있습니다. `redirect`로 설정되었다면 사용자는 토큰에서 전달되었거나 게시자 계정에서 지정된 URL로 리디렉션 됩니다. `postmessage`로 설정되었다면 사용자는 다른 페이지로 리디렉션되지 않습니다. 닫기 아이콘 버튼을 클릭하면 `close` 이벤트 보내기 및 clicking the **게임으로 돌아가기** 버튼 클릭(`return` 이벤트)이 초기화됩니다.",
            "enum": [
              "redirect",
              "postmessage"
            ],
            "type": "string"
          },
          "redirect_button_caption": {
            "description": "수동 재지정 버튼 문구.",
            "type": "string"
          },
          "redirect_conditions": {
            "description": "복귀 URL로 사용자 재지정 시 지불 상태. 이는 `none`, `successful`, `successful_or_canсeled`, 혹은 `any`일 수 있습니다.",
            "enum": [
              "none",
              "successful",
              "successful_or_canceled",
              "any"
            ],
            "type": "string"
          },
          "show_redirect_countdown": {
            "default": false,
            "description": "결제 상태 페이지에 리디렉션 카운트다운 타이머를 표시할지 여부. 카운트다운 시간은 `settings.redirect_policy.delay` 매개 변수에 전달된 값으로 결정됩니다.",
            "type": "boolean"
          },
          "status_for_manual_redirection": {
            "description": "복귀 URL로 사용자 재지정 버튼 지불 상태. 이는 `none`, `successful`, `successful_or_canсeled`, 혹은 `any`일 수 있습니다.",
            "enum": [
              "none",
              "successful",
              "successful_or_canceled",
              "any"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "return_url": {
        "description": "결제 후 사용자가 리디렉션되는 페이지의 URL입니다. 리디렉션 구성에 대한 자세한 내용은 이 <a href=\"https://developers.xsolla.com/ko/doc/pay-station/how-to/how-to-configure-redirects/\">문서</a>를 참조하세요.",
        "type": "string"
      },
      "alternative_first_screen": {
        "description": "결제 UI 화면을 열었을 때 표시되는 대체 화면. 예를 들어, 우선순위가 지정된 결제 수단을 표시할 수 있습니다.\n\n`apple-pay`로 설정된 경우, 다른 결제 수단 목록으로 연결되는 링크와 함께 Apple Pay 버튼이 주요 결제 옵션으로 표시됩니다. \n이 로직은 Android 기기에는 적용되지 않습니다.\n",
        "enum": [
          "apple-pay"
        ],
        "type": "string"
      },
      "ap_quick_payment_button": {
        "description": "지원 장치의 결제 UI 상단에 있는 Apple Pay를 통해 신속 결제를 위한 버튼 표시 여부. 기본적으로 `true`입니다. `false`인 \n경우, [PayRank](/ko/doc/pay-station/how-to/how-to-manage-top-payment-methods/) 알고리즘에 \n따라 결제 방식 목록에 Apple Pay가 표시됩니다.\n\n<div class=\"note\">\n<p><strong>참고</strong></p><p>Android 장치 및 Apple Pay 결제를 지원하지 않는 기타 장치에서는 매개 변수 값에 관계없이 이 결제 방식이 사용 가능한 결제 방식 목록에서 숨겨집니다.</p>\n</div>\n",
        "type": "boolean"
      },
      "components": {
        "description": "모듈 메뉴 설정 데이터와 관련된 값입니다.",
        "properties": {
          "subscriptions": {
            "description": "정기 결제 모듈 설정 데이터와 관련된 값입니다.",
            "properties": {
              "hidden": {
                "description": "모듈 메뉴에 게임 아이템을 표시하는지 여부를 나타냅니다.",
                "type": "boolean"
              },
              "order": {
                "description": "모듈 메뉴에서 게임 아이템의 위치입니다.",
                "type": "integer"
              }
            },
            "type": "object"
          },
          "virtual_currency": {
            "description": "게임머니 모듈 설정 데이터와 관련된 값입니다.",
            "properties": {
              "custom_amount": {
                "description": "사용자가 결제 UI에 임의의 가상 통화 수량을 입력할 수 있도록 설정합니다.",
                "type": "boolean"
              },
              "hidden": {
                "description": "모듈 메뉴에 게임 아이템을 표시하는지 여부를 나타냅니다.",
                "type": "boolean"
              },
              "order": {
                "description": "모듈 메뉴에서 게임 아이템의 위치입니다.",
                "type": "integer"
              }
            },
            "type": "object"
          },
          "virtual_items": {
            "description": "게임 아이템 모듈 설정 데이터와 관련된 값입니다.",
            "properties": {
              "hidden": {
                "description": "모듈 메뉴에 게임 아이템을 표시하는지 여부를 나타냅니다.",
                "type": "boolean"
              },
              "order": {
                "description": "모듈 메뉴에서 게임 아이템의 위치입니다.",
                "type": "integer"
              },
              "selected_group": {
                "description": "게임유저가 게임 아이템 탭을 열었을 때 선택되는 그룹입니다.",
                "type": "string"
              },
              "selected_item": {
                "description": "게임유저가 게임 아이템 탭을 열었을 때 선택되는 아이템입니다. 아이템 SKU는 이곳에서 보내야 합니다.",
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "currency_format": {
        "description": "결제 UI에 3자리 [ISO 4217](https://developers.xsolla.com/ko/doc/pay-station/references/supported-currencies/) 통화 코드를 표시하려면 `code`로 설정합니다. 기본적으로는 3자리 통화 코드 대신 통화 기호가 표시됩니다.",
        "type": "string"
      },
      "close_button_icon": {
        "description": "결제 UI의 **닫기** 버튼 아이콘.",
        "enum": [
          "arrow",
          "cross"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "arrow": "결제 UI 헤더 왼쪽에 있는 **←** 아이콘.",
          "cross": "결제 UI 헤더 오른쪽에 있는 **×** 아이콘."
        }
      },
      "header.desktop": {
        "description": "헤더 설정 데이터와 관련된 값입니다.",
        "properties": {
          "close_button": {
            "default": false,
            "description": "결제 UI의 닫기 버튼을 표시할지 여부입니다. 사용자가 이 버튼을 클릭하면 결제 UI가 닫히고 `settings.cancel_url` 매개 변수에 전달된 URL로 사용자가 리디렉션됩니다. 이 매개 변수에 URL이 전달되지 않은 경우, 대신 `settings.return_url` 매개 변수에 전달된 URL이 사용됩니다.",
            "type": "boolean"
          },
          "close_button_icon": {
            "$ref": "#/components/schemas/close_button_icon"
          },
          "is_visible": {
            "description": "결제 UI에 헤더가 표시되는지 여부를 나타냅니다.",
            "type": "boolean"
          },
          "type": {
            "description": "헤더를 표시하는 설정 방식입니다. `compact`(프로젝트 이름 및 사용자 ID 표지 안 함) 또는 `normal` (기본값)을 설정할 수 있습니다.",
            "enum": [
              "compact",
              "normal"
            ],
            "type": "string"
          },
          "visible_logo": {
            "description": "`true`인 경우, 로고가 헤더에 표시됩니다. 이미지를 업로드하려면 [관리자 페이지](https://publisher.xsolla.com/)에서 프로젝트를 열고 **Pay Station > 설정** 섹션으로 이동하십시오.",
            "type": "boolean"
          },
          "visible_name": {
            "description": "프로젝트 이름이 헤더에 표시되는지 여부를 나타냅니다.",
            "type": "boolean"
          },
          "visible_purchase": {
            "description": "구매 설명(`purchase.description.value`)이 헤더에 표시되는지 여부를 나타냅니다. 기본값은 `true`입니다.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "subscription_list.desktop": {
        "description": "정기 결제 목록 설정 데이터와 관련된 값입니다.",
        "properties": {
          "description": {
            "description": "정기결제에 관한 어떠한 텍스트도 이곳에서 전달할 수 있습니다. 정기 결제 요금제 목록 위에 텍스트가 표시됩니다.",
            "type": "string"
          },
          "display_local_price": {
            "description": "`true`인 경우 및 사용자의 현지 통화가 정기결제 플랜의 통화와 다른 경우, 사용자는 현지 통화의 가격 및 기본 통화의 가격과 같이 두 가지 가격을 볼 수 있습니다.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "desktop.ui": {
        "description": "PC 버전의 인터페이스 설정 데이터와 관련된 값입니다.",
        "properties": {
          "header": {
            "$ref": "#/components/schemas/header.desktop"
          },
          "subscription_list": {
            "$ref": "#/components/schemas/subscription_list.desktop"
          }
        },
        "type": "object"
      },
      "gp_quick_payment_button": {
        "description": "Google Pay 결제 방식을 표시되는 방법. `true`인 경우 사용자의 장치 및 브라우저에 관계없이 Google Pay를 통한 빠른 결제 버튼이 결제 UI 상단에 표시됩니다. `false`인 경우 [PayRank](/ko/doc/pay-station/how-to/how-to-manage-top-payment-methods/) 알고리즘에 따라 결제 방식 목록에 Google Pay가 표시됩니다. 매개 변수가 전달되지 않으면 사용자의 모든 장치 및 브라우저(Safari 제외)의 결제 UI 상단에 Google Pay가 표시됩니다. Safari에서는 결제 방식 목록에 표시됩니다.",
        "type": "boolean"
      },
      "header.ui": {
        "properties": {
          "visible_virtual_currency_balance": {
            "description": "결제 UI에서 이 요소를 숨길 수 있는지 여부를 나타냅니다. 기본값은 `true`입니다.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "is_cart_open_by_default": {
        "description": "결제 UI에 장바구니 아이템 목록과 결제 세부 정보를 표시합니다. `true`이면 정보가 확장 보기로 표시됩니다. `false`(기본값)이거나 매개 변수가 전달되지 않을 경우 정보가 축소된 보기로 표시됩니다.",
        "type": "boolean"
      },
      "is_independent_windows": {
        "description": "구매 시 사용자를 임베디드 런처의 브라우저(WebView)에서 기본 브라우저로 리디렉션할지 여부입니다. 기본값은 `false`입니다.",
        "type": "boolean"
      },
      "is_language_selector_hidden": {
        "description": "결제 페이지에서 언어 선택기가 숨겨져 있는지 여부. `false`(기본값)인 경우 선택기가 표시됩니다.",
        "type": "boolean"
      },
      "is_payment_methods_list_mode": {
        "description": "결제 UI를 열 때 사용자의 국가에서 사용할 수 있는 결제 방식목록이 표시되는지 여부입니다. `false`(기본값)인 경우 `settings.payment_method` 매개변수에서 전달된 결제 방식이나 [PayRank 알고리즘](https://developers.xsolla.com/ko/solutions/payments/payment-ui-management/top-payment-methods-management/)으로 선택한 결제 방식이 표시됩니다.",
        "type": "boolean"
      },
      "is_prevent_external_link_open": {
        "description": "외부 리소스로 링크 리디렉션 여부가 비활성화되었습니다.`false`가 기본값입니다. 외부 링크를 클릭하면`external-link-open`이벤트가`postMessage`메커니즘을 통해 전송됩니다. 리디렉션 링크용 주소는`url`매개 변수에서 전달됩니다.",
        "type": "boolean"
      },
      "is_search_field_hidden": {
        "description": "결제 UI에 결제 방식 검색창을 표시할지 여부입니다. `true`이면 검색창이 숨겨집니다. 기본값은 `false`입니다.",
        "type": "boolean"
      },
      "is_show_close_widget_warning": {
        "description": "결제 페이지를 닫기 전에 **×** 아이콘 위에 트랜잭션 처리에 대한 경고를 표시할지 여부입니다. `false`가 전달되거나 매개변수가 전달되지 않으면 경고가 표시되지 않습니다. 기본값은 `true`입니다.",
        "type": "boolean"
      },
      "is_three_ds_independent_windows": {
        "default": false,
        "description": "3D 보안 인증을 새 브라우저 창에서 열지 여부를 선택합니다. 설정에 따라 콘텐츠 보안 정책(CSP)을 적용하는 경우 `true`로 설정합니다.",
        "type": "boolean"
      },
      "layout": {
        "description": "결제 UI의 주요 요소 위치. 게임 내부에서 결제 UI를 열거나 주문 및 결제 방식에 대한 정보로 열을 바꿀 수 있습니다. 자세한 내용은 [사용자 정의 지침](https://developers.xsolla.com/ko/doc/pay-station/features/ui-theme-customization/#pay_station_ui_theme_customization_layout)을 참조해 주세요.",
        "enum": [
          "embed",
          "column_reverse",
          "embed_column_reverse"
        ],
        "type": "string"
      },
      "mobile.ui": {
        "properties": {
          "header": {
            "properties": {
              "close_button": {
                "default": false,
                "description": "모바일 버전에서 결제 UI의 닫기 버튼을 표시할지 여부입니다. 사용자가 이 버튼을 클릭하면 결제 UI가 닫히고 `settings.cancel_url` 매개 변수에 전달된 URL로 사용자가 리디렉션됩니다. 이 매개 변수에 URL이 전달되지 않은 경우, 대신 `settings.return_url` 매개 변수에 전달된 URL이 사용됩니다.",
                "type": "boolean"
              },
              "close_button_icon": {
                "$ref": "#/components/schemas/close_button_icon"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "mode.ui": {
        "description": "저장된 결제 수단 관리를 위한 결제 UI의 표시 모드입니다. `user_account`로 설정하거나 생략할 수 있습니다. 이 모드에서 사용자는 \n언어 변경, 새 결제 수단 추가, 기존 결제 수단 삭제만 가능합니다.\n\n<div class=\"note\">\n<p><strong>참고</strong></p><p>이 매개 변수가 전달되면 리디렉션 버튼이 표시되지 않습니다. 결제 수단 저장 후 사용자를 리디렉션하려면 <a href=\"/ko/doc/pay-station/how-to/how-to-configure-redirects/#pay_station_how_to_configure_redirects_automatic/\">자동 리디렉션</a>을 구성하십시오.</p>\n</div>\n",
        "type": "string"
      },
      "theme.ui": {
        "description": "결제 UI 테마. 라이트 테마(기본값)의 경우 `63295a9a2e47fab76f7708e1`, 다크 테마의 경우 `63295aab2e47fab76f7708e3`일 수 있습니다. [사용자 정의 테마를 생성](https://developers.xsolla.com/ko/doc/pay-station/features/ui-theme-customization/#pay_station_ui_theme_customization_in_token)하고 이 매개 변수의 해당 ID를 전달할 수도 있습니다.",
        "enum": [
          "63295a9a2e47fab76f7708e1",
          "63295aab2e47fab76f7708e3"
        ],
        "type": "string"
      },
      "payment_accounts_enable": {
        "properties": {
          "enable": {
            "description": "결제 방식 편집 페이지로 이동하는 결제 UI에 연필 아이콘을 표시할지 여부를 지정합니다. 기본값은 `true`입니다.",
            "type": "boolean"
          },
          "order": {
            "description": "결제 UI의 드롭다운 목록에서 섹션의 위치입니다. `settings.ui.user_account.payment_accounts.enable`이 전달될 경우 필요합니다.",
            "minimum": 1,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "user_account": {
        "description": "사용자 계정에 관한 데이터가 담긴 객체.",
        "properties": {
          "payment_accounts": {
            "allOf": [
              {
                "description": "**저장된 결제 방식** 섹션입니다."
              },
              {
                "$ref": "#/components/schemas/payment_accounts_enable"
              }
            ]
          }
        },
        "type": "object"
      },
      "ui": {
        "description": "인터페이스 설정 데이터와 관련된 값입니다.",
        "properties": {
          "alternative_first_screen": {
            "$ref": "#/components/schemas/alternative_first_screen"
          },
          "apple_pay_quick_payment_button": {
            "$ref": "#/components/schemas/ap_quick_payment_button"
          },
          "components": {
            "$ref": "#/components/schemas/components"
          },
          "currency_format": {
            "$ref": "#/components/schemas/currency_format"
          },
          "desktop": {
            "$ref": "#/components/schemas/desktop.ui"
          },
          "gp_quick_payment_button": {
            "$ref": "#/components/schemas/gp_quick_payment_button"
          },
          "header": {
            "$ref": "#/components/schemas/header.ui"
          },
          "is_cart_open_by_default": {
            "$ref": "#/components/schemas/is_cart_open_by_default"
          },
          "is_independent_windows": {
            "$ref": "#/components/schemas/is_independent_windows"
          },
          "is_language_selector_hidden": {
            "$ref": "#/components/schemas/is_language_selector_hidden"
          },
          "is_payment_methods_list_mode": {
            "$ref": "#/components/schemas/is_payment_methods_list_mode"
          },
          "is_prevent_external_link_open": {
            "$ref": "#/components/schemas/is_prevent_external_link_open"
          },
          "is_search_field_hidden": {
            "$ref": "#/components/schemas/is_search_field_hidden"
          },
          "is_show_close_widget_warning": {
            "$ref": "#/components/schemas/is_show_close_widget_warning"
          },
          "is_three_ds_independent_windows": {
            "$ref": "#/components/schemas/is_three_ds_independent_windows"
          },
          "layout": {
            "$ref": "#/components/schemas/layout"
          },
          "mobile": {
            "$ref": "#/components/schemas/mobile.ui"
          },
          "mode": {
            "$ref": "#/components/schemas/mode.ui"
          },
          "theme": {
            "$ref": "#/components/schemas/theme.ui"
          },
          "user_account": {
            "$ref": "#/components/schemas/user_account"
          }
        },
        "type": "object"
      },
      "settings": {
        "description": "사용자의 결제 프로세스와 결제 UI를 구성하는 설정입니다.",
        "properties": {
          "cancel_url": {
            "$ref": "#/components/schemas/cancel_url"
          },
          "currency": {
            "$ref": "#/components/schemas/currency"
          },
          "external_id": {
            "$ref": "#/components/schemas/external_id"
          },
          "language": {
            "$ref": "#/components/schemas/language"
          },
          "mode": {
            "$ref": "#/components/schemas/mode.settings"
          },
          "payment_method": {
            "$ref": "#/components/schemas/payment_method"
          },
          "payment_widget": {
            "$ref": "#/components/schemas/payment_widget"
          },
          "project_id": {
            "$ref": "#/components/schemas/project_id"
          },
          "redirect_policy": {
            "$ref": "#/components/schemas/redirect_policy"
          },
          "return_url": {
            "$ref": "#/components/schemas/return_url"
          },
          "ui": {
            "$ref": "#/components/schemas/ui"
          }
        },
        "required": [
          "project_id"
        ],
        "type": "object"
      },
      "age.user": {
        "description": "사용자 나이.",
        "type": "integer"
      },
      "attributes.user": {
        "description": "게임유저 특성 데이터와 관련된 객체로서 아이템 목록을 필터링하는데 사용됩니다. 키값 쌍을 가진 올바른 JSON 해시여야 합니다.",
        "type": "object"
      },
      "country.user": {
        "properties": {
          "allow_modify": {
            "description": "결제 UI에서 사용자의 국가 변경 가능 여부. `country.value`가 토큰에서 전달되면 기본값은 `false`입니다.",
            "type": "boolean"
          },
          "value": {
            "description": "[ISO 3166-1 alpha-2 standard](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)에 따른 2자로 된 국가 코드를 사용합니다.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "email.user": {
        "description": "`user.email` 개체는 부정 결제 방지 모델 만들기의 정수 부분이며 수락률을 높여줍니다. 해당 개체는 엑솔라와 결제 시스템 양쪽 모두의 요구 사항입니다. 매개 변수가 전달되지 않으면 이메일 입력용 필수 필드가 결제 페이지에 나타납니다. 사용자는 매개 변수에서 전달되었거나 결제 페이지에 입력된 이메일로 구매 영수증을 받습니다.",
        "properties": {
          "allow_modify": {
            "description": "결제 UI에서 사용자가 자신의 이메일을 입력할 수 있는지 여부. `user.email.value` 매개변수가 토큰에서 전달되는 경우 기본값은 `false`입니다.",
            "type": "boolean"
          },
          "value": {
            "description": "사용자 이메일. [RFC 822](https://www.w3.org/Protocols/rfc822/#z8) 프로토콜에 따라 유효해야 합니다.",
            "maxLength": 100,
            "type": "string"
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "id.user": {
        "properties": {
          "value": {
            "description": "귀하 측에 저장된 게임 내 고유 사용자 ID입니다. 기존 사용자 ID여야 합니다. 오류가 발생하면 [자주 묻는 질문에 대한 답변](/ko/doc/pay-station/references/faq/#faq_validation)을 참조해 주세요.",
            "type": "string"
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "is_legal.user": {
        "description": "게임유저가 법인인지 여부를 나타냅니다.",
        "type": "boolean"
      },
      "legal": {
        "description": "법인 세부 정보가 있는 오브젝트.",
        "properties": {
          "address": {
            "description": "법인 전체 주소.",
            "type": "string"
          },
          "country": {
            "description": "기업이 속한 국가. [ISO 3166-1 alpha-2 standard](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)에 따른 2자로 된 대문자 국가 코드를 사용합니다.",
            "type": "string"
          },
          "name": {
            "description": "법인 전체 이름.",
            "type": "string"
          },
          "vat_id": {
            "description": "개별 납세자 식별자.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "legal.user": {
        "allOf": [
          {
            "description": "법인 세부 정보가 있는 오브젝트. `user.is_legal`가 `true`인 경우 오브젝트와 이에 해당하는 모든 매개변수는 필수입니다."
          },
          {
            "$ref": "#/components/schemas/legal"
          }
        ]
      },
      "name.user": {
        "properties": {
          "allow_modify": {
            "description": "결제 UI에서 사용자가 자신의 이름을 입력할 수 있는지 여부. `user.name.value` 매개변수가 토큰에서 전달되는 경우 기본값은 `false`입니다.",
            "type": "boolean"
          },
          "value": {
            "description": "게임유저 닉네임입니다.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "phone.user": {
        "nullable": true,
        "properties": {
          "value": {
            "description": "전화번호.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "public_id.user": {
        "properties": {
          "value": {
            "description": "사용자를 고유하게 식별할 수 있고 사용자 ID(이메일, 애칭 등)와 달리 사용자에 대해 알려진 매개 변수입니다. 이 매개 변수는 게임 스토어 외부(예: 캐시 키오스크의 게임 버튼)에서 구매할 수 있을 때 사용됩니다.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "steam_id.user": {
        "properties": {
          "value": {
            "description": "Steam ID입니다.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "tracking_id.user": {
        "properties": {
          "value": {
            "description": "고유 사용자 ID - 마케팅 캠페인에 사용. 숫자와 라틴 문자를 사용할 수 있습니다.",
            "maxLength": 32,
            "minLength": 32,
            "type": "string"
          }
        },
        "type": "object"
      },
      "utm.user": {
        "description": "트래픽 성향을 나타내는 데이터를 포함한 오브젝트.",
        "properties": {
          "utm_campaign": {
            "description": "캠페인 제목. 이 항목은 음차한 캠페인 제목이나 영어로 번역한 캠페인 제목을 포함해야 합니다.",
            "type": "string"
          },
          "utm_content": {
            "description": "캠페인 구성 요소.",
            "type": "string"
          },
          "utm_medium": {
            "description": "트래픽 채널(맥락 이해 광고, 언론 광고, 이메일 목록 메시지).",
            "type": "string"
          },
          "utm_source": {
            "description": "트래픽 소스.",
            "type": "string"
          },
          "utm_term": {
            "description": "캠페인 키워드. 이 항목을 지정할 경우 광고 캠페인 목표 설정에 사용된 키워드 데이터에 기반하여 통계가 만들어집니다. Google Analytics에서는 `utm_term` 라벨 콘텐츠가 검색어를 포함한 일반 보고서의 일부가 됩니다.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "user": {
        "description": "사용자 세부 정보.",
        "properties": {
          "age": {
            "$ref": "#/components/schemas/age.user"
          },
          "attributes": {
            "$ref": "#/components/schemas/attributes.user"
          },
          "country": {
            "$ref": "#/components/schemas/country.user"
          },
          "email": {
            "$ref": "#/components/schemas/email.user"
          },
          "id": {
            "$ref": "#/components/schemas/id.user"
          },
          "is_legal": {
            "$ref": "#/components/schemas/is_legal.user"
          },
          "legal": {
            "$ref": "#/components/schemas/legal.user"
          },
          "name": {
            "$ref": "#/components/schemas/name.user"
          },
          "phone": {
            "$ref": "#/components/schemas/phone.user"
          },
          "public_id": {
            "$ref": "#/components/schemas/public_id.user"
          },
          "steam_id": {
            "$ref": "#/components/schemas/steam_id.user"
          },
          "tracking_id": {
            "$ref": "#/components/schemas/tracking_id.user"
          },
          "utm": {
            "$ref": "#/components/schemas/utm.user"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "token": {
        "example": {
          "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"
            }
          }
        },
        "properties": {
          "custom_parameters": {
            "$ref": "#/components/schemas/custom_parameters"
          },
          "purchase": {
            "$ref": "#/components/schemas/purchase"
          },
          "settings": {
            "$ref": "#/components/schemas/settings"
          },
          "user": {
            "$ref": "#/components/schemas/user"
          }
        },
        "type": "object"
      },
      "mock_code": {
        "description": "샌드박스 모드에서 PayPal로 결제하는 프로세스를 테스트할 때 재현하려는 오류 코드입니다. `\"mode\":\"sandbox\"` 매개변수를 전달하는 경우에만 올바르게 작동합니다.",
        "enum": [
          1002,
          1015,
          1039,
          1046,
          1057,
          1089,
          1201,
          1203,
          1801,
          1803,
          2031,
          3006,
          3031,
          5004
        ],
        "type": "integer"
      }
    },
    "requestBodies": {
      "charge-with-saved-account": {
        "content": {
          "application/json": {
            "example": {
              "purchase": {
                "description": {
                  "value": "currency purchase"
                },
                "virtual_currency": {
                  "quantity": 100
                }
              },
              "settings": {
                "currency": "USD",
                "external_id": "ext123",
                "mode": "sandbox"
              },
              "user": {
                "ip": "111.11.11.11",
                "legal": {
                  "address": "17 Crown Street London SW2 0JW United Kingdom",
                  "country": "GB",
                  "name": "My Awesome Company",
                  "vat_id": "GB111111111"
                },
                "name": "John Smith"
              }
            },
            "schema": {
              "properties": {
                "custom_parameters": {
                  "$ref": "#/components/schemas/custom_parameters"
                },
                "purchase": {
                  "description": "구매 데이터 관련 값입니다.",
                  "properties": {
                    "checkout": {
                      "description": "결제 파라미터 데이터와 관련된 값입니다.",
                      "properties": {
                        "amount": {
                          "description": "구매 금액입니다.",
                          "format": "float",
                          "type": "number"
                        },
                        "currency": {
                          "description": "구매 통화입니다. 통화의 3자리 정의가 [ISO 4217](https://developers.xsolla.com/ko/doc/pay-station/references/supported-currencies/)에 따라 사용됩니다.",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "description": {
                      "properties": {
                        "value": {
                          "maxLength": 4000,
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "virtual_currency": {
                      "description": "게임머니 데이터와 관련된 값입니다.",
                      "properties": {
                        "quantity": {
                          "description": "게임머니 구매량입니다.",
                          "format": "float",
                          "type": "number"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                "settings": {
                  "description": "구매 설정에 대한 데이터가 포함된 개체입니다.",
                  "properties": {
                    "currency": {
                      "$ref": "#/components/schemas/currency"
                    },
                    "external_id": {
                      "$ref": "#/components/schemas/external_id"
                    },
                    "mock_code": {
                      "$ref": "#/components/schemas/mock_code"
                    },
                    "mode": {
                      "description": "결제 프로세스를 테스트하기 위한 `sandbox` 값을 설정합니다. 실제 결제의 경우 이 매개 변수는 제거되어야 합니다.",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "user": {
                  "description": "사용자 세부 정보.",
                  "properties": {
                    "ip": {
                      "description": "사용자 IP입니다.",
                      "type": "string"
                    },
                    "legal": {
                      "$ref": "#/components/schemas/legal"
                    },
                    "name": {
                      "description": "사용자 이름.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "ip"
                  ],
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "required": true
      }
    }
  }
}