openapi: 3.0.0
info:
  description: >
    # Visão geral


    * **Versão:** 2.0.0

    * **Servidores**:
      * `https://api.xsolla.com/api`

    Pay Station permite que os parceiros monetizem seus produtos, fornecendo
    aos 

    usuários uma interface conveniente para pagar compras no jogo na loja. Para 

    configurar a abertura da interface de pagamento, consulte estas
    [istruções](/pt/doc/pay-station/how-to/how-to-open-payment-ui/).


    A Pay Station API fornece os grupos de chamadas a seguir:

    - Token — inclui a chamada de API para gerar um token com parâmetros de
    usuário 
      arbitrários para processar pagamentos adicionais pela interface de pagamento.
    - [Tokenização](/pt/doc/pay-station/features/tokenization/) — inclui
    chamadas de API 
      para processar pagamentos com segurança, sem abrir a interface de pagamento ou 
      envolver o usuário.
    - Relatórios — inclui chamadas de API para retornar dados sobre transações
    de 
      usuários, gerar relatórios e obter detalhamento de pagamentos por moeda.
    - Reembolso — inclui chamadas de API para solicitar reembolso total e
    parcial.

    - Teste — inclui a chamada de API para testar o processo de estorno.


    Você pode encontrar informações detalhadas sobre como configurar a interface
    de 

    pagamentos no [guia de integração da solução
    Payments](/pt/solutions/payments/integration-guide/integration-flow/).


    <div class="note">

    <p><strong>Observe</strong></p><p>Você também pode consultar a seção
    <b>Xsolla Base API</b> na <a
    href="https://github.com/xsolla/xsolla-postman">coleção Postman</a> para
    testar chamadas de API usadas para integração.</p>

    </div>
  title: Pay Station API
  version: '2.0'
servers:
  - url: https://api.xsolla.com/merchant/v2
tags:
  - name: token
    x-displayName: Token
  - name: tokenization
    x-displayName: Tokenização
  - name: reports
    x-displayName: Relatórios
  - name: refund
    x-displayName: Reembolso
  - name: testing
    x-displayName: Testes
