# Pay Station API

# Descripción general {% #overview %}

* **Versión:** 2.0.0
* **Servidores**:
  * `https://api.xsolla.com/api`

Con Pay Station, los socios podrán monetizar sus productos ofreciendo a los 
usuarios una cómoda interfaz para pagar las compras dentro del juego en la 
tienda del juego. Para establecer la apertura de la interfaz de pago, consulte 
estas [instrucciones](/es/doc/pay-station/how-to/how-to-open-payment-ui/).

Pay Station API proporciona los siguientes grupos de llamadas:
- El token incluye la llamada API que permite generar un token con parámetros de 
  usuario arbitrarios para procesar posteriormente los pagos a través de la 
  interfaz de pago.
- [Tokenización](/es/doc/pay-station/features/tokenization/): incluye las llamadas 
  API para procesar pagos de forma segura sin abrir la interfaz de pago ni 
  implicar al usuario.
- Informes: incluye las llamadas API para devolver datos sobre las transacciones 
  de los usuarios, generar informes, así como obtener el desglose de las 
  retribuciones por moneda.
- Reembolso: incluye las llamadas API para solicitar reembolsos totales y 
  parciales.
- Pruebas: incluye la llamada API que permite probar el proceso de contracargo.

En el documento [Guía de integración de la solución 
Payments](/es/solutions/payments/integration-guide/integration-flow/) encontrará 
información detallada sobre la configuración de la interfaz de pago.

<div class="note">
<p><strong>Nota</strong></p><p>También puede consultar la sección de la <b>Xsolla Base API</b> de la <a href="https://github.com/xsolla/xsolla-postman">Colección Postman</a> para probar las llamadas API empleadas para la integración.</p>
</div>

# Xsolla Business Accounts {% #business-accounts %}

Business Account is the primary tool for configuring Xsolla features, as well 
as for working with analytics and transactions.

Xsolla develops tools for different business categories. To simplify 
navigation, these tools are grouped into separate accounts by target audience:

