openapi: 3.0.0
info:
  description: "# Présentation\n\n* **Version\_:** 2.0.0\n* **Serveurs**\_:\n  * `https://api.xsolla.com/api`\n\nPay Station permet aux partenaires de monétiser leurs produits en fournissant \naux utilisateurs une interface pratique pour payer les achats en jeu dans le \nmagasin de jeu. Pour configurer l'ouverture de l'interface de paiement, \nreportez-vous à ces [instructions](/fr/doc/pay-station/how-to/how-to-open-payment-ui/).\n\nPay Station API fournit les groupes d'appels suivants\_:\n- Jeton — comprend l'appel API pour générer un jeton avec des paramètres \n  utilisateur arbitraires pour le traitement ultérieur du paiement via \n  l'interface de paiement.\n- [Tokénisation](/fr/doc/pay-station/features/tokenization/) — comprend les appels \n  API pour traiter les paiements en toute sécurité sans ouvrir l'interface de \n  paiement ni impliquer l'utilisateur.\n- Rapports — comprend les appels API pour renvoyer des données sur les \n  transactions des utilisateurs, pour générer des rapports et pour répartir les \n  virements par devises.\n- Remboursement — comprend les appels API pour demander des remboursements \n  intégraux et partiels.\n- Test — comprend l'appel API pour tester le processus de chargeback.\n\nPour plus d'informations sur la configuration de l'interface de paiement, \nreportez-vous au [guide d'intégration de la solution \nPayments](/fr/solutions/payments/integration-guide/integration-flow/).\n\n<div class=\"note\">\n<p><strong>Note</strong></p><p>Vous pouvez également vous référer à la section <b>Xsolla Base API</b> dans la <a href=\"https://github.com/xsolla/xsolla-postman\">collection Postman</a> pour tester les appels API utilisés pour l'intégration.</p>\n</div>\n"
  title: Pay Station API
  version: '2.0'
servers:
  - url: https://api.xsolla.com/merchant/v2
tags:
  - name: token
    x-displayName: Jeton
  - name: tokenization
    x-displayName: Tokénisation
  - name: reports
    x-displayName: Rapports
  - name: refund
    x-displayName: Remboursement
  - name: testing
    x-displayName: Tests
