# Pay Station API

# Présentation

* **Version :** 2.0.0
* **Serveurs** :
  * `https://api.xsolla.com/api`

Pay Station permet aux partenaires de monétiser leurs produits en fournissant 
aux utilisateurs une interface pratique pour payer les achats en jeu dans le 
magasin de jeu. Pour configurer l'ouverture de l'interface de paiement, 
reportez-vous à ces [instructions](/fr/doc/pay-station/how-to/how-to-open-payment-ui/).

Pay Station API fournit les groupes d'appels suivants :
- Jeton — comprend l'appel API pour générer un jeton avec des paramètres 
  utilisateur arbitraires pour le traitement ultérieur du paiement via 
  l'interface de paiement.
- [Tokénisation](/fr/doc/pay-station/features/tokenization/) — comprend les appels 
  API pour traiter les paiements en toute sécurité sans ouvrir l'interface de 
  paiement ni impliquer l'utilisateur.
- Rapports — comprend les appels API pour renvoyer des données sur les 
  transactions des utilisateurs, pour générer des rapports et pour répartir les 
  virements par devises.
- Remboursement — comprend les appels API pour demander des remboursements 
  intégraux et partiels.
- Test — comprend l'appel API pour tester le processus de chargeback.

Pour plus d'informations sur la configuration de l'interface de paiement, 
reportez-vous au [guide d'intégration de la solution 
Payments](/fr/solutions/payments/integration-guide/integration-flow/).

<div class="note">
<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>
</div>


Version: 2.0

## Servers

```
https://api.xsolla.com/merchant/v2
```

## Security

### basicAuth

L'API Xsolla utilise une authentification d'accès de base. Toutes les requêtes 
doivent inclure l'en-tête `Authorization: Basic 
<your_authorization_basic_key>`, où `<your_authorization_basic_key>` correspond 
à la paire `merchant_id:api_key` encodée en Base64.

Accédez au [Compte éditeur](https://publisher.xsolla.com/) pour trouver ces 
paramètres :

- `merchant_id` est affiché :
  - Dans la section **Company settings > Company**.
  - Dans l'URL dans la barre d'adresse du navigateur sur n'importe quelle page du 
    compte de l'éditeur. L'URL a le format suivant : 
    `https://publisher.xsolla.com/<merchant_id>`.
- `api_key` n'apparaît dans le compte de l'éditeur qu'une seule fois lors de sa 
  création et doit être stockée de votre côté. Vous pouvez créer une nouvelle clé 
  dans les sections suivantes :
  - **Company settings > API keys**
  - **Project settings > API keys**