* [mobile games](https://xsolla.com/for/mobile-games/account/)

* [free-to-play PC games](https://xsolla.com/for/free-to-play-pc/account/)

* [premium PC games](https://xsolla.com/for/premium-pc-games/account/)

* [web games](https://xsolla.com/for/web-games/account/)

<div class="note">
<p><strong>Note</strong></p><p><a href="https://publisher.xsolla.com/">Publisher Account</a> is a legacy tool.</p>
</div>


Version: 2.0

## Servers

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

## Security

### basicAuth

Xsolla API uses basic access authentication. All requests to the API must 
contain the `Authorization: Basic <your_authorization_basic_key>` header, where 
`<your_authorization_basic_key>` is the `merchant_id:api_key` or 
`project_id:api_key` pair encoded according to the Base64 standard.

Go to your [account](/es/api/pay-station/business-accounts/) to find these 
parameters:

- `project_id` is shown:
  - Next to the project name when you click it in the account header.
  - In the URL of any account page. The URL has the following format: 
    `https://xsolla.com/for/<business-account-
    type>/account/<merchant_id>/projects/<project_id>/`.
- Se muestra el `merchant_id`:
  - In the **Company settings > General info** section.
  - In the URL of any account page. The URL has the following format: 
    `https://xsolla.com/for/<business-account-type>/account/<merchant_id>/`.
- `api_key` is shown in your account only once when it is created and must be 
  stored on your side. You can create a new key in the following sections:
  - **Settings > API keys** (in this section, you can create an API key only for a 
    particular project).
  - **Company settings > API keys** (in this section, you can create an API key 
    that will be applied to all projects in a particular company).

For more information about working with API keys, see the [API reference](/es/api/getting-started/#api_keys_overview).


Type: http
Scheme: basic

## Download OpenAPI description

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

## Token

### Crear token

 - [POST /merchants/{merchant_id}/token](https://xsolla.redocly.app/es/api/pay-station/token/create-token.md): Puede generar un token con parámetros de usuario arbitrarios. Envía dichos 
parámetros al obtener el token y los recupera tras realizarse un pago. Un token 
solo puede incluir los parámetros mencionados en este documento o que haya 
definido previamente.

Si se envía algún parámetro con un formato o de tipo incorrecto, no se generará 
ningún token. Aparecerá el código HTTP 422 junto con la descripción del error 
en el cuerpo JSON. En extended_message encontrará los detalles exactos de los 
parámetros que se han enviado incorrectamente.

By default, the token lifetime is 24 hours. If you want to change this value, 
contact your Customer Success Manager or send an email to csm@xsolla.com. The new value will be enabled 
for all your company’s projects created in the account.


AvisoEl token que obtiene tras solicitar este método API solo se puede utilizar para autorizar otras solicitudes. Puede utilizar este token para abrir la interfaz de pago si tiene integrado el producto Subscriptions.Para abrir la interfaz de pago en una nueva ventana, utilice el siguiente enlace: https://secure.xsolla.com/paystation4/?token={token}, en el cual {token} es el token recibido. Para realizar pruebas, utilice esta URL: https://sandbox-secure.xsolla.com/paystation4/?token={token}.





AvisoEsta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Invalidar token

 - [POST /projects/{project_id}/token/{token}/expire](https://xsolla.redocly.app/es/api/pay-station/token/invalidate-token.md): Invalida el token de pago existente para evitar que se utilice para abrir la 
interfaz de pago. Utilícelo para evitar la duplicación de pagos de artículos de 
una sola instancia en sesiones paralelas. Tras su correcta ejecución, todas las 
demás sesiones de usuario abiertas con este token de pago caducarán.


NotaEsta llamada API es idempotente, por lo que se puede utilizar varias veces.

## Tokenización

### Obtener cuentas guardadas

 - [GET /projects/{project_id}/users/{user_id}/payment_accounts](https://xsolla.redocly.app/es/api/pay-station/tokenization/get-saved-accounts.md): Muestra las cuentas de pago guardadas de un usuario determinado.


NotaEn modo aislador de proceso (sandbox), esta llamada API funciona solamente con tarjetas de prueba que no tienen función 3-D Secure.

### Eliminar cuenta guardada

 - [DELETE /projects/{project_id}/users/{user_id}/payment_accounts/{type}/{account_id}](https://xsolla.redocly.app/es/api/pay-station/tokenization/delete-saved-account.md): Elimina una cuenta de pago guardada.


NotaEn modo aislador de proceso (sandbox), esta llamada API funciona solamente con tarjetas de prueba que no tienen función 3-D Secure.





NotaPuedes solicitar este método API en el modo de entorno de pruebas (sandbox). Para ello, transmite los datos de la cuenta de pago de prueba en la solicitud. Consulta las instrucciones para obtener más información sobre el acceso en el modo de entorno de pruebas (sandbox) y las pruebas.

### Cobrar con cuenta guardada

 - [POST /projects/{project_id}/users/{user_id}/payments/{type}/{account_id}](https://xsolla.redocly.app/es/api/pay-station/tokenization/charge-with-saved-account.md): Cobra a un usuario a través de una cuenta de pago guardada.


NotaEn modo aislador de proceso (sandbox), esta llamada API funciona solamente con tarjetas de prueba que no tienen función 3-D Secure.





AvisoPara que la llamada API funcione correctamente, establezca un tiempo de espera de 2 minutos.

## Informes

### Obtener informes

 - [GET /merchants/{merchant_id}/reports](https://xsolla.redocly.app/es/api/pay-station/reports/get-reports.md): Obtiene la lista de informes financieros durante un periodo especificado.


AvisoEsta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Obtener transacciones

 - [GET /merchants/{merchant_id}/reports/transactions/registry.{format}](https://xsolla.redocly.app/es/api/pay-station/reports/get-transactions.md): Devuelve la lista de detalles sobre las transacciones realizadas y canceladas 
durante un periodo especificado. Como respuesta, recibe información sobre los 
pagos, incluyendo datos sobre tasas, impuestos, así como sobre el pedido y el 
usuario. Puede obtener la lista en formato JSON o CSV. Puede usar esta llamada 
API para realizar conciliaciones financieras.


AvisoEsta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Buscar transacciones

 - [GET /merchants/{merchant_id}/reports/transactions/search.{format}](https://xsolla.redocly.app/es/api/pay-station/reports/find-transactions.md): Devuelve una lista de transacciones basada en parámetros de búsqueda 
específicos. Como respuesta, recibirá datos sobre todos los pagos hechos en su 
juego, incluso si no fueron aceptados. Puede especificar no solo el periodo de 
la transacción, sino también otros parámetros, como p. ej., para buscar 
transacciones realizadas por un usuario concreto o en un estado de pago 
específico. Puede obtener la lista en formato JSON o CSV.


AvisoEsta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Buscar transacciones (búsqueda rápida)

 - [GET /merchants/{merchant_id}/reports/transactions/simple_search](https://xsolla.redocly.app/es/api/pay-station/reports/find-transactions-fast.md): Obtiene una lista de transacciones basada en parámetros de búsqueda específicos 
en unos segundos. Es una alternativa a la llamada API Find transactions que devuelve los datos en formato 
JSON, CSV o XLS.


AvisoEsta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Obtener el desglose de los desembolsos en la moneda

 - [GET /merchants/{merchant_id}/reports/transactions/summary/transfer](https://xsolla.redocly.app/es/api/pay-station/reports/get-payouts-breakdown.md): Obtiene el desglose de los desembolsos en la moneda.


AvisoEsta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Obtener transacción

 - [GET /merchants/{merchant_id}/reports/transactions/{transaction_id}/details](https://xsolla.redocly.app/es/api/pay-station/reports/get-transaction.md): Obtiene la información completa de la transacción por ID.


AvisoEsta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Obtener desembolsos

 - [GET /merchants/{merchant_id}/reports/transfers](https://xsolla.redocly.app/es/api/pay-station/reports/get-payouts.md): Muestra todos los pagos de un periodo.


AvisoEsta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

## Reembolso

### Solicitar reembolso parcial

 - [PUT /merchants/{merchant_id}/reports/transactions/{transaction_id}/partial_refund](https://xsolla.redocly.app/es/api/pay-station/refund/request-partial-refund.md): Envía una solicitud de reembolso parcial a un usuario. Consulta nuestra 
documentación para obtener información detallada sobre el proceso de reembolso y los 
métodos de pago que permiten reembolsos parciales.


NotaPuedes solicitar este método API en modo de aislador de proceso (sandbox). Para ello, transmite los datos del pago de prueba en la solicitud. Consulta las instrucciones para obtener más información sobre el acceso al modo de entorno de pruebas (sandbox) y las pruebas.





AvisoEsta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Solicitar reembolso

 - [PUT /merchants/{merchant_id}/reports/transactions/{transaction_id}/refund](https://xsolla.redocly.app/es/api/pay-station/refund/request-refund.md): Envía una solicitud de reembolso para devolver un pago a un usuario. Consulta 
la Función de reembolso para obtener más información sobre el proceso.


NotaPuedes solicitar este método API en el modo de entorno de pruebas (sandbox). Para ello, transmite los datos del pago de prueba en la solicitud. Consulta las instrucciones para obtener más información sobre el acceso al modo de entorno de pruebas (sandbox) y las pruebas.





AvisoEsta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

## Pruebas

### Solicitar contracargo

 - [POST /merchants/{merchant_id}/projects/{project_id}/payments/{transaction_id}/chargeback](https://xsolla.redocly.app/es/api/pay-station/testing/request-chargeback.md): Solicita el contracargo en el modo de entorno de pruebas (sandbox):

- To access the sandbox mode, pass "mode":"sandbox" when you [get the 
  token](/es/api/pay-station/operation/create-token/).

- El pago de prueba debe realizarse en el modo de entorno de pruebas (sandbox) en 
  el mismo proyecto que utilices para hacer pruebas.

- El estado de la transacción debe ser distinto de refunded, cancelled.

- Your role in the account has to be at least Financial manager. (You can 
  find it in the Settings > Members section.)

- Refer to the instructions for more information 
  about this testing scenario.


NotaRefer to the documentation for more information about other testing scenarios.