paths:
  /merchants/{merchant_id}/projects/{project_id}/payments/{transaction_id}/chargeback:
    post:
      description: "Demande un chargeback en mode bac à sable\_:\n\n- Pour accéder au mode bac à sable, passez `\"mode\":\"sandbox\"` lors de \n  l'[obtention du jeton](https://developers.xsolla.com/fr/api/pay-station/operation/create-token/).\n\n- Le paiement test doit être effectué en mode bac à sable dans le même projet que \n  celui que vous utilisez pour les tests.\n\n- Le statut de la transaction doit être **autre que** `refunded` et `cancelled`.\n\n- Votre rôle dans le Compte éditeur doit être au moins **Gestionnaire \n  financier**. (Pour l'afficher, accédez à la section **Paramètres d'entreprise > \n  Utilisateurs**).\n\n- Référez-vous aux <a href=\"https://developers.xsolla.com/fr/doc/pay-station/testing\n  /test-one-time-purchase-in-\n  sandbox/#pay_station_testing_sandbox_bank_card_chargeback\">instructions</a> \n  pour plus d'informations sur ce scénario de test.\n\n<div class=\"note\">\n<p><strong>Note</strong></p><p>Référez-vous à la <a href=\"https://developers.xsolla.com/fr/doc/pay-station/testing/general-info/\">documentation</a> pour plus d'informations sur d'autres scénarios de test.</p>\n</div>\n"
      operationId: request-chargeback
      parameters:
        - $ref: '#/components/parameters/merchant-id-path-param'
        - $ref: '#/components/parameters/project-id-path-param'
        - $ref: '#/components/parameters/transaction-id-path-param'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/empty-body'
        required: true
      responses:
        '204':
          description: No Content (Aucune erreur).
        '404':
          description: Transaction introuvable.
        '422':
          content:
            application/json:
              example:
                message: >-
                  Not test payment. Chargeback is possible only for payments
                  made in sandbox mode.
              schema:
                properties:
                  message:
                    description: "Renvoie l'un des messages suivants\_:\n- Error processing chargeback. Try again or use another payment.\n- Payment not found. Check payment ID.\n- Payment does not belong to this project.\n- Not test payment. Chargeback is possible only for payments made in sandbox mode.\n- Incorrect payment status. Chargeback is possible only for payments with “Completed” status."
                    type: string
                type: object
          description: Unprocessable Entity (Paramètres de requête non valides).
      security:
        - basicAuth: []
      summary: Demander un chargeback
      tags:
        - testing
      x-server: true
  /merchants/{merchant_id}/reports:
    get:
      description: >
        Récupère une liste de rapports financiers sur une période donnée.


        <div class="notice">

        <p><strong>Remarque</strong></p><p>Cet appel API ne contient pas le
        paramètre de chemin <code>project_id</code>, vous devez donc utiliser la
        clé API valide dans tous les projets de l'entreprise pour
        l'autorisation.</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: Lire des rapports
      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: >
        Renvoie une liste d'informations détaillées sur les transactions
        réussies et 

        annulées pour une période donnée. Vous recevrez des informations sur
        les 

        paiements, les frais, les taxes, les commandes et les utilisateurs. La
        liste 

        est fournie au format JSON ou CSV. Cet appel API convient pour effectuer
        un 

        rapprochement financier.


        <div class="notice">

        <p><strong>Remarque</strong></p><p>Cet appel API ne contient pas le
        paramètre de chemin <code>project_id</code>, vous devez donc utiliser la
        clé API valide dans tous les projets de l'entreprise pour
        l'autorisation.</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: Informations sur le paiement.
                      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: Informations sur l'achat.
                      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: Données de transaction.
                      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: Informations sur l'utilisateur.
                      properties:
                        country:
                          description: >-
                            Code pays à deux lettres majuscules selon la norme
                            [ISO 3166-1
                            alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
                          type: string
                        custom:
                          nullable: true
                          type: string
                        email:
                          description: Adresse e-mail de l'utilisateur.
                          type: string
                        id:
                          description: ID utilisateur.
                          type: string
                        ip:
                          type: string
                        marketplace:
                          type: string
                        name:
                          description: Pseudo de l'utilisateur.
                          type: string
                        phone:
                          description: Numéro de téléphone de l'utilisateur.
                          nullable: true
                          type: string
                      type: object
                    user_balance:
                      description: Solde utilisateur.
                      properties:
                        payment_currency:
                          description: Devise de paiement préférée.
                          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: Liste des transactions renvoyée avec succès.
      security:
        - basicAuth: []
      summary: Lire la liste des transactions
      tags:
        - reports
      x-admin: true
      x-server: true
  /merchants/{merchant_id}/reports/transactions/search.{format}:
    get:
      description: >
        Renvoie une liste de transactions selon des critères de recherche
        spécifiques. 

        Vous recevrez des données sur tous les paiements dans votre jeu, y
        compris ceux 

        échoués. Vous pouvez définir la période de transaction et d'autres
        critères de 

        recherche, comme un utilisateur particulier ou le statut de paiement. La
        liste 

        est fournie au format JSON ou CSV.


        <div class="notice">

        <p><strong>Remarque</strong></p><p>Cet appel API ne contient pas le
        paramètre de chemin <code>project_id</code>, vous devez donc utiliser la
        clé API valide dans tous les projets de l'entreprise pour
        l'autorisation.</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: Rechercher des transactions
      tags:
        - reports
      x-admin: true
      x-server: true
  /merchants/{merchant_id}/reports/transactions/simple_search:
    get:
      description: >
        Récupère en quelques secondes une liste de transactions sur la base de 

        paramètres de recherche spécifiques. Il s'agit de l'alternative à
        l'appel API 

        [Rechercher des
        transactions](/fr/api/pay-station/operation/find-transactions/) 

        qui renvoie des données au format JSON, CSV ou XLS.


        <div class="notice">

        <p><strong>Remarque</strong></p><p>Cet appel API ne contient pas le
        paramètre de chemin <code>project_id</code>, vous devez donc utiliser la
        clé API valide dans tous les projets de l'entreprise pour
        l'autorisation.</p>

        </div>
      operationId: find-transactions-fast
      parameters:
        - $ref: '#/components/parameters/merchant-id-path-param'
        - description: >-
            ID de transaction. Soit cet ID, soit `external_id` doit être passé,
            mais jamais les deux.
          in: query
          name: transaction_id
          schema:
            type: integer
        - description: >-
            ID de transaction dans le jeu. Il est unique pour chaque paiement.
            Soit cet ID, soit `transaction_id` doit être passé, mais jamais les
            deux.
          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: Informations sur le paiement.
                      properties:
                        payment:
                          properties:
                            amount:
                              description: Montant du paiement.
                              format: float
                              type: number
                            currency:
                              description: >-
                                Devise de paiement. Code de devise à trois
                                lettres selon la norme [ISO
                                4217](https://developers.xsolla.com/fr/doc/pay-station/references/supported-currencies/).
                              type: string
                          type: object
                      type: object
                    transaction:
                      description: Informations sur la transaction.
                      properties:
                        external_id:
                          description: >-
                            ID de transaction dans le jeu. Il est unique pour
                            chaque paiement d'utilisateur.
                          type: string
                        id:
                          description: ID de transaction.
                          type: integer
                        payment_date:
                          description: Date du paiement au format AAAA-MM-JJ.
                          type: string
                        project:
                          properties:
                            id:
                              description: >-
                                ID de projet. Il se trouve dans le Compte
                                éditeur.
                              type: integer
                            name:
                              description: Nom de projet.
                              type: string
                          type: object
                        refund_reason:
                          description: Motif de remboursement.
                          type: string
                        status:
                          $ref: '#/components/schemas/status.enum'
                          description: Statut de transaction.
                      type: object
                    user:
                      description: Informations sur l'utilisateur.
                      properties:
                        country:
                          description: >-
                            Code pays à deux lettres majuscules selon la norme
                            [ISO 3166-1
                            alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
                          type: string
                        email:
                          description: Adresse e-mail de l'utilisateur.
                          type: string
                        id:
                          description: ID utilisateur.
                          type: string
                        name:
                          description: Nom d'utilisateur.
                          type: string
                      type: object
                  type: object
                type: array
          description: Liste des transactions renvoyée avec succès.
        '403':
          description: Accès refusé.
        '404':
          description: Transaction introuvable.
        '422':
          description: >-
            Unprocessable Entity (Vous devez passer soit `transaction_id` ou
            `external_id`).
      security:
        - basicAuth: []
      summary: Rechercher des transactions (recherche rapide)
      tags:
        - reports
      x-admin: true
      x-server: true
  /merchants/{merchant_id}/reports/transactions/summary/transfer:
    get:
      description: >
        Repartit les virements en fonction de la devise.


        <div class="notice">

        <p><strong>Remarque</strong></p><p>Cet appel API ne contient pas le
        paramètre de chemin <code>project_id</code>, vous devez donc utiliser la
        clé API valide dans tous les projets de l'entreprise pour
        l'autorisation.</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: Lire les virements répartis en devises
      tags:
        - reports
      x-admin: true
      x-server: true
  /merchants/{merchant_id}/reports/transactions/{transaction_id}/details:
    get:
      description: >
        Récupère les informations complètes sur une transaction par son ID.


        <div class="notice">

        <p><strong>Remarque</strong></p><p>Cet appel API ne contient pas le
        paramètre de chemin <code>project_id</code>, vous devez donc utiliser la
        clé API valide dans tous les projets de l'entreprise pour
        l'autorisation.</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: >-
                                Le montant de la taxe de contestation dans la
                                devise de paiement.
                              format: float
                              type: number
                            currency:
                              description: >-
                                Devise de paiement. Code de devise à trois
                                lettres selon la norme [7ISO
                                4217](/fr/doc/pay-station/references/supported-currencies/).
                              type: string
                            date:
                              description: Date d'ouverture de la contestation.
                              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: Informations relatives à la transaction renvoyées avec succès.
      security:
        - basicAuth: []
      summary: Lire une transaction
      tags:
        - reports
      x-admin: true
      x-server: true
  /merchants/{merchant_id}/reports/transactions/{transaction_id}/partial_refund:
    put:
      description: >
        Envoie une requête de remboursement partiel à l'utilisateur. Pour des 

        informations détaillées sur le processus de remboursement et les modes
        de 

        paiement qui prennent en charge les remboursements partiels,
        reportez-vous à 

        notre
        [documentation](https://developers.xsolla.com/fr/doc/pay-station/features/refund/#pay_station_features_refund_how_it_works_partial_refund_flow).


        <div class="note">

        <p><strong>Note</strong></p><p>Pour appeler cette méthode API en mode
        bac à sable, passez les données de paiement de test dans la requête.
        Reportez-vous aux <a
        href="https://developers.xsolla.com/fr/doc/pay-station/testing/test-one-time-purchase-in-sandbox/#pay_station_testing_sandbox_bank_card_partial_refund">instructions</a>
        pour plus d'informations sur l'accès au mode bac à sable et les
        scénarios de test.</p>

        </div>


        <p></p>


        <div class="notice">

        <p><strong>Remarque</strong></p><p>Cet appel API ne contient pas le
        paramètre de chemin <code>project_id</code>, vous devez donc utiliser la
        clé API valide dans tous les projets de l'entreprise pour
        l'autorisation.</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: Motif de remboursement.
                  maxLength: 4000
                  type: string
                refund_amount:
                  description: Montant de remboursement dans la devise d'achat.
                  format: float
                  type: number
              required:
                - description
                - refund_amount
              type: object
        required: true
      responses:
        '204':
          description: Demande de remboursement approuvée.
        '403':
          description: Autorisations insuffisantes.
        '404':
          content:
            application/json:
              example:
                message: Transaction with specified ID does not exist.
              schema:
                properties:
                  message:
                    description: >-
                      La transaction avec l'ID spécifié n'existe pas. Vérifiez
                      les informations de paiement. Si le problème persiste,
                      contactez le support Xsolla à support@xsolla.com.
                    type: string
                type: object
          description: Transaction introuvable.
        '422':
          content:
            application/json:
              example:
                message: Partial refund is unavailable for subscription payments.
              schema:
                properties:
                  message:
                    description: "**Remboursement non admissible**\n\nRenvoie l'un des messages suivants\_:\n- Partial refund is unavailable for operations with user balance.\n- Requested transaction is partial refund and cannot be canceled.\n- Partial refund is unavailable for subscription payments.\n- Refund cannot be completed due to a payment system error. Please try again \n  later.\n- Requested partial refund amount exceeds payment amount.\n- Requested partial refund amount is less than minimum amount specified by \n  payment system.\n- Payment amount after partial refund will be less than allowable amount \n  specified by payment system.\n- Dispute for this invoice is already opened. Can’t make a refund yet.\n\n**Remboursements partiels non autorisés par le mode de paiement**\n\nRenvoie l'un des messages suivants\_:\n- Current payment method does not support partial refunds.\n- Current transaction status does not allow refunds.\n- Deadline for refund is exceeded.\n- Partial refund is unavailable because discount was applied during payment \n  creation.\n\n**Remboursement partiel impossible en raison de paramètres de précision \nincorrects**\n\nRenvoie le message suivant\_:\n- Partial refund is unavailable because requested amount is specified with \n  incorrect precision for purchase currency.\n"
                    type: string
                type: object
          description: Unprocessable Entity.
      security:
        - basicAuth: []
      summary: Demander un remboursement partiel
      tags:
        - refund
      x-server: true
  /merchants/{merchant_id}/reports/transactions/{transaction_id}/refund:
    put:
      description: >
        Envoie une demande de remboursement pour restituer un paiement à
        l'utilisateur. 

        Lisez à propos de la [Fonctionnalité de remboursement 

        ](https://developers.xsolla.com/fr/doc/pay-station/features/refund/)
        pour en 

        savoir plus sur le processus.


        <div class="note">

        <p><strong>Note</strong></p><p>Pour appeler cette méthode API en mode
        bac à sable, passez les données de paiement de test dans la requête.
        Reportez-vous aux <a
        href="https://developers.xsolla.com/fr/doc/pay-station/testing/test-one-time-purchase-in-sandbox/#pay_station_testing_sandbox_bank_card_refund">instructions</a>
        pour plus d'informations sur l'accès au mode bac à sable et les
        scénarios de test.</p>

        </div>


        <p></p>


        <div class="notice">

        <p><strong>Remarque</strong></p><p>Cet appel API ne contient pas le
        paramètre de chemin <code>project_id</code>, vous devez donc utiliser la
        clé API valide dans tous les projets de l'entreprise pour
        l'autorisation.</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: Motif de remboursement.
                  maxLength: 4000
                  type: string
                email:
                  description: Adresse e-mail de l'utilisateur.
                  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: "Renvoie l'un des messages suivants\_:\n- No content.\n- The request for a refund has been accepted. Xsolla CS will manually complete the refund. It may take up to two business days.\n- The request for a refund has been accepted. Xsolla CS will automatically send the customer an email with alternative refund options as the user's method does not support direct refunds."
                    type: string
                type: object
          description: OK (Aucune erreur).
        '204':
          description: Demande de remboursement approuvée.
        '401':
          description: Unauthorized (Accès refusé).
        '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 transaction non valide. Vérifiez les informations de
                      paiement. Si le problème persiste, contactez le support
                      Xsolla à support@xsolla.com.
                    type: string
                type: object
          description: Transaction introuvable.
        '422':
          content:
            application/json:
              example:
                message: >-
                  We are processing the refund request. This may take up to two
                  business days.
              schema:
                properties:
                  message:
                    description: "Renvoie l'un des messages suivants\_:\n- We are processing the refund request. This may take up to two business days.\n- We are reaching the user for the information required for the refund. For details, contact Xsolla Support.\n- Incorrect payment status. Refund is possible only for payments with \"completed\" or \"error\" status.\n- To process this request, the customer's email address field must be filled. Please specify the customer's email address and try again.\n- Full refund is unavailable because there are successful partial refunds for this transaction.\n- Refund failed. Please contact Xsolla Support to process it manually.\n- Dispute for this invoice is already opened. Can’t make a refund yet."
                    type: string
                type: object
          description: Unprocessable Entity (Paramètres de requête non valides).
      security:
        - basicAuth: []
      summary: Demander un remboursement
      tags:
        - refund
      x-server: true
  /merchants/{merchant_id}/reports/transfers:
    get:
      description: >
        Récupère une liste de tous les virements pour une période donnée.


        <div class="notice">

        <p><strong>Remarque</strong></p><p>Cet appel API ne contient pas le
        paramètre de chemin <code>project_id</code>, vous devez donc utiliser la
        clé API valide dans tous les projets de l'entreprise pour
        l'autorisation.</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: Lire des virements
      tags:
        - reports
      x-admin: true
      x-server: true
  /merchants/{merchant_id}/token:
    post:
      description: "Vous pouvez créer un jeton avec n'importe quels paramètres utilisateur. Envoyez-\nles lors de la création du jeton et vous les recevez en réponse après le \npaiement réussi. Un jeton ne peut contenir que les paramètres décrits dans le \nprésent document ou ceux que vous avez préalablement définis.\n\nSi un paramètre est passé dans un format ou un type incorrect, aucun jeton ne \nsera délivré. Vous recevrez un code HTTP 422 avec la description de l'erreur \ndans le corps JSON. Dans ce cas, le paramètre `extended_message` contient les \ninformations sur les paramètres précis qui ont été passés de manière incorrecte.\n\nPar défaut, la durée de vie du jeton est de 24\_heures. Si vous souhaitez \nmodifier cette valeur, contactez votre responsable de la réussite client ou \nenvoyez un e-mail à <a href=\"mailto:csm@xsolla.com\">csm@xsolla.com</a>. La \nnouvelle valeur sera activée pour tous les projets de votre entreprise créés \ndans le <a href=\"https://publisher.xsolla.com/\">Compte éditeur</a>.\n\n<div class=\"notice\">\n<p><strong>Remarque</strong></p><p>Le jeton obtenu suite à l'appel à cette méthode API ne peut être utilisé que pour autoriser d'autres requêtes. Ce jeton peut être utilisé pour ouvrir l'interface de paiement uniquement si vous avez intégré le produit <a href=\"https://developers.xsolla.com/fr/doc/subscriptions/\">Subscriptions</a>.</p><p>Pour ouvrir l'interface de paiement dans une nouvelle fenêtre, utilisez le lien suivant\_: <code>https://secure.xsolla.com/paystation4/?token={token}</code>, où <code>{token}</code> est le jeton reçu.</p><p>À des fins de test, utilisez cette URL\_: <code>https://sandbox-secure.xsolla.com/paystation4/?token={token}</code>.</p>\n</div>\n\n<p></p>\n\n<div class=\"notice\">\n<p><strong>Remarque</strong></p><p>Cet appel API ne contient pas le paramètre de chemin <code>project_id</code>, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.</p>\n</div>\n"
      operationId: create-token
      parameters:
        - $ref: '#/components/parameters/merchant-id-path-param'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/token'
        required: true
      responses:
        '200':
          content:
            application/json:
              example:
                token: eop57k1boA7nnYPtewZ6KEXJyJADEwRT
              schema:
                properties:
                  token:
                    type: string
                type: object
          description: Created.
        '422':
          content:
            application/json:
              example:
                extended_message:
                  global_errors: []
                  property_errors:
                    purchase.checkout.amount:
                      - String value found, but a number is required
                http_status_code: 422
                message: >-
                  JSON is not valid against json schema, please check
                  documentation
                  https://developers.xsolla.com/fr/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: Noms des paramètres avec la description de l'erreur.
                        type: object
                    type: object
                  http_status_code:
                    type: integer
                  message:
                    type: string
                  request_id:
                    type: string
                type: object
          description: Unprocessable Entity.
      security:
        - basicAuth: []
      summary: Créer un jeton
      tags:
        - token
      x-server: true
  /projects/{project_id}/users/{user_id}/payment_accounts:
    get:
      description: >
        Récupère la liste des comptes de paiement enregistrés d'un utilisateur
        donné.


        <div class="note">

        <p><strong>Note</strong></p><p>En mode bac à sable, cet appel API
        fonctionne uniquement avec les <a
        href="https://developers.xsolla.com/fr/doc/pay-station/testing/test-cards/">cartes
        de test</a> dépourvues de la fonction 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: Lire les comptes enregistrés
      tags:
        - tokenization
      x-server: true
  /projects/{project_id}/users/{user_id}/payment_accounts/{type}/{account_id}:
    delete:
      description: >
        Supprime un compte de paiement enregistré.


        <div class="note">

        <p><strong>Note</strong></p><p>En mode bac à sable, cet appel API
        fonctionne uniquement avec les <a
        href="https://developers.xsolla.com/fr/doc/pay-station/testing/test-cards/">cartes
        de test</a> dépourvues de la fonction 3-D Secure.</p>

        </div>


        <p></p>


        <div class="note">

        <p><strong>Note</strong></p><p>Pour appeler cette méthode API en mode
        bac à sable, passez les données du compte de paiement de test dans la
        requête. Reportez-vous aux <a
        href="https://developers.xsolla.com/fr/doc/pay-station/testing/test-saved-cards-in-sandbox/#pay_station_testing_tokenization_sandbox_delete_saved_card">instructions</a>
        pour plus d'informations sur l'accès au mode bac à sable et les
        scénarios de test.</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: Supprimer un compte enregistré
      tags:
        - tokenization
      x-server: true
  /projects/{project_id}/users/{user_id}/payments/{type}/{account_id}:
    post:
      description: "Facture un utilisateur via un compte de paiement enregistré.\n\n<div class=\"note\">\n<p><strong>Note</strong></p><p>En mode bac à sable, cet appel API fonctionne uniquement avec les <a href=\"https://developers.xsolla.com/fr/doc/pay-station/testing/test-cards/\">cartes de test</a> dépourvues de la fonction 3-D Secure.</p>\n</div>\n\n<p></p>\n\n<div class=\"notice\">\n<p><strong>Remarque</strong></p><p>Pour que l'appel API fonctionne correctement, configurez un délai d'attente de 2\_minutes.</p>\n</div>\n"
      operationId: charge-with-saved-account
      parameters:
        - $ref: '#/components/parameters/project-id-path-param'
        - $ref: '#/components/parameters/user-id-path-param'
        - $ref: '#/components/parameters/type-path-param'
        - $ref: '#/components/parameters/account-id-path-param'
      requestBody:
        $ref: '#/components/requestBodies/charge-with-saved-account'
      responses:
        '201':
          content:
            application/json:
              example:
                transaction_id: 123458390
              schema:
                properties:
                  transaction_id:
                    type: integer
                type: object
          description: Created.
        '422':
          description: Unprocessable Entity.
      security:
        - basicAuth: []
      summary: Prélever sur un compte enregistré
      tags:
        - tokenization
      x-server: true
components:
  securitySchemes:
    basicAuth:
      description: "L'API de Xsolla utilise l'authentification d'accès de base. Toutes les requêtes vers l'API doivent contenir l'en-tête `Authorization: Basic <your_authorization_basic_key>` où `<your_authorization_basic_key>` est la paire `merchant_id:api_key` encodée conformément à la norme Base64.\n\n Pour trouver ces paramètres, accédez au [Compte éditeur](https://publisher.xsolla.com/)\_:<ul><li>`merchant_id` est affiché\_:<ul><li>dans la section **Company settings > Company**\_;</li><li>dans l'URL de la barre d'adresse du navigateur sur n'importe quelle page du Compte éditeur. L'URL est au format suivant\_: `https://publisher.xsolla.com/<merchant_id>`.</li></ul></li><li>`api_key` ne s'affiche dans le Compte éditeur qu'une seule fois lors de sa création, vous devez donc la conserver de votre côté. Vous pouvez créer une nouvelle clé dans les sections suivantes\_:<ul><li>**Company settings > API keys**\_;</li><li>**Project settings > API keys**.</li></ul></li></ul><br>\nPour plus d'informations sur l'utilisation des clés API, consultez la [référence API](https://developers.xsolla.com/fr/api/getting-started/#api_keys_overview)."
      scheme: basic
      type: http
  parameters:
    merchant-id-path-param:
      description: ID de commerçant.
      in: path
      name: merchant_id
      required: true
      schema:
        type: integer
    project-id-path-param:
      description: ID de projet.
      in: path
      name: project_id
      required: true
      schema:
        type: integer
    transaction-id-path-param:
      description: ID de transaction.
      in: path
      name: transaction_id
      required: true
      schema:
        type: integer
    datetime-from-req:
      description: "Début de la période au format AAAA-MM-JJ. Non requis si au moins un des paramètres suivants est passé\_:<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: "Fin de la période au format AAAA-MM-JJ. Non requis si au moins un des paramètres suivants est passé\_:<ul><li>`transfer_id`\_;</li><li>`report_id`.</li></ul> La différence entre `datetime_from` et `datetime_to` doit être inférieure à 92\_jours."
      example: '2023-03-08'
      in: query
      name: datetime_to
      required: true
      schema:
        format: datetime
        type: string
    format:
      description: Format de données.
      in: path
      name: format
      required: true
      schema:
        enum:
          - json
          - csv
          - xls
        type: string
    in-transfer-currency:
      description: "Convertit toutes les données financières dans la devise de versement (la devise de paiement est utilisée par défaut). Non requis si au moins un des paramètres suivants est passé\_:<ul><li>`transfer_id`\_;</li><li>`report_id`.</li></ul>"
      in: query
      name: in_transfer_currency
      required: true
      schema:
        type: integer
    show-total:
      description: >-
        Détermine l'inclusion du montant total des transactions dans le rapport.
        Disponible uniquement pour l'exportation au format CSV. La valeur par
        défaut est `true`.
      in: query
      name: show_total
      schema:
        type: boolean
    merchant-of-records:
      description: >-
        Merchant of Record. La valeur peut être `xsolla`, `merchant` ou ne pas
        être spécifiée. Si `merchant`, renvoie les transactions effectuées via
        les passerelles du partenaire. Si `xsolla`, renvoie les transactions
        effectuées sans passer par les passerelles du partenaire. Si elle n'est
        pas spécifiée, toutes les transactions sont renvoyées.
      in: query
      name: merchant_of_records
      required: false
      schema:
        enum:
          - xsolla
          - merchant
        nullable: true
        type: string
        x-enumDescriptions:
          merchant: >-
            Renvoie les transactions effectuées via les passerelles du
            partenaire.
          xsolla: >-
            Renvoie les transactions effectuées sans passer par les passerelles
            du partenaire.
    project-id-query-param:
      description: ID de projet.
      in: query
      name: project_id
      required: false
      schema:
        type: integer
    show-dry-run:
      description: Détermine l'inclusion des transactions test.
      in: query
      name: show_dry_run
      required: false
      schema:
        type: boolean
    transfer-id:
      description: ID de virement.
      in: query
      name: transfer_id
      required: false
      schema:
        type: integer
    report-id:
      description: ID de rapport financier.
      in: query
      name: report_id
      required: false
      schema:
        type: integer
    offset:
      description: >-
        Numéro de l'élément à partir duquel la liste est générée (le décompte
        commence à 0).
      in: query
      name: offset
      required: false
      schema:
        type: integer
    limit-req:
      description: >-
        Limite du nombre de transactions affichées sur la page. Si ce paramètre
        est passé, les paramètres `datetime_from` et `datetime_to` ne sont plus
        requis.
      in: query
      name: limit
      required: false
      schema:
        type: integer
    transaction-status:
      description: Statut de transaction.
      in: query
      name: status
      required: false
      schema:
        enum:
          - done
          - canceled
          - error
          - refunded
        type: string
    datetime-from:
      description: Début de la période.
      in: query
      name: datetime_from
      required: false
      schema:
        format: datetime
        type: string
    datetime-to:
      description: Fin de la période.
      in: query
      name: datetime_to
      required: false
      schema:
        format: datetime
        type: string
    transaction-id:
      description: ID de transaction.
      in: query
      name: transaction_id
      required: false
      schema:
        type: integer
    type:
      description: "Type de transactions affichées dans les résultats de la recherche\_:"
      in: query
      name: type
      required: false
      schema:
        enum:
          - all
          - transferred
          - canceled
          - test
        type: string
        x-enumDescriptions:
          all: Toutes les transactions.
          canceled: Transactions annulées, à l'exclusion des transactions test.
          test: Transactions test.
          transferred: Transactions réussies, à l'exclusion des transactions test.
    phone:
      description: Numéro de téléphone au format international.
      in: query
      name: phone
      required: false
      schema:
        type: string
    user-id-query-param:
      description: >-
        ID utilisateur unique dans le jeu stocké de votre côté. Assurez-vous de
        passer l'ID existant. En cas d'erreur, consultez les [réponses de la
        FAQ](/fr/doc/pay-station/references/faq/#faq_validation).
      in: query
      name: user_id
      required: false
      schema:
        type: string
    user-name:
      description: Nom d'utilisateur.
      in: query
      name: user_name
      required: false
      schema:
        type: string
    user-custom:
      description: Paramètre personnalisé pour l'identification utilisateur.
      in: query
      name: user_custom
      required: false
      schema:
        type: string
    email:
      description: Adresse e-mail de l'utilisateur.
      in: query
      name: email
      required: false
      schema:
        maxLength: 100
        type: string
    external-id:
      description: >-
        ID de transaction dans le jeu. Il doit être unique pour chaque paiement
        d'utilisateur.
      in: query
      name: external_id
      required: false
      schema:
        type: string
    order-id:
      description: >-
        ID de commande. Utilisez-le pour appeler la méthode API [Lire une
        commande](/fr/api/shop-builder/operation/get-order/).
      example: 1234
      in: query
      name: order_id
      required: false
      schema:
        type: integer
    limit:
      description: Nombre maximal d'éléments sur une page.
      in: query
      name: limit
      required: false
      schema:
        type: integer
    status:
      description: Statut de la transaction.
      in: query
      name: status
      required: false
      schema:
        $ref: '#/components/schemas/status.enum'
    legal-entity-id:
      description: ID de l'entité légale du développeur.
      in: query
      name: legal_entity_id
      required: false
      schema:
        type: integer
    payout-status:
      description: Statut du virement.
      in: query
      name: status
      required: false
      schema:
        enum:
          - hold
          - ready
          - paid
        type: string
        x-enumDescriptions:
          hold: Attente de demande de traitement.
          paid: Virement complété.
          ready: Virement en cours.
    user-id-path-param:
      description: >-
        ID utilisateur unique dans le jeu stocké de votre côté. Assurez-vous de
        passer l'ID existant. En cas d'erreur, consultez les [réponses de la
        FAQ](/fr/doc/pay-station/references/faq/#faq_validation).
      in: path
      name: user_id
      required: true
      schema:
        type: string
    mode:
      description: >-
        Définissez sur `sandbox` pour tester le processus de paiement. Supprimez
        le paramètre pour effectuer des paiements réels.
      in: query
      name: mode
      required: false
      schema:
        type: string
    type-path-param:
      description: Type de compte de paiement.
      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: Cartes bancaires.
          klarna: >-
            Klarna. L'enregistrement de compte de paiement est disponible
            uniquement pour les États-Unis, le Royaume-Uni, la Suède,
            l'Allemagne, l'Autriche, la Norvège, la Finlande, le Danemark et les
            Pays-Bas.
          mercadopago: Mercado Pago (y compris Mercado Pago Connect).
          nupay: NuPay.
          paidy: Paidy.
          paypal: PayPal.
          paysafecard_eu: Paysafecard (UE).
          paysafecard_us: Paysafecard (É.-U.).
          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 du compte enregistré dans la base de données Xsolla.
      in: path
      name: account_id
      required: true
      schema:
        type: integer
  schemas:
    empty-body:
      description: >-
        Pour que l'appel API fonctionne correctement, le corps de la requête
        doit être vide.
      nullable: true
      type: object
    status.enum:
      enum:
        - created
        - processing
        - review
        - error
        - done
        - awaitingRefund
        - refunded
        - canceled
        - partiallyRefunded
      type: string
      x-enumDescriptions:
        awaitingRefund: >-
          La transaction est en attente d'une décision de remboursement. Une
          fois que l'utilisateur a demandé un remboursement, le service client
          Xsolla traite manuellement la demande et prend une décision sur le
          remboursement.
        canceled: "Il existe deux scénarios possibles\_:\n  - La transaction a été annulée par le système de paiement. Par exemple, le compte de l'utilisateur n'était pas suffisamment approvisionné.\n  - Le paiement a été remboursé à l'utilisateur."
        created: >-
          L'utilisateur a initié la transaction, mais celle-ci n'a pas encore
          été traitée.
        done: La transaction a été traitée avec succès.
        error: >-
          Une erreur s'est produite lors du traitement de la transaction. Pour
          obtenir un remboursement, contactez le service client Xsolla.
        partiallyRefunded: L'utilisateur a reçu un remboursement partiel.
        processing: La transaction est en cours de traitement.
        refunded: Un remboursement a été effectué sur le solde Xsolla de l'utilisateur.
        review: >-
          La transaction a été suspendue par le système anti-fraude. Elle fait
          actuellement l'objet d'une vérification supplémentaire.
    custom_parameters:
      description: >-
        Cet objet comprend des paramètres pour configurer les filtres
        anti-fraude. La liste des paramètres est présentée ci-dessous. Pour des
        paramètres personnalisés, contactez votre responsable de la réussite
        client ou envoyez un e-mail à [csm@xsolla.com](mailto:csm@xsolla.com).
      properties:
        active_date:
          description: >-
            Date de dernière visite selon la norme [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601).
          type: string
        additional_verification:
          description: Indique si le joueur utilise des méthodes de vérification de compte.
          type: boolean
        character_customized:
          description: Indique si le joueur a personnalisé son personnage.
          type: boolean
        chat_activity:
          description: Indique si le joueur utilise la fonction de chat.
          type: boolean
        completed_tasks:
          description: Nombre de tâches/objectifs terminés.
          type: integer
        forum_activity:
          description: Indique si le joueur utilise la fonction forum.
          type: boolean
        items_used:
          description: Indique si le joueur utilise des objets achetés dans le jeu.
          type: boolean
        karma_points:
          description: Karma du joueur.
          type: integer
        last_change_password_date:
          description: >-
            Date de dernier changement de mot de passe selon la norme [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601).
          type: string
        non_premium_currency:
          description: Quantité de la monnaie non-premium.
          format: float
          type: number
        notifications_enabled:
          description: Indique si le joueur a activé les notifications.
          type: boolean
        profile_completed:
          description: >-
            Indique si le joueur a ajouté des informations supplémentaires à son
            profil.
          type: boolean
        profile_image_added:
          description: Indique si le joueur a téléchargé une image de profil.
          type: boolean
        pvp_activity:
          description: >-
            Détermine la participation du joueur à des combats JcJ (joueur(s)
            contre joueur(s)).
          type: boolean
        registration_date:
          description: >-
            Date de création de compte selon la norme [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601).
          type: string
        session_time:
          description: >-
            Durée moyenne de session selon la norme [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601).
          type: string
        social_networks_added:
          description: Indique si le joueur a connecté des profils de médias sociaux.
          type: boolean
        total_bans:
          description: Nombre de fois que le joueur a été banni du chat/forum.
          type: integer
        total_characters:
          description: Nombre de personnages dans le jeu.
          type: integer
        total_clans:
          description: Nombre de clans dont le joueur est membre.
          type: integer
        total_friends:
          description: Nombre d'amis.
          type: integer
        total_game_events:
          description: Nombre d'événements en jeu auxquels le joueur a participé.
          type: integer
        total_gifts:
          description: Nombre de cadeaux en jeu que le joueur a envoyés/reçus.
          type: integer
        total_hours:
          description: Nombre total d'heures passées dans le jeu.
          type: integer
        total_inventory_value:
          description: Valeur totale de l'inventaire en monnaie de jeu.
          format: float
          type: number
        total_sum:
          description: Montant total des paiements.
          format: float
          type: number
        tutorial_completed:
          description: Indique si le joueur a terminé le tutoriel du jeu.
          type: boolean
        unlocked_achievements:
          description: Nombre de réalisations débloquées.
          type: integer
        user_level:
          description: Niveau, réputation ou rang du joueur.
          type: integer
        win_rate:
          description: Taux de victoire du joueur.
          type: integer
      type: object
    subscription:
      description: Données d'abonnement.
      properties:
        available_plans:
          description: Plans d'abonnement à afficher dans l'interface de paiement.
          items:
            type: string
          type: array
        currency:
          description: Devise du plan d'abonnement à utiliser dans tous les calculs.
          type: string
        operation:
          description: >-
            Type d'opération appliqué au plan d'abonnement de l'utilisateur.
            Pour modifier le plan d'abonnement, passez la valeur `change_plan`.
            Vous devez passer l'ID du nouveau plan dans le paramètre
            `purchase.subscription.plan_id`.
          type: string
        plan_id:
          description: >-
            ID externe du plan d'abonnement. Il se trouve dans le compte éditeur
            sous la section **Subscriptions > Subscription plans**.
          type: string
        product_id:
          description: ID de produit.
          type: string
        trial_days:
          description: Période d'essai en jours.
          type: integer
      type: object
    purchase:
      description: Informations sur l'achat.
      properties:
        subscription:
          $ref: '#/components/schemas/subscription'
      type: object
    currency:
      description: >-
        Devise de paiement préférée. Code de devise à trois lettres selon la
        norme [ISO
        4217](https://developers.xsolla.com/fr/doc/pay-station/references/supported-currencies/).
      type: string
    external_id:
      description: >-
        ID de transaction dans le jeu. Il doit être unique pour chaque paiement
        utilisateur. Reportez-vous à la <a
        href="https://developers.xsolla.com/fr/doc/pay-station/references/faq/#faq_payments_q_new_transaction_external_id">documentation</a>
        pour des informations détaillées.
      type: string
    language:
      description: >-
        Langue d'interface. [Code de
        langue](https://developers.xsolla.com/fr/doc/pay-station/features/localization/)
        à deux lettres minuscules.
      type: string
    mode.settings:
      description: >-
        Passez la valeur `sandbox` pour tester le processus de paiement. Dans ce
        cas, utilisez l'URL *https://sandbox-secure.xsolla.com* pour accéder à
        l'interface de paiement de test.
      type: string
    payment_method:
      description: ID de mode de paiement.
      type: integer
    payment_widget:
      description: >-
        Widget de paiement. La valeur peut être `paybycash` ou `giftcard`. Si le
        paramètre est défini, l'utilisateur est redirigé vers le widget Pay by
        Cash ou Gift Cards, respectivement.
      enum:
        - paybycash
        - giftcard
      type: string
    project_id:
      description: ID Xsolla du jeu. Il se trouve dans le compte éditeur.
      type: integer
    redirect_policy:
      description: Paramètres de la politique de redirection.
      properties:
        delay:
          description: >-
            Délai (en secondes) après lequel l'utilisateur est automatiquement
            redirigé vers l'URL de retour.
          type: integer
        manual_redirection_action:
          description: >-
            Comportement de Pay Station lorsque l'utilisateur ferme la fenêtre
            ou clique sur le bouton **Revenir au jeu**. La valeur peut être
            `redirect` (par défaut) ou `postmessage`. Si le paramètre est défini
            sur `redirect`, l'utilisateur est redirigé vers l'URL passée dans le
            jeton ou spécifiée dans le compte éditeur. S'il est défini sur
            `postmessage`, l'utilisateur n'est pas redirigé vers une autre page.
            Dans ce cas, la fermeture de la fenêtre déclenche l'envoi de
            l'événement `close`, tandis qu'un clic sur le bouton **Revenir au
            jeu**, l'envoi de l'événement `return`.
          enum:
            - redirect
            - postmessage
          type: string
        redirect_button_caption:
          description: Texte du bouton de redirection manuelle.
          type: string
        redirect_conditions:
          description: >-
            Statut de paiement pour lequel l'utilisateur est redirigé vers l'URL
            de retour. La valeur peut être `none`, `successful`,
            `successful_or_canсeled`, ou `any`.
          enum:
            - none
            - successful
            - successful_or_canceled
            - any
          type: string
        status_for_manual_redirection:
          description: >-
            Statut de paiement pour lequel le bouton de redirection de
            l'utilisateur vers l'URL de retour apparaît. La valeur peut être
            `none`, `successful`, `successful_or_canсeled`, ou `any`.
          enum:
            - none
            - successful
            - successful_or_canceled
            - any
          type: string
      type: object
    return_url:
      description: >-
        URL de la page vers laquelle l'utilisateur est redirigé après le
        paiement. Reportez-vous à la <a
        href="https://developers.xsolla.com/fr/doc/pay-station/how-to/how-to-configure-redirects/">documentation</a>
        pour des informations détaillées sur la configuration des redirections.
      type: string
    ap_quick_payment_button:
      description: >
        Détermine l'affichage du bouton de paiement rapide via Apple Pay en haut
        de 

        l'interface de paiement sur les appareils compatibles. La valeur par
        défaut est 

        `true`. Si `false`, Apple Pay est affiché dans la liste des modes de
        paiement 

        selon l'algorithme
        [PayRank](/fr/doc/pay-station/how-to/how-to-manage-top-payment-methods/).


        <div class="note">

        <p><strong>Note</strong></p><p>Sur les appareils Android et sur ceux qui
        ne prennent pas en charge Apple Pay, ce mode de paiement sera toujours
        masqué, quel que soit le paramètre défini.</p>

        </div>
      type: boolean
    components:
      description: Paramètres de menu.
      properties:
        subscriptions:
          description: Paramètres du sous-menu des plans d'abonnement.
          properties:
            hidden:
              description: Détermine l'affichage du sous-menu.
              type: boolean
            order:
              description: Position du sous-menu dans le menu.
              type: integer
          type: object
        virtual_currency:
          description: Paramètres du sous-menu de la monnaie virtuelle.
          properties:
            custom_amount:
              description: >-
                Détermine si l'utilisateur peut saisir une quantité aléatoire de
                monnaie virtuelle dans l'interface de paiement.
              type: boolean
            hidden:
              description: Détermine l'affichage du sous-menu.
              type: boolean
            order:
              description: Position du sous-menu dans le menu.
              type: integer
          type: object
        virtual_items:
          description: Paramètres du sous-menu des objets virtuels.
          properties:
            hidden:
              description: Détermine l'affichage du sous-menu.
              type: boolean
            order:
              description: Position du sous-menu dans le menu.
              type: integer
            selected_group:
              description: >-
                Groupe à afficher après l'ouverture de l'onglet des objets
                virtuels.
              type: string
            selected_item:
              description: >-
                Objet à afficher après l'ouverture de l'onglet des objets
                virtuels (UGS de l'objet).
              type: string
          type: object
      type: object
    currency_format:
      description: >-
        Définissez sur `code` pour afficher un code de devise à trois lettres
        selon la norme [ISO
        4217](https://developers.xsolla.com/fr/doc/pay-station/references/supported-currencies/)
        dans l'interface de paiement. Par défaut, le symbole de la devise est
        affiché à la place du code de devise à trois lettres.
      type: string
    close_button_icon:
      description: Icône du bouton **Fermer** dans l'interface de paiement.
      enum:
        - arrow
        - cross
      type: string
      x-enumDescriptions:
        arrow: Icône **←** à gauche de l'en-tête de l'interface de paiement.
        cross: Icône **×** à droite de l'en-tête de l'interface de paiement.
    header.desktop:
      description: Paramètres de l'en-tête.
      properties:
        close_button:
          description: >-
            Détermine l'affichage du bouton **Fermer** dans l'interface de
            paiement. Un clic sur ce bouton ferme l'interface de paiement et
            redirige l'utilisateur vers l'URL passée dans le paramètre
            `settings.return_url`. Défini sur `false` par défaut.
          type: boolean
        close_button_icon:
          $ref: '#/components/schemas/close_button_icon'
        is_visible:
          description: Détermine l'affichage de l'en-tête dans l'interface de paiement.
          type: boolean
        type:
          description: >-
            Apparence de l'en-tête. La valeur peut être `compact` (le nom du
            projet et l'ID utilisateur ne s'affichent pas) ou `normal` (par
            défaut).
          enum:
            - compact
            - normal
          type: string
        visible_logo:
          description: >-
            Si `true`, le logo s'affiche dans l'en-tête. Pour télécharger
            l'image, ouvrez votre projet dans le [Compte
            éditeur](https://publisher.xsolla.com/) et accédez à la section
            **Pay Station > Settings**.
          type: boolean
        visible_name:
          description: Détermine l'affichage du nom du projet dans l'en-tête.
          type: boolean
        visible_purchase:
          description: >-
            Détermine l'affichage de la description de l'achat
            (`purchase.description.value`) dans l'en-tête. Défini sur `true` par
            défaut.
          type: boolean
      type: object
    subscription_list.desktop:
      description: Paramètres de la liste des plans d'abonnement.
      properties:
        description:
          description: >-
            Texte à afficher dans l'interface de paiement au-dessus de la liste
            des plans d'abonnement disponibles.
          type: string
        display_local_price:
          description: "Si défini sur `true`, et que la devise locale de l'utilisateur diffère de la devise de base du plan d'abonnement, l'utilisateur voit deux prix\_: l'un dans la devise locale et l'autre dans la devise de base."
          type: boolean
      type: object
    desktop.ui:
      description: Paramètres de l'interface pour la version de bureau.
      properties:
        header:
          $ref: '#/components/schemas/header.desktop'
        subscription_list:
          $ref: '#/components/schemas/subscription_list.desktop'
      type: object
    gp_quick_payment_button:
      description: >-
        Mode d'affichage du mode de paiement Google Pay. Si la valeur est
        `true`, le bouton de paiement rapide via Google Pay s'affiche en haut de
        l'interface de paiement, quel que soit l'appareil ou le navigateur
        utilisé. Si la valeur est `false`, Google Pay apparaît dans la liste des
        modes de paiement, selon l'algorithme
        [PayRank](/fr/doc/pay-station/how-to/how-to-manage-top-payment-methods/).
        Si le paramètre n'est pas passé, Google Pay s'affiche en haut de
        l'interface de paiement sur tous les appareils et navigateurs, à
        l'exception de Safari, où il apparaît dans la liste des modes de
        paiement.
      type: boolean
    header.ui:
      properties:
        visible_virtual_currency_balance:
          description: >-
            Détermine l'affichage de cet élément dans l'interface de paiement.
            Défini sur `true` par défaut.
          type: boolean
      type: object
    is_cart_open_by_default:
      description: >-
        Affichage de la liste des objets du panier et des informations
        financières dans l’interface de paiement. Lorsque la valeur est définie
        sur `true`, les informations s’affichent en vue développée. Si elle est
        définie sur `false` (valeur par défaut) ou si le paramètre est omis, les
        informations s’affichent en vue réduite.
      type: boolean
    is_independent_windows:
      description: >-
        Détermine la redirection des utilisateurs du navigateur du lanceur
        intégré (WebView) vers leur navigateur par défaut pour effectuer un
        achat. La valeur par défaut est `false`.
      type: boolean
    is_language_selector_hidden:
      description: >-
        Détermine l'affichage du sélecteur de langue sur la page de paiement. Si
        la valeur est `false` (valeur par défaut), le sélecteur est affiché.
      type: boolean
    is_payment_methods_list_mode:
      description: >-
        Détermine l'affichage de la liste des modes de paiement disponibles dans
        le pays de l'utilisateur à l'ouverture de l'interface de paiement. Si
        `false` (par défaut), le mode de paiement passé dans le paramètre
        `settings.payment_method` ou le mode sélectionné selon l'[algorithme du
        PayRank](https://developers.xsolla.com/fr/solutions/payments/payment-ui-management/top-payment-methods-management/)
        s'affiche.
      type: boolean
    is_prevent_external_link_open:
      description: >-
        Détermine la désactivation des liens de redirection vers une ressource
        externe. Défini sur `false` par défaut. Un clic sur un lien externe
        déclenche l'envoi de l'événement `external-link-open` via le mécanisme
        `postMessage`. L'adresse du lien de redirection est passée dans le
        paramètre `url`.
      type: boolean
    is_search_field_hidden:
      description: >-
        Détermine l'affichage de la barre de recherche de modes de paiement dans
        l'interface. Si `true`, la barre de recherche est cachée. La valeur par
        défaut est `false`.
      type: boolean
    is_show_close_widget_warning:
      description: >-
        Détermine l'affichage d'une infobulle sur le traitement de la
        transaction au passage de la souris sur l'icône **×** avant la fermeture
        de la page de paiement. Défini sur `false`, ou si le paramètre n'est pas
        passé, l'infobulle ne s'affiche pas. La valeur par défaut est `true`.
      type: boolean
    is_three_ds_independent_windows:
      default: false
      description: >-
        Détermine l'ouverture de la vérification 3-D Secure dans une nouvelle
        fenêtre du navigateur. Définissez sur `true`, si votre configuration
        applique une politique de sécurité du contenu (CSP).
      type: boolean
    layout:
      description: >-
        Emplacement des principaux éléments de l'interface de paiement. Vous
        pouvez ouvrir l'interface de paiement à l'intérieur de votre jeu et/ou
        permuter les colonnes contenant des informations sur la commande et les
        modes de paiement. Reportez-vous aux [instructions de
        customisation](https://developers.xsolla.com/fr/doc/pay-station/features/ui-theme-customization/#pay_station_ui_theme_customization_layout)
        pour des informations détaillées.
      enum:
        - embed
        - column_reverse
        - embed_column_reverse
      type: string
    mobile.ui:
      properties:
        header:
          properties:
            close_button:
              description: >-
                Détermine l'affichage du bouton **Fermer** dans la version
                mobile de Pay Station. Un clic sur ce bouton ferme Pay Station
                et redirige l'utilisateur vers l'URL passée dans le paramètre
                `settings.return_url`. Défini sur `false` par défaut.
              type: boolean
            close_button_icon:
              $ref: '#/components/schemas/close_button_icon'
          type: object
      type: object
    mode.ui:
      description: >
        Mode d’affichage de l’interface de paiement pour gérer les modes de
        paiement 

        enregistrés. Peut être défini sur `user_account` ou omis. Dans ce mode, 

        l’utilisateur peut uniquement changer la langue, ajouter de nouveaux
        moyens de 

        paiement et supprimer ceux existants.


        <div class="note">

        <p><strong>Note</strong></p><p>Lorsque ce paramètre est passé, le bouton
        de redirection ne s'affiche pas. Pour rediriger un utilisateur après
        l'enregistrement d'un moyen de paiement, configurez les <a
        href="/fr/doc/pay-station/how-to/how-to-configure-redirects/#pay_station_how_to_configure_redirects_automatic/">redirections
        automatiques</a>.</p>

        </div>
      type: string
    theme.ui:
      description: "Thème d'interface de paiement. Les valeurs possibles sont\_: `63295a9a2e47fab76f7708e1` pour le thème clair (par défaut) ou `63295aab2e47fab76f7708e3` pour le thème foncé. Vous pouvez également [créer un thème personnalisé](https://developers.xsolla.com/fr/doc/pay-station/features/ui-theme-customization/#pay_station_ui_theme_customization_in_token) et passez son ID dans ce paramètre."
      enum:
        - 63295a9a2e47fab76f7708e1
        - 63295aab2e47fab76f7708e3
      type: string
    payment_accounts_enable:
      properties:
        enable:
          description: >-
            Détermine l'affichage dans l'interface de paiement de l'icône de
            crayon qui mène à la page d'édition des modes de paiement. La valeur
            par défaut est `true`.
          type: boolean
        order:
          description: >-
            Position de la section dans la liste déroulante dans l'interface de
            paiement. Obligatoire si
            `settings.ui.user_account.payment_accounts.enable` est passé.
          minimum: 1
          type: integer
      type: object
    user_account:
      description: Informations de compte utilisateur.
      properties:
        payment_accounts:
          allOf:
            - description: Section **Modes de paiement enregistrés**.
            - $ref: '#/components/schemas/payment_accounts_enable'
      type: object
    ui:
      description: Paramètres d'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: >-
        Paramètres pour la configuration de la procédure de paiement et de
        l'interface de paiement pour l'utilisateur.
      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: Âge de l'utilisateur.
      type: integer
    attributes.user:
      description: >-
        Attributs de l'utilisateur nécessaires pour filtrer la liste des objets.
        Ils se présentent sous la forme d'un JSON valide de paires clé-valeur.
      type: object
    country.user:
      properties:
        allow_modify:
          description: >-
            Détermine si l'utilisateur peut changer le pays dans l'interface de
            paiement. Par défaut, si le paramètre `country.value` est passé dans
            le jeton, la valeur est `false`.
          type: boolean
        value:
          description: >-
            Code pays à deux lettres majuscules selon la norme [ISO 3166-1
            alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
          type: string
      type: object
    email.user:
      description: >-
        L'objet `user.email` est essentiel pour construire les modèles
        anti-fraude et permet d'améliorer les taux d'acceptation. C'est une
        exigence à la fois de Xsolla et des systèmes de paiement. Si ce
        paramètre n'est pas passé, un champ obligatoire pour la saisie de
        l'adresse e-mail apparaît sur la page de paiement. L'utilisateur reçoit
        ensuite un reçu d'achat à l'adresse e-mail indiquée dans ce paramètre ou
        celle saisie sur la page de paiement.
      maxLength: 100
      properties:
        allow_modify:
          description: >-
            Détermine si l'utilisateur peut entrer son adresse e-mail dans
            l'interface de paiement. Par défaut, si le paramètre
            `user.email.value` est passé dans le jeton, la valeur est `false`.
          type: boolean
        value:
          description: >-
            Adresse e-mail de l'utilisateur. Doit être valide selon le protocole
            [RFC 822](https://www.w3.org/Protocols/rfc822/#z8).
          type: string
      required:
        - value
      type: object
    id.user:
      properties:
        value:
          description: >-
            ID utilisateur unique dans le jeu stocké de votre côté. Assurez-vous
            de passer l'ID existant. En cas d'erreur, consultez les [réponses de
            la FAQ](/fr/doc/pay-station/references/faq/#faq_validation).
          type: string
      required:
        - value
      type: object
    is_legal.user:
      description: Détermine si l'utilisateur est une personne morale.
      type: boolean
    legal:
      description: Informations de la personne morale.
      properties:
        address:
          description: Adresse légale complète.
          type: string
        country:
          description: >-
            Pays de constitution. Code pays à deux lettres majuscules selon la
            norme [ISO 3166-1
            alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
          type: string
        name:
          description: Nom légal complet.
          type: string
        vat_id:
          description: Numéro d'identification fiscal.
          type: string
      type: object
    legal.user:
      allOf:
        - description: >-
            Informations de la personne morale. L'objet et tous ses paramètres
            sont requis si `user.is_legal` est défini sur `true`.
        - $ref: '#/components/schemas/legal'
    name.user:
      properties:
        allow_modify:
          description: >-
            Détermine si l'utilisateur peut entrer son nom dans l'interface de
            paiement. Par défaut, si le paramètre `user.name.value` est passé
            dans le jeton, la valeur est `false`.
          type: boolean
        value:
          description: Pseudo de l'utilisateur.
          type: string
      type: object
    phone.user:
      nullable: true
      properties:
        value:
          description: Numéro de téléphone de l'utilisateur.
          type: string
      type: object
    public_id.user:
      properties:
        value:
          description: >-
            Paramètre qui identifie l'utilisateur de manière unique et qui est
            connu de celui-ci (adresse e-mail, pseudo, etc.). Permet à
            l'utilisateur d'effectuer des achats en dehors du magasin en jeu
            (par exemple, via des kiosques de paiement).
          type: string
      type: object
    steam_id.user:
      properties:
        value:
          description: ID Steam.
          type: string
      type: object
    tracking_id.user:
      properties:
        value:
          description: >-
            ID unique de l'utilisateur — utilisé dans les campagnes de
            marketing. Peut contenir des chiffres et des caractères latins.
          maxLength: 32
          minLength: 32
          type: string
      type: object
    utm.user:
      description: Attributs de trafic.
      properties:
        utm_campaign:
          description: Titre de la campagne translittéré ou traduit en anglais.
          type: string
        utm_content:
          description: Contenu de la campagne.
          type: string
        utm_medium:
          description: >-
            Canal de trafic (annonces contextuelles, annonces par affichage,
            e-mailing, etc.).
          type: string
        utm_source:
          description: Source de trafic.
          type: string
        utm_term:
          description: >-
            Mot-clé de la campagne. Si ce paramètre est défini, les statistiques
            seront basées sur les mots-clés utilisés pour le ciblage des
            annonces plutôt que sur des requêtes de recherche spécifiques. Dans
            Google Analytics, le terme `utm_term` spécifié fait partie du
            rapport général sur les termes de recherche.
          type: string
      type: object
    user:
      description: Informations sur l'utilisateur.
      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: >-
        Un code d'erreur à reproduire lors des tests du processus de paiement
        via PayPal en mode bac à sable. Assurez-vous de passer le paramètre
        `"mode":"sandbox"` pour que le processus fonctionne correctement.
      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: Informations sur l'achat.
                properties:
                  checkout:
                    description: Informations sur le paiement.
                    properties:
                      amount:
                        description: Montant de l'achat.
                        format: float
                        type: number
                      currency:
                        description: >-
                          Devise d'achat. Code de devise à trois lettres selon
                          la norme [ISO
                          4217](https://developers.xsolla.com/fr/doc/pay-station/references/supported-currencies/).
                        type: string
                    type: object
                  description:
                    maxLength: 4000
                    properties:
                      value:
                        type: string
                    type: object
                  virtual_currency:
                    description: Informations sur la monnaie virtuelle.
                    properties:
                      quantity:
                        description: Montant de l'achat en monnaie virtuelle.
                        format: float
                        type: number
                    type: object
                type: object
              settings:
                description: Paramètres d'achat.
                properties:
                  currency:
                    $ref: '#/components/schemas/currency'
                  external_id:
                    $ref: '#/components/schemas/external_id'
                  mock_code:
                    $ref: '#/components/schemas/mock_code'
                  mode:
                    description: >-
                      Définissez sur `sandbox` pour tester le processus de
                      paiement. Supprimez le paramètre pour effectuer des
                      paiements réels.
                    type: string
                type: object
              user:
                description: Informations sur l'utilisateur.
                properties:
                  ip:
                    description: Adresse IP de l'utilisateur.
                    type: string
                  legal:
                    $ref: '#/components/schemas/legal'
                  name:
                    description: Nom d'utilisateur.
                    type: string
                required:
                  - ip
                type: object
            type: object
      required: true
