Passer au contenu

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.

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 — 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.

Note

Vous pouvez également vous référer à la section Xsolla Base API dans la collection Postman pour tester les appels API utilisés pour l'intégration.

Télécharger la description d'OpenAPI
Langues
Serveurs
Mock server
https://xsolla.redocly.app/_mock/fr/api/pay-station/
https://api.xsolla.com/merchant/v2/
Opérations
Opérations
Opérations

Requête

Récupère une liste de rapports financiers sur une période donnée.

Remarque

Cet 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.

Sécurité
basicAuth
Chemin
merchant_idintegerobligatoire

ID de commerçant.

Requête
datetime_fromstring(datetime)obligatoire

Début de la période au format AAAA-MM-JJ. Non requis si au moins un des paramètres suivants est passé :

  • transfer_id ;
  • report_id.

Exemple: datetime_from=2023-02-08
datetime_tostring(datetime)obligatoire

Fin de la période au format AAAA-MM-JJ. Non requis si au moins un des paramètres suivants est passé :

  • transfer_id ;
  • report_id.
La différence entre datetime_from et datetime_to doit être inférieure à 92 jours.

Exemple: datetime_to=2023-03-08
curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/fr/api/pay-station/merchants/{merchant_id}/reports?datetime_from=2023-02-08&datetime_to=2023-03-08'

Réponses

OK.