paths:
  /merchants/{merchant_id}/projects/{project_id}/payments/{transaction_id}/chargeback:
    post:
      description: >
        Solicita um estorno no modo sandbox:


        - Para acesar o modo sandbox, passe  `"mode":"sandbox"` ao [obter o 
          token](https://developers.xsolla.com/pt/api/pay-station/operation/create-token/).

        - O pagamento de teste precisa ser feito no modo sandbox no mesmo
        projeto em que 
          você estiver fazendo seus testes.

        - O status da transação deve ser **diferente** de `refunded`,
        `cancelled`.


        - Seu papel na Publisher Account deve ser ao menos **Gerente
        financeiro**. (Você 
          pode encontrá-lo na seção **Configurações da empresa > Usuários**.)

        - Consulte as <a
        href="https://developers.xsolla.com/pt/doc/pay-station/testing/test-
          one-time-purchase-in-
          sandbox/#pay_station_testing_sandbox_bank_card_chargeback">instruções</a> para 
          mais detalhes sobre esse cenário de teste.

        <div class="note">

        <p><strong>Observe</strong></p><p>Consulte a <a
        href="https://developers.xsolla.com/pt/doc/pay-station/testing/general-info/">documentação</a>
        para mais informações sobre outros cenários de teste.</p>

        </div>
      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 (Nenhum erro).
        '404':
          description: Transação não encontrada.
        '422':
          content:
            application/json:
              example:
                message: >-
                  Not test payment. Chargeback is possible only for payments
                  made in sandbox mode.
              schema:
                properties:
                  message:
                    description: >-
                      Pode retornar uma das seguintes mensagens:

                      - Error processing chargeback. Try again or use another
                      payment.

                      - Payment not found. Check payment ID.

                      - Payment does not belong to this project.

                      - Not test payment. Chargeback is possible only for
                      payments made in sandbox mode.

                      - Incorrect payment status. Chargeback is possible only
                      for payments with “Completed” status.
                    type: string
                type: object
          description: Unprocessable Entity (Parâmetros de solicitação inválidos).
      security:
        - basicAuth: []
      summary: Solicitar estorno
      tags:
        - testing
      x-server: true
  /merchants/{merchant_id}/reports:
    get:
      description: >
        Obtém a lista de relatórios financeiros ao longo de um período
        específico.


        <div class="notice">

        <p><strong>Aviso</strong></p><p>Esta chamada de API não contém o
        trajeto-parâmetro <code>project_id</code>, então é preciso usar a chave
        API que for válida em todos os projetos da empresa para configurar a
        autorização.</p>

        </div>
      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: Obter relatórios
      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: >
        Retorna a lista de informações detalhadas sobre todas as transações bem-

        sucedidas e canceladas em um período específico. Em resposta, você
        obtém 

        informações sobre pagamentos, incluindo dados sobre as taxas, tarifas,
        bem como 

        pedido e usuário. Você pode obter a lista nos formatos JSON e CSV. Você
        pode 

        usar essa chamada API para realizar a reconciliação financeira.


        <div class="notice">

        <p><strong>Aviso</strong></p><p>Esta chamada de API não contém o
        trajeto-parâmetro <code>project_id</code>, então é preciso usar a chave
        API que for válida em todos os projetos da empresa para configurar a
        autorização.</p>

        </div>
      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: Dados de pagamento.
                      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: Dados da compra.
                      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: Dados da transação.
                      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: Dados do usuário.
                      properties:
                        country:
                          description: >-
                            Código do país de duas letras maiúsculas, de acordo
                            com o [ISO 3166-1
                            alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
                          type: string
                        custom:
                          nullable: true
                          type: string
                        email:
                          description: E-mail do usuário.
                          type: string
                        id:
                          description: ID de usuário.
                          type: string
                        ip:
                          type: string
                        marketplace:
                          type: string
                        name:
                          description: Nome de exibição do usuário.
                          type: string
                        phone:
                          description: Número de telefone do usuário.
                          nullable: true
                          type: string
                      type: object
                    user_balance:
                      description: Saldo do usuário.
                      properties:
                        payment_currency:
                          description: Moeda de pagamento preferida.
                          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: A lista de transações foi retornada com sucesso.
      security:
        - basicAuth: []
      summary: Obter transações
      tags:
        - reports
      x-admin: true
      x-server: true
  /merchants/{merchant_id}/reports/transactions/search.{format}:
    get:
      description: >
        Retorna uma lista de transações com base nos parâmetros de busca
        específicos. 

        Em resposta, você obtém dados sobre todos os pagamentos feitos no seu
        jogo, 

        mesmo que eles não tenham sido concluídos com sucesso. Você pode
        especificar 

        não só o período de transação como também outros parâmetros. Exemplo:
        pesquisar 

        por transações feitas por um usuário em particular ou com um status de 

        pagamento específico. Você pode obter a lista no formato JSON ou CSV.


        <div class="notice">

        <p><strong>Aviso</strong></p><p>Esta chamada de API não contém o
        trajeto-parâmetro <code>project_id</code>, então é preciso usar a chave
        API que for válida em todos os projetos da empresa para configurar a
        autorização.</p>

        </div>
      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: Encontrar transações
      tags:
        - reports
      x-admin: true
      x-server: true
  /merchants/{merchant_id}/reports/transactions/simple_search:
    get:
      description: >
        Obtém uma lista de transação com base nos parâmetros de pesquisa
        especificados 

        dentro de alguns segundos. Essa é uma alternativa à chamada de API
        [Encontrar 

        transações](/pt/api/pay-station/operation/find-transactions/) que
        retorna os dados 

        nos formatos JSON, CSV ou XLS.


        <div class="notice">

        <p><strong>Aviso</strong></p><p>Esta chamada de API não contém o
        trajeto-parâmetro <code>project_id</code>, então é preciso usar a chave
        API que for válida em todos os projetos da empresa para configurar a
        autorização.</p>

        </div>
      operationId: find-transactions-fast
      parameters:
        - $ref: '#/components/parameters/merchant-id-path-param'
        - description: >-
            ID de transação. Ou isso ou `external_id` deve ser fornecido, mas
            não ambos.
          in: query
          name: transaction_id
          schema:
            type: integer
        - description: >-
            ID de transação no jogo. É diferente para cada pagamento. Ou isso ou
            `transaction_id` deve ser fornecido, mas não ambos.
          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: Dados de pagamento.
                      properties:
                        payment:
                          properties:
                            amount:
                              description: Quantia de pagamento.
                              format: float
                              type: number
                            currency:
                              description: >-
                                Moeda de pagamento. Código da moeda de três
                                letras de acordo com o [ISO
                                4217](https://developers.xsolla.com/pt/doc/pay-station/references/supported-currencies/).
                              type: string
                          type: object
                      type: object
                    transaction:
                      description: Dados de transação.
                      properties:
                        external_id:
                          description: >-
                            ID de transação no jogo. É único para cada pagamento
                            do usuário.
                          type: string
                        id:
                          description: ID da transação.
                          type: integer
                        payment_date:
                          description: Data de pagamento no formato AA-MM-DD.
                          type: string
                        project:
                          properties:
                            id:
                              description: >-
                                ID do projeto. Pode ser encontrado na Publisher
                                Account.
                              type: integer
                            name:
                              description: Nome do projeto.
                              type: string
                          type: object
                        refund_reason:
                          description: Motivo do reembolso.
                          type: string
                        status:
                          $ref: '#/components/schemas/status.enum'
                          description: Status da transação.
                      type: object
                    user:
                      description: Dados do usuário.
                      properties:
                        country:
                          description: >-
                            Código do país de duas letras maiúsculas, de acordo
                            com o [ISO 3166-1
                            alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
                          type: string
                        email:
                          description: E-mail do usuário.
                          type: string
                        id:
                          description: ID de usuário.
                          type: string
                        name:
                          description: Nome de usuário.
                          type: string
                      type: object
                  type: object
                type: array
          description: A lista de transações foi retornada com sucesso.
        '403':
          description: Acesso negado.
        '404':
          description: Transação não encontrada.
        '422':
          description: >-
            Unprocessable Entity (Você deve passar ou `transaction_id`, ou
            `external_id`).
      security:
        - basicAuth: []
      summary: Encontrar transações (pesquisa rápida)
      tags:
        - reports
      x-admin: true
      x-server: true
  /merchants/{merchant_id}/reports/transactions/summary/transfer:
    get:
      description: >
        Obtém resumos de pagamentos na moeda.


        <div class="notice">

        <p><strong>Aviso</strong></p><p>Esta chamada de API não contém o
        trajeto-parâmetro <code>project_id</code>, então é preciso usar a chave
        API que for válida em todos os projetos da empresa para configurar a
        autorização.</p>

        </div>
      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: Obtém resumos de pagamentos na moeda
      tags:
        - reports
      x-admin: true
      x-server: true
  /merchants/{merchant_id}/reports/transactions/{transaction_id}/details:
    get:
      description: >
        Obtém os dados de transação completos por ID.


        <div class="notice">

        <p><strong>Aviso</strong></p><p>Esta chamada de API não contém o
        trajeto-parâmetro <code>project_id</code>, então é preciso usar a chave
        API que for válida em todos os projetos da empresa para configurar a
        autorização.</p>

        </div>
      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: >-
                                A quantia da taxa de disputa na moeda de
                                pagamento.
                              format: float
                              type: number
                            currency:
                              description: >-
                                Moeda de pagamento. Código da moeda de três
                                letras de acordo com o [ISO
                                4217](/pt/doc/pay-station/references/supported-currencies/).
                              type: string
                            date:
                              description: Data de abertura da disputa.
                              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: As informações de transação foram retornadas com sucesso.
      security:
        - basicAuth: []
      summary: Obter transação
      tags:
        - reports
      x-admin: true
      x-server: true
  /merchants/{merchant_id}/reports/transactions/{transaction_id}/partial_refund:
    put:
      description: >
        Envia uma solicitação de reembolso parcial a um usuário. Consulte nossa 

        [documentação](https://developers.xsolla.com/pt/doc/pay-station/features/refund/#pay_station_features_refund_how_it_works_partial_refund_flow)
        para obter informações mais detalhadas sobre o processo de reembolso e 

        métodos de pagamento que suportam reembolsos parciais.


        <div class="note">

        <p><strong>Observe</strong></p><p>Você pode chamar esse método API no
        modo sandbox. Para fazer isso, passe os dados de pagamento de teste na
        solicitação. Consulte as <a
        href="https://developers.xsolla.com/pt/doc/pay-station/testing/test-one-time-purchase-in-sandbox/#pay_station_testing_sandbox_bank_card_partial_refund">instruções</a>
        para mais detalhes sobre o acesso no modo sandbox e os cenários de
        teste.</p>

        </div>


        <p></p>


        <div class="notice">

        <p><strong>Aviso</strong></p><p>Esta chamada de API não contém o
        trajeto-parâmetro <code>project_id</code>, então é preciso usar a chave
        API que for válida em todos os projetos da empresa para configurar a
        autorização.</p>

        </div>
      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: Motivo para um reembolso.
                  maxLength: 4000
                  type: string
                refund_amount:
                  description: A quantia do reembolso em uma moeda de compra.
                  format: float
                  type: number
              required:
                - description
                - refund_amount
              type: object
        required: true
      responses:
        '204':
          description: Solicitação de reembolso aceita
        '403':
          description: Não possui as permissões necessárias
        '404':
          content:
            application/json:
              example:
                message: Transaction with specified ID does not exist.
              schema:
                properties:
                  message:
                    description: >-
                      Não existe uma transação com o ID especificado. Confira as
                      credenciais de pagamento. Caso contrário, entre em contato
                      com o suporte da Xsolla pelo endereço support@xsolla.com.
                    type: string
                type: object
          description: Transação não encontrada
        '422':
          content:
            application/json:
              example:
                message: Partial refund is unavailable for subscription payments.
              schema:
                properties:
                  message:
                    description: >
                      **Reembolsos não são aceitos**


                      Retorna uma das seguintes mensagens:

                      - Partial refund is unavailable for operations with user
                      balance.

                      - Requested transaction is partial refund and cannot be
                      canceled.

                      - Partial refund is unavailable for subscription payments.

                      - Refund cannot be completed due to a payment system
                      error. Please try again 
                        later.
                      - Requested partial refund amount exceeds payment amount.

                      - Requested partial refund amount is less than minimum
                      amount specified by 
                        payment system.
                      - Payment amount after partial refund will be less than
                      allowable amount 
                        specified by payment system.
                      - Dispute for this invoice is already opened. Can’t make a
                      refund yet.


                      **O método de pagamento atual não suporta reembolsos
                      parciais**


                      Retorna uma das seguintes mensagens:

                      - Current payment method does not support partial refunds.

                      - Current transaction status does not allow refunds.

                      - Deadline for refund is exceeded.

                      - Partial refund is unavailable because discount was
                      applied during payment 
                        creation.

                      **Não é possível executar reembolsos parciais devido a uma
                      precisão errada**


                      Retorna a seguinte mensagem:

                      - Partial refund is unavailable because requested amount
                      is specified with 
                        incorrect precision for purchase currency.
                    type: string
                type: object
          description: Entidade não processável
      security:
        - basicAuth: []
      summary: Solicitar reembolso parcial
      tags:
        - refund
      x-server: true
  /merchants/{merchant_id}/reports/transactions/{transaction_id}/refund:
    put:
      description: >
        Envia uma solicitação de reembolso para retornar uma parte do pagamento
        ao 

        usuário. Leia sobre o [Recurso de
        reembolso](https://developers.xsolla.com/pt/doc/pay-station/features/refund/)
        para saber mais sobre o processo.


        <div class="note">

        <p><strong>Observe</strong></p><p>Você pode chamar esse método API no
        modo sandbox. Para fazer isso, passe os dados de pagamento de teste na
        solicitação. Consulte as <a
        href="https://developers.xsolla.com/pt/doc/pay-station/testing/test-one-time-purchase-in-sandbox/#pay_station_testing_sandbox_bank_card_refund">instruções</a>
        para mais detalhes sobre o acesso no modo sandbox e os cenários de
        teste.</p>

        </div>


        <p></p>


        <div class="notice">

        <p><strong>Aviso</strong></p><p>Esta chamada de API não contém o
        trajeto-parâmetro <code>project_id</code>, então é preciso usar a chave
        API que for válida em todos os projetos da empresa para configurar a
        autorização.</p>

        </div>
      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: Motivo para um reembolso.
                  maxLength: 4000
                  type: string
                email:
                  description: E-mail do usuário.
                  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: >-
                      Pode retornar uma das seguintes mensagens:

                      - No content.

                      - The request for a refund has been accepted. Xsolla CS
                      will manually complete the refund. It may take up to two
                      business days.

                      - 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 (Sem erro).
        '204':
          description: Solicitação de reembolso aceita.
        '401':
          description: Unauthorized (Acesso negado).
        '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 de transação inválido. Confirme as credenciais de
                      pagamento. Caso contrário, entre em contato com o suporte
                      da Xsolla pelo endereço support@xsolla.com.
                    type: string
                type: object
          description: Transação não encontrada.
        '422':
          content:
            application/json:
              example:
                message: >-
                  We are processing the refund request. This may take up to two
                  business days.
              schema:
                properties:
                  message:
                    description: >-
                      Pode retornar uma das seguintes mensagens:

                      - We are processing the refund request. This may take up
                      to two business days.

                      - We are reaching the user for the information required
                      for the refund. For details, contact Xsolla Support.

                      - Incorrect payment status. Refund is possible only for
                      payments with "completed" or "error" status.

                      - To process this request, the customer's email address
                      field must be filled. Please specify the customer's email
                      address and try again.

                      - Full refund is unavailable because there are successful
                      partial refunds for this transaction.

                      - Refund failed. Please contact Xsolla Support to process
                      it manually.

                      - Dispute for this invoice is already opened. Can’t make a
                      refund yet.
                    type: string
                type: object
          description: Unprocessable Entity (Parâmetros de solicitação inválidos).
      security:
        - basicAuth: []
      summary: Solicitar reembolso
      tags:
        - refund
      x-server: true
  /merchants/{merchant_id}/reports/transfers:
    get:
      description: >
        Lista todos os pagamentos de um período.


        <div class="notice">

        <p><strong>Aviso</strong></p><p>Esta chamada de API não contém o
        trajeto-parâmetro <code>project_id</code>, então é preciso usar a chave
        API que for válida em todos os projetos da empresa para configurar a
        autorização.</p>

        </div>
      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: Obtém pagamentos
      tags:
        - reports
      x-admin: true
      x-server: true
  /merchants/{merchant_id}/token:
    post:
      description: >
        Você pode gerar um token com parâmetros de usuário arbitrários. Esses 

        parâmetros são enviados ao obter o token e retornam no payload após uma 

        transação bem-sucedida. Um token só pode conter parâmetros descritos
        neste 

        documento ou predefinidos por você.


        Se qualquer parâmetro for enviado no formato errado, ou possuir o tipo
        errado, 

        nenhum token será emitido. Você receberá um código HTTP 422 com a
        descrição do 

        erro no corpo JSON. Em `extended_message`, você receberá uma informação
        com os 

        parâmetros exatos que foram enviados incorretamente.


        Por padrão, o tempo de vida do token é de 24 horas. Se quiser alterar
        esse 

        valor, contate seu Gerente de Sucesso do Cliente ou envie um e-mail para
        <a 

        href="mailto:csm@xsolla.com">csm@xsolla.com</a>. O novo valor será
        habilitado 

        para todos os projetos da empresa criados na <a 

        href="https://publisher.xsolla.com/">Conta de Distribuidor</a>.


        <div class="notice">

        <p><strong>Aviso</strong></p><p>O token obtido após a chamada do método
        API pode ser usado exclusivamente para autorizar outras solicitações.
        Este token só pode ser utilizado para abrir a interface de pagamento se
        você integrar o produto <a
        href="https://developers.xsolla.com/pt/doc/subscriptions/">Subscriptions</a>.</p><p>Para
        abrir a interface de pagamento em uma nova janela, use o seguinte link:
        <code>https://secure.xsolla.com/paystation4/?token={token}</code>, onde
        <code>{token}</code> é o token recebido.</p><p>Para fins de teste, use
        este URL:
        <code>https://sandbox-secure.xsolla.com/paystation4/?token={token}</code>.</p>

        </div>


        <p></p>


        <div class="notice">

        <p><strong>Aviso</strong></p><p>Esta chamada de API não contém o
        trajeto-parâmetro <code>project_id</code>, então é preciso usar a chave
        API que for válida em todos os projetos da empresa para configurar a
        autorização.</p>

        </div>
      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/pt/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: >-
                          O objeto contém os nomes dos parâmetros com descrições
                          de erros.
                        type: object
                    type: object
                  http_status_code:
                    type: integer
                  message:
                    type: string
                  request_id:
                    type: string
                type: object
          description: Unprocessable Entity.
      security:
        - basicAuth: []
      summary: Criar token
      tags:
        - token
      x-server: true
  /projects/{project_id}/users/{user_id}/payment_accounts:
    get:
      description: >
        Lista contas de pagamento salvas de um usuário específico.


        <div class="note">

        <p><strong>Observe</strong></p><p>No modo sandbox, essa chamada de API
        só funciona com <a
        href="https://developers.xsolla.com/pt/doc/pay-station/testing/test-cards/">cartões
        de teste</a> que não tenham a função 3-D Secure.</p>

        </div>
      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: Obtém contas salvas
      tags:
        - tokenization
      x-server: true
  /projects/{project_id}/users/{user_id}/payment_accounts/{type}/{account_id}:
    delete:
      description: >
        Exclui uma conta de pagamento salva.


        <div class="note">

        <p><strong>Observe</strong></p><p>No modo sandbox, essa chamada de API
        só funciona com <a
        href="https://developers.xsolla.com/pt/doc/pay-station/testing/test-cards/">cartões
        de teste</a> que não tenham a função 3-D Secure.</p>

        </div>


        <p></p>


        <div class="note">

        <p><strong>Observe</strong></p><p>Você pode chamar esse método API no
        modo sandbox. Para fazer isso, passe os dados da conta de pagamento de
        teste na solicitação. Consulte as <a
        href="https://developers.xsolla.com/pt/doc/pay-station/testing/test-saved-cards-in-sandbox/#pay_station_testing_tokenization_sandbox_delete_saved_card">instruções</a>
        para mais detalhes sobre o acesso no modo sandbox e os cenários de
        teste.</p>

        </div>
      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: Excluir conta salva
      tags:
        - tokenization
      x-server: true
  /projects/{project_id}/users/{user_id}/payments/{type}/{account_id}:
    post:
      description: >
        Cobra um usuário através de uma conta de pagamento salva.


        <div class="note">

        <p><strong>Observe</strong></p><p>No modo sandbox, essa chamada de API
        só funciona com <a
        href="https://developers.xsolla.com/pt/doc/pay-station/testing/test-cards/">cartões
        de teste</a> que não tenham a função 3-D Secure.</p>

        </div>


        <p></p>


        <div class="notice">

        <p><strong>Aviso</strong></p><p>Para a chamada de API funcionar
        corretamente, configure um tempo limite de 2 minutos.</p>

        </div>
      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: Cobrar com conta salva
      tags:
        - tokenization
      x-server: true
components:
  securitySchemes:
    basicAuth:
      description: >-
        A Xsolla API utiliza autenticações de acesso básica. Todas as
        solicitações à API devem conter o cabeçalho `Authorization: Basic
        <your_authorization_basic_key>`, onde `<your_authorization_basic_key>` é
        o par `merchant_id:api_key` codificado de acordo com o padrão Base64.

         Vá para a [Conta de Distribuidor](https://publisher.xsolla.com/) para encontrar esses parâmetros:<ul><li>O `merchant_id` é exibido:<ul><li>Na seção **Company settings > Company**.</li><li>No URL na barra de endereço do navegador em qualquer página da Conta de Distribuidor. O URL tem o seguinte formato: `https://publisher.xsolla.com/<merchant_id>`.</li></ul></li><li>A `api_key` é exibida na Conta de Distribuidor somente uma vez durante sua crição, e deve ser armazenada manualmente. Você pode criar uma nova chave nas seguinte seção:<ul><li>**Company settings > API keys**.</li><li>**Project settings > API keys**.</li></ul></li></ul><br>
         Para saber mais sobre como trabalhar com as chaves API, veja a [referência da API](https://developers.xsolla.com/pt/api/getting-started/#api_keys_overview).
      scheme: basic
      type: http
  parameters:
    merchant-id-path-param:
      description: ID de comerciante.
      in: path
      name: merchant_id
      required: true
      schema:
        type: integer
    project-id-path-param:
      description: ID do projeto.
      in: path
      name: project_id
      required: true
      schema:
        type: integer
    transaction-id-path-param:
      description: ID da transação.
      in: path
      name: transaction_id
      required: true
      schema:
        type: integer
    datetime-from-req:
      description: >-
        O início do período no formato AAAA-MM-DD. Não é obrigatório se ao menos
        um dos seguintes parâmetros for
        passado:<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: >-
        O fim do período no formato AAAA-MM-DD. Não é obrigatório se ao menos um
        dos seguintes parâmetros for passado:
        <ul><li>`transfer_id`</li><li>`report_id`</li></ul> A diferença entre
        `datetime_from` e `datetime_to` não pode ser maior do que 92 dias.
      example: '2023-03-08'
      in: query
      name: datetime_to
      required: true
      schema:
        format: datetime
        type: string
    format:
      description: Formato da data.
      in: path
      name: format
      required: true
      schema:
        enum:
          - json
          - csv
          - xls
        type: string
    in-transfer-currency:
      description: >-
        Converte todos os dados financeiros à moeda do pagamento (a moeda de
        pagamento é usada por padrão). Não é obrigatório se ao menos um dos
        seguintes parâmetros for
        passado:<ul><li>`transfer_id`</li><li>`report_id`</li></ul>
      in: query
      name: in_transfer_currency
      required: true
      schema:
        type: integer
    show-total:
      description: >-
        Se a quantia total das transações deve ser incluída ou não no relatório.
        Disponível para exportar apenas no formato CSV. `true` por padrão.
      in: query
      name: show_total
      schema:
        type: boolean
    merchant-of-records:
      description: >-
        Comerciante do Registro. Pode ser `xsolla`, `merchant`, ou não
        especificado. Se for `merchant`, retorna as transações feitas através
        dos portais do parceiro. Se for `xsolla`, retorna as transações que não
        foram feitas pelos portais do parceiro. Se não for especificado, retorna
        todas as transações.
      in: query
      name: merchant_of_records
      required: false
      schema:
        enum:
          - xsolla
          - merchant
        nullable: true
        type: string
        x-enumDescriptions:
          merchant: Retorna as transações feitas pelos portais do parceiro.
          xsolla: >-
            Retorna as transações que não foram feitas pelos portais do
            parceiro.
    project-id-query-param:
      description: ID do projeto.
      in: query
      name: project_id
      required: false
      schema:
        type: integer
    show-dry-run:
      description: Se transações de teste devem ser incluídas ou não.
      in: query
      name: show_dry_run
      required: false
      schema:
        type: boolean
    transfer-id:
      description: ID de pagamento.
      in: query
      name: transfer_id
      required: false
      schema:
        type: integer
    report-id:
      description: ID de relatório financeiro.
      in: query
      name: report_id
      required: false
      schema:
        type: integer
    offset:
      description: >-
        Número do elemento a partir do qual a lista é gerada (a quantidade
        começa a partir de 0).
      in: query
      name: offset
      required: false
      schema:
        type: integer
    limit-req:
      description: >-
        Limite da quantidade de transações exibidas na página. Se esse parâmetro
        for passado, você não precisará passar os parâmetros `datetime_from` e
        `datetime_to`.
      in: query
      name: limit
      required: false
      schema:
        type: integer
    transaction-status:
      description: Status da transação.
      in: query
      name: status
      required: false
      schema:
        enum:
          - done
          - canceled
          - error
          - refunded
        type: string
    datetime-from:
      description: Início do período.
      in: query
      name: datetime_from
      required: false
      schema:
        format: datetime
        type: string
    datetime-to:
      description: Fim do período.
      in: query
      name: datetime_to
      required: false
      schema:
        format: datetime
        type: string
    transaction-id:
      description: ID da transação.
      in: query
      name: transaction_id
      required: false
      schema:
        type: integer
    type:
      description: Tipos de transações exibidas nos resultados da pesquisa.
      in: query
      name: type
      required: false
      schema:
        enum:
          - all
          - transferred
          - canceled
          - test
        type: string
        x-enumDescriptions:
          all: Todas as transações.
          canceled: Transações canceladas, excluindo transações de teste.
          test: Transações de teste.
          transferred: Transações bem-sucedidas, excluindo transações de teste.
    phone:
      description: Número de telefone no formato internacional.
      in: query
      name: phone
      required: false
      schema:
        type: string
    user-id-query-param:
      description: >-
        ID de usuário único no jogo armazenado do seu lado. Certifique-se de
        passar o ID de usuário existente. Em caso de erro, consulte às
        [respostas às Perguntas Frequentes
        (FAQ)](/pt/doc/pay-station/references/faq/#faq_validation).
      in: query
      name: user_id
      required: false
      schema:
        type: string
    user-name:
      description: Nome de usuário.
      in: query
      name: user_name
      required: false
      schema:
        type: string
    user-custom:
      description: Parâmetro personalizado para a identificação do usuário.
      in: query
      name: user_custom
      required: false
      schema:
        type: string
    email:
      description: E-mail do usuário.
      in: query
      name: email
      required: false
      schema:
        maxLength: 100
        type: string
    external-id:
      description: >-
        ID de transação no jogo. Precisa ser único para cada pagamento de um
        usuário.
      in: query
      name: external_id
      required: false
      schema:
        type: string
    order-id:
      description: >-
        ID do Pedido. Você pode usá-lo para chamar o método de API [Obter
        pedido](/pt/api/shop-builder/operation/get-order/).
      example: 1234
      in: query
      name: order_id
      required: false
      schema:
        type: integer
    limit:
      description: Limite da quantidade de elementos na página.
      in: query
      name: limit
      required: false
      schema:
        type: integer
    status:
      description: Um status de transação.
      in: query
      name: status
      required: false
      schema:
        $ref: '#/components/schemas/status.enum'
    legal-entity-id:
      description: ID da entidade legal do desenvolvedor.
      in: query
      name: legal_entity_id
      required: false
      schema:
        type: integer
    payout-status:
      description: Status de pagamento.
      in: query
      name: status
      required: false
      schema:
        enum:
          - hold
          - ready
          - paid
        type: string
        x-enumDescriptions:
          hold: Aguardando por uma solicitação para prosseguir.
          paid: Pagamento concluído.
          ready: Pagamento em progresso.
    user-id-path-param:
      description: >-
        ID de usuário único no jogo armazenado do seu lado. Certifique-se de
        passar o ID de usuário existente. Em caso de erro, consulte às
        [respostas às Perguntas Frequentes
        (FAQ)](/pt/doc/pay-station/references/faq/#faq_validation).
      in: path
      name: user_id
      required: true
      schema:
        type: string
    mode:
      description: >-
        Defina como `sandbox` para testar o processo de pagamento. Remova o
        parâmetro para fazer pagamentos reais.
      in: query
      name: mode
      required: false
      schema:
        type: string
    type-path-param:
      description: Tipo de conta de pagamento.
      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 (Hong Kong).
          alipayplus_kplus: K PLUS.
          alipayplus_maya: Maya.
          alipayplus_rabbitlinepay: Rabbit LINE pay.
          alipayplus_tng: Touch 'n Go.
          alipayplus_truemoney: TrueMoney Wallet.
          amazon: Amazon Pay.
          card: Cartões bancários.
          klarna: >-
            Klarna. O salvamento da conta de pagamento Klarna só está disponível
            nos seguintes países: EUA, RU, Suécia, Alemanha, Áustria, Noruega,
            Finlândia, Dinamarca e Holanda.
          mercadopago: Mercado Pago (incluindo Mercado Pago Connect).
          nupay: NuPay.
          paidy: Paidy.
          paypal: PayPal.
          paysafecard_eu: Paysafecard (UE).
          paysafecard_us: Paysafecard (EUA).
          skrill: Skrill Digital Wallet.
          softbank_au: au Easy Payment.
          softbank_docomo: Docomo.
          softbank_paypay: PayPay.
          softbank_softbank2: SoftBank.
          softbank_ymobile: Y!mobile.
          toss: Toss Wallet.
    account-id-path-param:
      description: ID de uma conta salva no banco de dados da Xsolla.
      in: path
      name: account_id
      required: true
      schema:
        type: integer
  schemas:
    empty-body:
      description: >-
        Para a chamada de API funcionar corretamente, o corpo da solicitação
        deve estar vazio.
      nullable: true
      type: object
    status.enum:
      enum:
        - created
        - processing
        - review
        - error
        - done
        - awaitingRefund
        - refunded
        - canceled
        - partiallyRefunded
      type: string
      x-enumDescriptions:
        awaitingRefund: >-
          A transação está aguardando a decisão sobre um reembolso. Depois que o
          usuário solicita um reembolso, o suporte ao cliente Xsolla processa a
          solicitação manualmente e toma uma decisão sobre o reembolso.
        canceled: |-
          Há dois cenários possíveis:
            - A transação foi cancelada no lado do sistema de pagamento. Por exemplo, houve fundos insuficientes na conta do usuário.
            - O pagamento foi reembolsado ao usuário.
        created: O usuário iniciou a transação mas ela ainda não foi processada.
        done: A transação foi processada com sucesso.
        error: >-
          Ocorreu um erro durante o processamento da transação. Tais pagamentos
          podem ser reembolsados contatando o suporte ao cliente Xsolla.
        partiallyRefunded: O usuário recebeu um reembolso parcial.
        processing: A transação está sendo processada.
        refunded: Um reembolso foi feito ao saldo Xsolla do usuário.
        review: >-
          O processamento da transação foi suspenso pelo sistema antifraude e a
          transação está atualmente sob verificação adicional.
    custom_parameters:
      description: >-
        Este objeto contém parâmetros para configurar filtros antifraude. A
        lista de parâmetros é exibida abaixo. Para adicionar parâmetros
        personalizados, contate seu Gerente de Sucesso do Cliente ou envie um
        e-mail para [csm@xsolla.com](mailto:csm@xsolla.com).
      properties:
        active_date:
          description: >-
            Última data de visualização, de acordo com o [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601).
          type: string
        additional_verification:
          description: Se o jogador utiliza procedimentos de verificação de conta ou não.
          type: boolean
        character_customized:
          description: Se o jogador personalizou seu personagem ou não.
          type: boolean
        chat_activity:
          description: Se o jogador utiliza a função de chat ou não.
          type: boolean
        completed_tasks:
          description: Quantidade de tarefas/objetivos concluídos.
          type: integer
        forum_activity:
          description: Se o jogador utiliza a função do fórum ou não.
          type: boolean
        items_used:
          description: Se o jogador usa itens de jogo comprados ou não.
          type: boolean
        karma_points:
          description: Karma do jogador.
          type: integer
        last_change_password_date:
          description: >-
            Data da última alteração de senha, de acordo com o [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601).
          type: string
        non_premium_currency:
          description: Quantidade de moedas não Premium.
          format: float
          type: number
        notifications_enabled:
          description: Se o jogador habilitou notificações ou não.
          type: boolean
        profile_completed:
          description: Se o jogador adicionou informações adicionais ao seu perfil ou não.
          type: boolean
        profile_image_added:
          description: Se o jogador enviou uma imagem de perfil nova ou não.
          type: boolean
        pvp_activity:
          description: Se o jogador participa de batalhas PvP (Jogador vs jogador).
          type: boolean
        registration_date:
          description: >-
            Data de criação da conta, de acordo com o [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601).
          type: string
        session_time:
          description: >-
            Tempo de sessão médio, de acordo com o [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601).
          type: string
        social_networks_added:
          description: Se o jogador conectou seus perfis de mídias sociais ou não.
          type: boolean
        total_bans:
          description: Quantidade de vezes que o jogador foi banido do chat/fórum.
          type: integer
        total_characters:
          description: Quantidade de personagens no jogo.
          type: integer
        total_clans:
          description: Quantidade de clãs dos quais o jogador fez parte.
          type: integer
        total_friends:
          description: Quantidade de amigos.
          type: integer
        total_game_events:
          description: Quantidade de eventos no jogo dos quais o jogador participou.
          type: integer
        total_gifts:
          description: Quantidade de presentes no jogo que o jogador enviou/recebeu.
          type: integer
        total_hours:
          description: Tempo total de horas no jogo.
          type: integer
        total_inventory_value:
          description: Valor total do inventário (moeda do jogo).
          format: float
          type: number
        total_sum:
          description: Quantia total de pagamentos.
          format: float
          type: number
        tutorial_completed:
          description: Se o jogador concluiu o tutorial do jogo ou não.
          type: boolean
        unlocked_achievements:
          description: Quantidade de conquistas desbloqueadas.
          type: integer
        user_level:
          description: Nível, reputação ou classificação do jogador.
          type: integer
        win_rate:
          description: Taxa de vitórias.
          type: integer
      type: object
    subscription:
      description: Dados de assinatura.
      properties:
        available_plans:
          description: Planos de assinatura para exibir na interface de pagamento.
          items:
            type: string
          type: array
        currency:
          description: Moeda do plano de assinatura a ser utilizado em todos os cálculos.
          type: string
        operation:
          description: >-
            O tipo de operação aplicado ao plano de assinatura do usuário. Para
            alterar o plano de assinatura, passe o valor `change_plan`. Você
            precisa especificar o novo ID de plano no parâmetro
            `purchase.subscription.plan_id`.
          type: string
        plan_id:
          description: >-
            ID externo do plano de assinatura. Pode ser encontrado na seção
            **Assinaturas > Planos de assinatura** da Conta de Distribuidor.
          type: string
        product_id:
          description: ID do produto.
          type: string
        trial_days:
          description: O período de teste em dias.
          type: integer
      type: object
    purchase:
      description: Objeto que contém dados de compra.
      properties:
        subscription:
          $ref: '#/components/schemas/subscription'
      type: object
    currency:
      description: >-
        Moeda de compra preferencial. Código da moeda de três letras de acordo
        com o [ISO
        4217](https://developers.xsolla.com/pt/doc/pay-station/references/supported-currencies/).
      type: string
    external_id:
      description: >-
        ID da transação no jogo. Deve ser único para cada pagamento. Confira a
        <a
        href="https://developers.xsolla.com/pt/doc/pay-station/references/faq/#faq_payments_q_new_transaction_external_id">documentação</a>
        para obter mais detalhes.
      type: string
    language:
      description: >-
        Idioma da interface. [Código de
        idioma](https://developers.xsolla.com/pt/doc/pay-station/features/localization/)
        de duas letras minúsculas.
      type: string
    mode.settings:
      description: >-
        Defina como `sandbox` para testar o processo de pagamento. Nesse caso,
        use *https://sandbox-secure.xsolla.com* para acessar a interface de
        pagamento de testes.
      type: string
    payment_method:
      description: ID do método de pagamento.
      type: integer
    payment_widget:
      description: >-
        Widget de pagamento. Pode ser `paybycash` ou `giftcard`. Se o parâmetro
        for definido, o usuário é redirecionado ao widget Pay by Cash ou Gift
        Cards, respectivamente.
      enum:
        - paybycash
        - giftcard
      type: string
    project_id:
      description: ID Xsolla do jogo. Pode ser encontrado na Conta de Distribuidor.
      type: integer
    redirect_policy:
      description: Configurações das políticas de redirecionamento.
      properties:
        delay:
          description: >-
            Atraso (em segundos) após o qual o usuário é redirecionado
            automaticamente para o Callback URL.
          type: integer
        manual_redirection_action:
          description: >-
            Comportamento do Pay Station acionado pelo usuário ao clicar no
            botão fechar ou **Voltar ao jogo**. Pode ser `redirect` (por padrão)
            e `postmessage`. Se definido como `redirect`, o usuário é
            redirecionado ao URL passado no token ou especificado na Conta de
            Distribuidor. Se for `postmessage`, o usuário não é redirecionado
            para outras páginas. Ao clicar no ícone de fechar, o evento `close`
            é enviado. Ao clicar no botão **Voltar ao jogo**, o evento `return`
            é enviado.
          enum:
            - redirect
            - postmessage
          type: string
        redirect_button_caption:
          description: Texto no botão para o redirecionamento manual.
          type: string
        redirect_conditions:
          description: >-
            Status de pagamento para o qual um usuário é redirecionado à
            Callback URL. Pode ser `none`, `successful`,
            `successful_or_canсeled`, ou `any`.
          enum:
            - none
            - successful
            - successful_or_canceled
            - any
          type: string
        status_for_manual_redirection:
          description: >-
            Status de pagamento para o qual um botão que redireciona o usuário
            ao URL de retorno é exibido. Pode ser `none`, `successful`,
            `successful_or_canсeled`, ou `any`.
          enum:
            - none
            - successful
            - successful_or_canceled
            - any
          type: string
      type: object
    return_url:
      description: >-
        URL da página onde um usuário é redirecionado depois de fazer um
        pagamento (Callback URL). Consulte a <a
        href="https://developers.xsolla.com/pt/doc/pay-station/how-to/how-to-configure-redirects/">documentação</a>
        para obter informações mais detalhadas sobre a configuração de
        redirecionamentos.
      type: string
    ap_quick_payment_button:
      description: >
        Se o botão de pagamento rápido via Apple Pay no topo da interface de
        pagamento 

        deve ser exibido nos dispositivos suportados ou não. `true` por padrão.
        Se for 

        `false`, o Apple Pay é exibido na lista de métodos de pagamento de
        acordo com o 

        algoritmo
        [PayRank](/pt/doc/pay-station/how-to/how-to-manage-top-payment-methods/).


        <div class="note">

        <p><strong>Observe</strong></p><p>Esse método de pagamento ficará oculto
        na lista de métodos disponíveis nos dispositivos Android e quaisquer
        outros dispositivos que não suportem o pagamento com a Apple pay,
        independentemente do valor do parâmetro.</p>

        </div>
      type: boolean
    components:
      description: Configurações do menu.
      properties:
        subscriptions:
          description: Configurações do submenu dos planos de assinatura.
          properties:
            hidden:
              description: Se o submenu deve ser exibido ou não.
              type: boolean
            order:
              description: Posição do submenu no menu.
              type: integer
          type: object
        virtual_currency:
          description: Moeda virtual das configurações do submenu.
          properties:
            custom_amount:
              description: >-
                Se o usuário pode inserir uma quantia arbitrária da moeda
                virtual na interface de pagamento ou não.
              type: boolean
            hidden:
              description: Se o submenu deve ser exibido ou não.
              type: boolean
            order:
              description: Posição do submenu no menu.
              type: integer
          type: object
        virtual_items:
          description: Configurações de itens virtuais do submenu.
          properties:
            hidden:
              description: Se o submenu deve ser exibido ou não.
              type: boolean
            order:
              description: Posição do submenu no menu.
              type: integer
            selected_group:
              description: Grupo a ser exibido depois de abrir a aba de itens virtuais.
              type: string
            selected_item:
              description: >-
                Item a ser exibido depois de abrir a aba de itens virtuais (SKU
                do item).
              type: string
          type: object
      type: object
    currency_format:
      description: >-
        Defina como `code` para exibir um código monetário [ISO
        4217](https://developers.xsolla.com/pt/doc/pay-station/references/supported-currencies/)
        de três letras na interface de pagamento. O símbolo da moeda é exibido
        em vez do código monetário de três letras por padrão.
      type: string
    close_button_icon:
      description: O ícone do botão **Fechar** na interface de pagamento.
      enum:
        - arrow
        - cross
      type: string
      x-enumDescriptions:
        arrow: O ícone **←** à esquerda do cabeçalho da interface de pagamento.
        cross: O ícone **×** à direita do cabeçalho da interface de pagamento.
    header.desktop:
      description: Configurações de cabeçalho.
      properties:
        close_button:
          description: >-
            Se o botão **Fechar** na interface de pagamento deve ser exibido ou
            não. O botão fecha a interface de pagamento e redireciona o usuário
            para o URL especificado no parâmetro `settings.return_url`. `false`
            por padrão.
          type: boolean
        close_button_icon:
          $ref: '#/components/schemas/close_button_icon'
        is_visible:
          description: Se o cabeçalho na interface de pagamento deve ser exibido ou não.
          type: boolean
        type:
          description: >-
            Como mostrar o cabeçalho. Pode ser `compact` (oculta o nome do
            projeto e ID do usuário) ou `normal` (padrão).
          enum:
            - compact
            - normal
          type: string
        visible_logo:
          description: >-
            Se `true`, o logotipo é exibido no cabeçalho. Para enviar a imagem,
            abra seu projeto na [Conta de
            Distribuidor](https://publisher.xsolla.com/) e acesse a seção **Pay
            Station > Settings**.
          type: boolean
        visible_name:
          description: Se o nome do projeto deve ser exibido no cabeçalho ou não.
          type: boolean
        visible_purchase:
          description: >-
            Se a descrição da compra (`purchase.description.value`) deve ser
            exibida no cabeçalho ou não. `true` por padrão.
          type: boolean
      type: object
    subscription_list.desktop:
      description: Configurações para a lista de planos de assinatura.
      properties:
        description:
          description: >-
            Qualquer texto para ser exibido acima da lista de planos de
            assinatura disponíveis na interface de pagamento.
          type: string
        display_local_price:
          description: >-
            Caso `true`, se a moeda local do usuário for diferente da definida
            no plano de assinatura, o usuário poderá ver ambos os preços: um na
            moeda local, o outro na moeda básica.
          type: boolean
      type: object
    desktop.ui:
      description: Configurações de interface para a versão desktop.
      properties:
        header:
          $ref: '#/components/schemas/header.desktop'
        subscription_list:
          $ref: '#/components/schemas/subscription_list.desktop'
      type: object
    gp_quick_payment_button:
      description: >-
        A maneira como o método de pagamento Google Pay é exibido. Se `true`, o
        botão de pagamento rápido via Google Pay é exibido no topo da interface
        de pagamento, independentemente do dispositivo e navegador do usuário.
        Se `false`, o Google Pay é exibido na lista de métodos de pagamento de
        acordo com o algoritmo
        [PayRank](/pt/doc/pay-station/how-to/how-to-manage-top-payment-methods/).
        Se o parâmetro não for passado, o Google Pay é exibido no topo da
        interface de pagamento de qualquer dispositivo e navegador do usuário,
        exceto o Safari — no Safari, ele é exibido na lista de métodos de
        pagamento.
      type: boolean
    header.ui:
      properties:
        visible_virtual_currency_balance:
          description: >-
            Se esse elemento pode ser ocultado ou não na interface de pagamento.
            `true` por padrão.
          type: boolean
      type: object
    is_cart_open_by_default:
      description: >-
        A exibição da lista de itens do carrinho e dados financeiros na
        interface de pagamento. Se `true`, a informação é exibida em uma vista
        estendida. Se `false` (padrão) ou o parâmetro não for passado, a
        informação é exibida em uma vista recolhida.
      type: boolean
    is_independent_windows:
      description: >-
        Se os usuários devem ser redirecionados do navegador integrado do
        inicializador (WebView) ao navegador padrão para fazer uma compra.
        `false` por padrão.
      type: boolean
    is_language_selector_hidden:
      description: >-
        Se o seletor de idioma deve estar oculto na página de pagamento ou não.
        Se `false` (por padrão), o seletor é exibido.
      type: boolean
    is_payment_methods_list_mode:
      description: >-
        Se uma lista dos métodos de pagamento disponíveis no país do usuário
        deve ser exibida ou não ao abrir a interface de pagamento. Se `false`
        (padrão), o método de pagamento passando no parâmetro
        `settings.payment_method` ou o método selecionado pelo [algoritmo
        PayRank](https://developers.xsolla.com/pt/solutions/payments/payment-ui-management/top-payment-methods-management/)
        será exibido.
      type: boolean
    is_prevent_external_link_open:
      description: >-
        Se o redirecionamento de links a uma fonte externa está desabilitado ou
        não. `false` por padrão. Ao clicar em um link externo, o evento
        `external-link-open` é enviado através do mecanismo `postMessage`. O
        endereço para o link de redirecionamento é passado no parâmetro `url`.
      type: boolean
    is_search_field_hidden:
      description: >-
        Se uma barra de pesquisa de métodos de pagamento deve ser exibida ou não
        na interface de pagamento. Se `true`, a barra de pesquisa será oculta.
        `false` por padrão.
      type: boolean
    is_show_close_widget_warning:
      description: >-
        Se deve ser exibido um aviso sobre o processamento da transação ao
        focalizar o cursor sobre o ícone **×** antes de fechar a página de
        pagamento ou não. Se `false` for passado, ou o parâmetro não for
        passado, o aviso não será exibido. `true` por padrão.
      type: boolean
    is_three_ds_independent_windows:
      default: false
      description: >-
        Se a verificação 3-D Secure deve ser aberta em uma nova janela do
        navegador ou não. Se sua configuração utiliza Content Security Policy
        (CSP), defina como `true`.
      type: boolean
    layout:
      description: >-
        Local dos elementos principais da interface de pagamento. Você pode
        abrir a interface de pagamento dentro do seu jogo e/ou trocar as colunas
        com informações sobre um pedido e métodos de pagamento. Consulte as
        [instruções de
        personalização](https://developers.xsolla.com/pt/doc/pay-station/features/ui-theme-customization/#pay_station_ui_theme_customization_layout)
        para mais detalhes.
      enum:
        - embed
        - column_reverse
        - embed_column_reverse
      type: string
    mobile.ui:
      properties:
        header:
          properties:
            close_button:
              description: >-
                Se o botão **Fechar** no Portal de Pagamentos para dispositivos
                móveis deve ser exibido ou não. O botão fecha o Portal de
                Pagamentos e redireciona o usuário para o URL especificado no
                parâmetro `settings.return_url`. `false` por padrão.
              type: boolean
            close_button_icon:
              $ref: '#/components/schemas/close_button_icon'
          type: object
      type: object
    mode.ui:
      description: >
        Modo de exibição da interface de pagamento para gerenciar métodos de
        pagamento 

        salvos. Pode ser definido para `user_account` ou omitido. Nesse modo, o
        usuário 

        só pode alterar o idioma, adicionar novos métodos de pagamento e remover
        os 

        existentes.


        <div class="note">

        <p><strong>Observe</strong></p><p>Quando esse parâmetro é passado, o
        botão de redirecionamento não é exibido. Para redirecionar um usuário
        depois de salvar um método de pagamento, configure os <a
        href="/pt/doc/pay-station/how-to/how-to-configure-redirects/#pay_station_how_to_configure_redirects_automatic/">redirecionamentos
        automáticos</a>.</p>

        </div>
      type: string
    theme.ui:
      description: >-
        Tema da interface de pagamento. Pode ser `63295a9a2e47fab76f7708e1` para
        o tema claro (padrão) ou `63295aab2e47fab76f7708e3` para o tema escuro.
        Você também pode [criar um tema
        personalizado](https://developers.xsolla.com/pt/doc/pay-station/features/ui-theme-customization/#pay_station_ui_theme_customization_in_token)
        e passar seu ID nesse parâmetro.
      enum:
        - 63295a9a2e47fab76f7708e1
        - 63295aab2e47fab76f7708e3
      type: string
    payment_accounts_enable:
      properties:
        enable:
          description: >-
            Especifica se o ícone do lápis na interface de pagamento que leva à
            página de edição do método de pagamento deve ser exibido ou não.
            `true` por padrão.
          type: boolean
        order:
          description: >-
            Posição da seção na lista suspensa na interface de pagamento.
            Necessário se `settings.ui.user_account.payment_accounts.enable` for
            passado.
          minimum: 1
          type: integer
      type: object
    user_account:
      description: Dados da conta do usuário.
      properties:
        payment_accounts:
          allOf:
            - description: Seção **Métodos salvos**.
            - $ref: '#/components/schemas/payment_accounts_enable'
      type: object
    ui:
      description: Configurações da interface.
      properties:
        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: >-
        As configurações para instalar o processo de pagamento e a interface de
        pagamento para um usuário.
      properties:
        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: Idade do usuário.
      type: integer
    attributes.user:
      description: >-
        Os atributos do usuário por filtrar a lista de itens, representado como
        um conjunto JSON válido de pares de valores-chave.
      type: object
    country.user:
      properties:
        allow_modify:
          description: >-
            Se um usuário pode alterar o país na interface de pagamento. Se
            `country.value` for passado no token, o valor será `false` por
            padrão.
          type: boolean
        value:
          description: >-
            Código do país de duas letras maiúsculas, de acordo com o [ISO
            3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
          type: string
      type: object
    email.user:
      description: >-
        O objeto `user.email` é uma parte integral para a construção de modelos
        antifraude e ajuda a aumentar as taxas de aceitação. É um requisito
        tanto da Xsolla quanto dos sistemas de pagamento. Se o parâmetro não for
        passado, o campo necessário para inserir o e-mail aparece na página de
        pagamento. O usuário recebe o recibo da compra no e-mail passado no
        parâmetro ou no definido na página de pagamento.
      maxLength: 100
      properties:
        allow_modify:
          description: >-
            Se um usuário pode inserir seu e-mail na inteface de pagamento. Se o
            parâmetro `user.email.value` for passado no token, o valor é
            definido como `false` por padrão.
          type: boolean
        value:
          description: >-
            E-mail do usuário. Deve ser válido, de acordo com o protocolo [RFC
            822](https://www.w3.org/Protocols/rfc822/#z8).
          type: string
      required:
        - value
      type: object
    id.user:
      properties:
        value:
          description: >-
            ID de usuário único no jogo armazenado do seu lado. Certifique-se de
            passar o ID de usuário existente. Em caso de erro, consulte às
            [respostas às Perguntas Frequentes
            (FAQ)](/pt/doc/pay-station/references/faq/#faq_validation).
          type: string
      required:
        - value
      type: object
    is_legal.user:
      description: Se o usuário é uma entidade legal.
      type: boolean
    legal:
      description: Objeto com dados da entidade legal.
      properties:
        address:
          description: Endereço legal completo.
          type: string
        country:
          description: >-
            País da incorporação. É utilizado o código de país de duas letras
            maiúsculas, de acordo com o [ISO 3166-1
            alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
          type: string
        name:
          description: Nome legal completo.
          type: string
        vat_id:
          description: 'Identificação de contribuinte individual. '
          type: string
      type: object
    legal.user:
      allOf:
        - description: >-
            Objeto com dados da entidade legal. O objeto e todos os seus
            parâmetros são necessários se `user.is_legal` for `true`. 
        - $ref: '#/components/schemas/legal'
    name.user:
      properties:
        allow_modify:
          description: >-
            Se um usuário pode inserir seu nome na interface de pagamento. Se o
            parâmetro `user.name.value` for passado no token, o valor é `false`
            por padrão.
          type: boolean
        value:
          description: Nome de exibição do usuário.
          type: string
      type: object
    phone.user:
      nullable: true
      properties:
        value:
          description: Número de telefone do usuário.
          type: string
      type: object
    public_id.user:
      properties:
        value:
          description: >-
            Um parâmetro único que identifica o usuário, conhecido pelo usuário
            (e-mail, nome de exibição, etc.). Permite que o usuário faça compras
            fora da loja do jogo (exemplo: via quiosques de dinheiro).
          type: string
      type: object
    steam_id.user:
      properties:
        value:
          description: ID do Steam.
          type: string
      type: object
    tracking_id.user:
      properties:
        value:
          description: >-
            ID de usuário único — usado em campanhas de marketing. Só pode
            conter dígitos e caracteres latinos.
          maxLength: 32
          minLength: 32
          type: string
      type: object
    utm.user:
      description: Atributos de tráfego.
      properties:
        utm_campaign:
          description: Título da campanha, transliterado ou traduzido para Inglês.
          type: string
        utm_content:
          description: Conteúdo da campanha.
          type: string
        utm_medium:
          description: >-
            Canal de tráfego (anúncios contextuais, anúncios de mídia, listas de
            e-mail, etc.).
          type: string
        utm_source:
          description: Fonte de tráfego.
          type: string
        utm_term:
          description: >-
            Palavra-chave da campanha. Se definida, os atributos serão feitos
            com base nas palavras-chaves usadas na segmentação de anúncios, em
            vez de buscas específicas. No Google Analytics, o `utm_term`
            especificado é parte do relatório de termos de busca gerais.
          type: string
      type: object
    user:
      description: Dados do usuário.
      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: >-
        Um código de erro que você deseja reproduzir ao testar o processo de
        pagamento via PayPal no modo sandbox. Ele só funciona corretamente se
        você passar o parâmetro `"mode":"sandbox"`.
      enum:
        - 1057
        - 1015
        - 3006
        - 1801
        - 1803
        - 1039
        - 3031
        - 1203
        - 3006
        - 1201
        - 1002
        - 1089
        - 2031
        - 1046
        - 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: Objeto que contém dados de compra.
                properties:
                  checkout:
                    description: Objeto que contém dados de pagamento.
                    properties:
                      amount:
                        description: Quantia de compra.
                        format: float
                        type: number
                      currency:
                        description: >-
                          Moeda da compra. Código da moeda de três letras de
                          acordo com o [ISO
                          4217](https://developers.xsolla.com/pt/doc/pay-station/references/supported-currencies/).
                        type: string
                    type: object
                  description:
                    maxLength: 4000
                    properties:
                      value:
                        type: string
                    type: object
                  virtual_currency:
                    description: Objeto que contém dados da moeda virtual.
                    properties:
                      quantity:
                        description: Quantia da compra em moedas virtuais.
                        format: float
                        type: number
                    type: object
                type: object
              settings:
                description: Objeto que contém configurações de compra.
                properties:
                  currency:
                    $ref: '#/components/schemas/currency'
                  external_id:
                    $ref: '#/components/schemas/external_id'
                  mock_code:
                    $ref: '#/components/schemas/mock_code'
                  mode:
                    description: >-
                      Defina como `sandbox` para testar o processo de pagamento.
                      Remova o parâmetro para realizar pagamentos reais.
                    type: string
                type: object
              user:
                description: Dados do usuário.
                properties:
                  ip:
                    description: Endereço IP do usuário.
                    type: string
                  legal:
                    $ref: '#/components/schemas/legal'
                  name:
                    description: Nome de usuário.
                    type: string
                required:
                  - ip
                type: object
            type: object
      required: true