Pour plus d'informations sur l'utilisation des clés API, voir la [référence 
API](https://developers.xsolla.com/fr/api/getting-started/#api_keys_overview).


Type: http
Scheme: basic

## Download OpenAPI description

[Pay Station API](https://xsolla.redocly.app/_bundle/@l10n/fr/api/pay-station/index.yaml)

## Jeton

### Créer un jeton

 - [POST /merchants/{merchant_id}/token](https://xsolla.redocly.app/fr/api/pay-station/token/create-token.md): Vous pouvez créer un jeton avec n'importe quels paramètres utilisateur. Envoyez-
les lors de la création du jeton et vous les recevez en réponse après le 
paiement réussi. Un jeton ne peut contenir que les paramètres décrits dans le 
présent document ou ceux que vous avez préalablement définis.

Si un paramètre est passé dans un format ou un type incorrect, aucun jeton ne 
sera délivré. Vous recevrez un code HTTP 422 avec la description de l'erreur 
dans le corps JSON. Dans ce cas, le paramètre extended_message contient les 
informations sur les paramètres précis qui ont été passés de manière incorrecte.

Par défaut, la durée de vie du jeton est de 24 heures. Si vous souhaitez 
modifier cette valeur, contactez votre responsable de la réussite client ou 
envoyez un e-mail à csm@xsolla.com. La 
nouvelle valeur sera activée pour tous les projets de votre entreprise créés 
dans le Compte éditeur.


RemarqueLe 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 Subscriptions.Pour ouvrir l'interface de paiement dans une nouvelle fenêtre, utilisez le lien suivant : https://secure.xsolla.com/paystation4/?token={token}, où {token} est le jeton reçu.À des fins de test, utilisez cette URL : https://sandbox-secure.xsolla.com/paystation4/?token={token}.





RemarqueCet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Invalider le jeton

 - [POST /projects/{project_id}/token/{token}/expire](https://xsolla.redocly.app/fr/api/pay-station/token/invalidate-token.md): Invalide le jeton de paiement existant afin d'empêcher son utilisation pour 
ouvrir l'interface de paiement. À utiliser pour éviter les paiements en double 
pour des objets à instance unique dans des sessions parallèles. Une fois la 
requête exécutée avec succès, toutes les autres sessions utilisateur ouvertes 
avec ce jeton de paiement expirent.


NoteCet appel API est idempotent et peut être utilisé plusieurs fois.

## Tokénisation

### Lire les comptes enregistrés

 - [GET /projects/{project_id}/users/{user_id}/payment_accounts](https://xsolla.redocly.app/fr/api/pay-station/tokenization/get-saved-accounts.md): Récupère la liste des comptes de paiement enregistrés d'un utilisateur donné.


NoteEn mode bac à sable, cet appel API fonctionne uniquement avec les cartes de test dépourvues de la fonction 3-D Secure.

### Supprimer un compte enregistré

 - [DELETE /projects/{project_id}/users/{user_id}/payment_accounts/{type}/{account_id}](https://xsolla.redocly.app/fr/api/pay-station/tokenization/delete-saved-account.md): Supprime un compte de paiement enregistré.


NoteEn mode bac à sable, cet appel API fonctionne uniquement avec les cartes de test dépourvues de la fonction 3-D Secure.





NotePour 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 instructions pour plus d'informations sur l'accès au mode bac à sable et les scénarios de test.

### Prélever sur un compte enregistré

 - [POST /projects/{project_id}/users/{user_id}/payments/{type}/{account_id}](https://xsolla.redocly.app/fr/api/pay-station/tokenization/charge-with-saved-account.md): Facture un utilisateur via un compte de paiement enregistré.


NoteEn mode bac à sable, cet appel API fonctionne uniquement avec les cartes de test dépourvues de la fonction 3-D Secure.





RemarquePour que l'appel API fonctionne correctement, configurez un délai d'attente de 2 minutes.

## Rapports

### Lire des rapports

 - [GET /merchants/{merchant_id}/reports](https://xsolla.redocly.app/fr/api/pay-station/reports/get-reports.md): Récupère une liste de rapports financiers sur une période donnée.


RemarqueCet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Lire la liste des transactions

 - [GET /merchants/{merchant_id}/reports/transactions/registry.{format}](https://xsolla.redocly.app/fr/api/pay-station/reports/get-transactions.md): 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.


RemarqueCet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Rechercher des transactions

 - [GET /merchants/{merchant_id}/reports/transactions/search.{format}](https://xsolla.redocly.app/fr/api/pay-station/reports/find-transactions.md): 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.


RemarqueCet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Rechercher des transactions (recherche rapide)

 - [GET /merchants/{merchant_id}/reports/transactions/simple_search](https://xsolla.redocly.app/fr/api/pay-station/reports/find-transactions-fast.md): 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 
qui renvoie des données au format JSON, CSV ou XLS.


RemarqueCet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Lire les virements répartis en devises

 - [GET /merchants/{merchant_id}/reports/transactions/summary/transfer](https://xsolla.redocly.app/fr/api/pay-station/reports/get-payouts-breakdown.md): Repartit les virements en fonction de la devise.


RemarqueCet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Lire une transaction

 - [GET /merchants/{merchant_id}/reports/transactions/{transaction_id}/details](https://xsolla.redocly.app/fr/api/pay-station/reports/get-transaction.md): Récupère les informations complètes sur une transaction par son ID.


RemarqueCet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Lire des virements

 - [GET /merchants/{merchant_id}/reports/transfers](https://xsolla.redocly.app/fr/api/pay-station/reports/get-payouts.md): Récupère une liste de tous les virements pour une période donnée.


RemarqueCet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

## Remboursement

### Demander un remboursement partiel

 - [PUT /merchants/{merchant_id}/reports/transactions/{transaction_id}/partial_refund](https://xsolla.redocly.app/fr/api/pay-station/refund/request-partial-refund.md): 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.


NotePour appeler cette méthode API en mode bac à sable, passez les données de paiement de test dans la requête. Reportez-vous aux instructions pour plus d'informations sur l'accès au mode bac à sable et les scénarios de test.





RemarqueCet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Demander un remboursement

 - [PUT /merchants/{merchant_id}/reports/transactions/{transaction_id}/refund](https://xsolla.redocly.app/fr/api/pay-station/refund/request-refund.md): 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.


NotePour appeler cette méthode API en mode bac à sable, passez les données de paiement de test dans la requête. Reportez-vous aux instructions pour plus d'informations sur l'accès au mode bac à sable et les scénarios de test.





RemarqueCet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

## Tests

### Demander un chargeback

 - [POST /merchants/{merchant_id}/projects/{project_id}/payments/{transaction_id}/chargeback](https://xsolla.redocly.app/fr/api/pay-station/testing/request-chargeback.md): Demande un chargeback en mode bac à sable :

- Pour accéder au mode bac à sable, passez "mode":"sandbox" lors de 
  l'obtention du jeton.

- Le paiement test doit être effectué en mode bac à sable dans le même projet que 
  celui que vous utilisez pour les tests.

- Le statut de la transaction doit être autre que refunded et cancelled.

- Votre rôle dans le Compte éditeur doit être au moins Gestionnaire 
  financier. (Pour l'afficher, accédez à la section Paramètres d'entreprise > 
  Utilisateurs).

- Référez-vous aux instructions 
  pour plus d'informations sur ce scénario de test.


NoteRéférez-vous à la documentation pour plus d'informations sur d'autres scénarios de test.