Corpsapplication/json
Réponse
application/json
[ { "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 } ]

Requête

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.

Remarque

Cet 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.

Sécurité
basicAuth
Chemin
merchant_idintegerobligatoire

ID de commerçant.

formatstringobligatoire

Format de données.

Enum"json""csv""xls"
Requête
datetime_fromstring(datetime)obligatoire

Début de la période au format AAAA-MM-JJ. Non requis si au moins un des paramètres suivants est passé :

  • transfer_id ;
  • report_id.

Exemple: datetime_from=2023-02-08
datetime_tostring(datetime)obligatoire

Fin de la période au format AAAA-MM-JJ. Non requis si au moins un des paramètres suivants est passé :

  • transfer_id ;
  • report_id.
La différence entre datetime_from et datetime_to doit être inférieure à 92 jours.

Exemple: datetime_to=2023-03-08
in_transfer_currencyintegerobligatoire

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é :

  • transfer_id ;
  • report_id.

show_totalboolean

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.

merchant_of_recordsstring or null

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.

Enum ValeurDescription
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_idinteger

ID de projet.

show_dry_runboolean

Détermine l'inclusion des transactions test.

transfer_idinteger

ID de virement.

report_idinteger

ID de rapport financier.

offsetinteger

Numéro de l'élément à partir duquel la liste est générée (le décompte commence à 0).

limitinteger

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.

statusstring

Statut de transaction.

Enum"done""canceled""error""refunded"
curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/fr/api/pay-station/merchants/{merchant_id}/reports/transactions/registry.{format}?datetime_from=2023-02-08&datetime_to=2023-03-08&in_transfer_currency=0&show_total=true&merchant_of_records=xsolla&project_id=0&show_dry_run=true&transfer_id=0&report_id=0&offset=0&limit=0&status=done'

Réponses

Liste des transactions renvoyée avec succès.

Corpsapplication/jsonArray [
payment_detailsobject

Informations sur le paiement.

purchaseobject

Informations sur l'achat.

transactionobject

Données de transaction.

userobject

Informations sur l'utilisateur.

user_balanceobject

Solde utilisateur.

]
Réponse
application/json
[ { "payment_details": {}, "purchase": {}, "transaction": {}, "user": {}, "user_balance": {} } ]

Requête

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.

Remarque

Cet 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.

Sécurité
basicAuth
Chemin
merchant_idintegerobligatoire

ID de commerçant.

formatstringobligatoire

Format de données.

Enum"json""csv""xls"
Requête
datetime_fromstring(datetime)

Début de la période.

datetime_tostring(datetime)

Fin de la période.

project_idinteger

ID de projet.

transaction_idinteger

ID de transaction.

typestring

Type de transactions affichées dans les résultats de la recherche :

Enum ValeurDescription
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.

phonestring

Numéro de téléphone au format international.

user_idstring

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.

user_namestring

Nom d'utilisateur.

user_customstring

Paramètre personnalisé pour l'identification utilisateur.

emailstring<= 100 characters

Adresse e-mail de l'utilisateur.

external_idstring

ID de transaction dans le jeu. Il doit être unique pour chaque paiement d'utilisateur.

order_idinteger

ID de commande. Utilisez-le pour appeler la méthode API Lire une commande.

Exemple: order_id=1234
offsetinteger

Numéro de l'élément à partir duquel la liste est générée (le décompte commence à 0).

limitinteger

Nombre maximal d'éléments sur une page.

statusstring(status.enum)

Statut de la transaction.

Enum ValeurDescription
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 :

  • La transaction a été annulée par le système de paiement. Par exemple, le compte de l'utilisateur n'était pas suffisamment approvisionné.
  • 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.

curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/fr/api/pay-station/merchants/{merchant_id}/reports/transactions/search.{format}?datetime_from=string&datetime_to=string&project_id=0&transaction_id=0&type=all&phone=string&user_id=string&user_name=string&user_custom=string&email=string&external_id=string&order_id=1234&offset=0&limit=0&status=created'

Réponses

OK.

Corpsapplication/json
Réponse
application/json
[ { "payment_details": {}, "payment_system": {}, "purchase": {}, "transaction": {}, "user": {} } ]

Rechercher des transactions (recherche rapide)

Requête

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.

Remarque

Cet 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.

Sécurité
basicAuth
Chemin
merchant_idintegerobligatoire

ID de commerçant.

Requête
transaction_idinteger

ID de transaction. Soit cet ID, soit external_id doit être passé, mais jamais les deux.

external_idstring

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.

curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/fr/api/pay-station/merchants/{merchant_id}/reports/transactions/simple_search?transaction_id=0&external_id=string'

Réponses

Liste des transactions renvoyée avec succès.

Corpsapplication/jsonArray [
payment_detailsobject

Informations sur le paiement.

transactionobject

Informations sur la transaction.

userobject

Informations sur l'utilisateur.

]
Réponse
application/json
[ { "payment_details": {}, "transaction": {}, "user": {} } ]

Requête

Repartit les virements en fonction de la devise.

Remarque

Cet 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.

Sécurité
basicAuth
Chemin
merchant_idintegerobligatoire

ID de commerçant.

Requête
datetime_fromstring(datetime)

Début de la période.

datetime_tostring(datetime)

Fin de la période.

legal_entity_idinteger

ID de l'entité légale du développeur.

statusstring

Statut de transaction.

Enum"done""canceled""error""refunded"
curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/fr/api/pay-station/merchants/{merchant_id}/reports/transactions/summary/transfer?datetime_from=string&datetime_to=string&legal_entity_id=0&status=done'

Réponses

OK.

Corpsapplication/json
Réponse
application/json
[ { "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 } ]

Requête

Récupère les informations complètes sur une transaction par son ID.

Remarque

Cet 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.

Sécurité
basicAuth
Chemin
merchant_idintegerobligatoire

ID de commerçant.

transaction_idintegerobligatoire

ID de transaction.

curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/fr/api/pay-station/merchants/{merchant_id}/reports/transactions/{transaction_id}/details'

Réponses

Informations relatives à la transaction renvoyées avec succès.

Corpsapplication/jsonArray [
customer_detailsobject
finance_detailsobject
payment_detailsobject
subscription_detailsobject
transaction_detailsobject
]
Réponse
application/json
[ { "customer_details": {}, "finance_details": {}, "payment_details": {}, "subscription_details": {}, "transaction_details": {} } ]

Requête

Récupère une liste de tous les virements pour une période donnée.

Remarque

Cet 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.

Sécurité
basicAuth
Chemin
merchant_idintegerobligatoire

ID de commerçant.

Requête
datetime_fromstring(datetime)

Début de la période.

datetime_tostring(datetime)

Fin de la période.

legal_entity_idinteger

ID de l'entité légale du développeur.

statusstring

Statut du virement.

Enum ValeurDescription
hold

Attente de demande de traitement.

paid

Virement complété.

ready

Virement en cours.

curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/fr/api/pay-station/merchants/{merchant_id}/reports/transfers?datetime_from=string&datetime_to=string&legal_entity_id=0&status=hold'

Réponses

OK.

Corpsapplication/json
Réponse
application/json
[ { "canceled": 0, "payout": {}, "rate": 1, "transfer": {} } ]
Opérations
Opérations