# Pay Station API

# Visão geral {% #overview %}

* **Versão:** 2.0.0
* **Servidores**:
  * `https://api.xsolla.com/api`

Pay Station permite que os parceiros monetizem seus produtos, fornecendo aos 
usuários uma interface conveniente para pagar compras no jogo na loja. Para 
configurar a abertura da interface de pagamento, consulte estas [istruções](/pt/doc/pay-station/how-to/how-to-open-payment-ui/).

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

Você pode encontrar informações detalhadas sobre como configurar a interface de 
pagamentos no [guia de integração da solução Payments](/pt/solutions/payments/integration-guide/integration-flow/).

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

# 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>Observe</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](/pt/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>/`.
- `merchant_id` é mostrado:
  - 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](/pt/api/getting-started/#api_keys_overview).


Type: http
Scheme: basic

## Download OpenAPI description

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

## Token

### Criar token

 - [POST /merchants/{merchant_id}/token](https://xsolla.redocly.app/pt/api/pay-station/token/create-token.md): Você pode gerar um token com parâmetros de usuário arbitrários. Esses 
parâmetros são enviados ao obter o token e retornam no payload após uma 
transação bem-sucedida. Um token só pode conter parâmetros descritos neste 
documento ou predefinidos por você.

Se qualquer parâmetro for enviado no formato errado, ou possuir o tipo errado, 
nenhum token será emitido. Você receberá um código HTTP 422 com a descrição do 
erro no corpo JSON. Em extended_message, você receberá uma informação com os 
parâmetros exatos que foram enviados incorretamente.

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.


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





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

### Invalidar token

 - [POST /projects/{project_id}/token/{token}/expire](https://xsolla.redocly.app/pt/api/pay-station/token/invalidate-token.md): Invalida o token de pagamento existente para impedi-lo de ser usado para abrir 
a interface de pagamento. Use-o para evitar pagamentos duplicados para itens de 
instância única entre sessões paralelas. Uma vez chamado com sucesso, todas as 
outras sessões do usuário abertas com esse token de pagamento vão expirar.


ObserveEssa chamada de API é idempotente, e você pode utilizá-la múltiplas vezes.

## Tokenização

### Obtém contas salvas

 - [GET /projects/{project_id}/users/{user_id}/payment_accounts](https://xsolla.redocly.app/pt/api/pay-station/tokenization/get-saved-accounts.md): Lista contas de pagamento salvas de um usuário específico.


ObserveNo modo sandbox, essa chamada de API só funciona com cartões de teste que não tenham a função 3-D Secure.

### Excluir conta salva

 - [DELETE /projects/{project_id}/users/{user_id}/payment_accounts/{type}/{account_id}](https://xsolla.redocly.app/pt/api/pay-station/tokenization/delete-saved-account.md): Exclui uma conta de pagamento salva.


ObserveNo modo sandbox, essa chamada de API só funciona com cartões de teste que não tenham a função 3-D Secure.





ObserveVocê pode chamar esse método API no modo sandbox. Para fazer isso, passe os dados da conta de pagamento de teste na solicitação. Consulte as instruções para mais detalhes sobre o acesso no modo sandbox e os cenários de teste.

### Cobrar com conta salva

 - [POST /projects/{project_id}/users/{user_id}/payments/{type}/{account_id}](https://xsolla.redocly.app/pt/api/pay-station/tokenization/charge-with-saved-account.md): Cobra um usuário através de uma conta de pagamento salva.


ObserveNo modo sandbox, essa chamada de API só funciona com cartões de teste que não tenham a função 3-D Secure.





AvisoPara a chamada de API funcionar corretamente, configure um tempo limite de 2 minutos.

## Relatórios

### Obter relatórios

 - [GET /merchants/{merchant_id}/reports](https://xsolla.redocly.app/pt/api/pay-station/reports/get-reports.md): Obtém a lista de relatórios financeiros ao longo de um período específico.


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

### Obter transações

 - [GET /merchants/{merchant_id}/reports/transactions/registry.{format}](https://xsolla.redocly.app/pt/api/pay-station/reports/get-transactions.md): Retorna a lista de informações detalhadas sobre todas as transações bem-
sucedidas e canceladas em um período específico. Em resposta, você obtém 
informações sobre pagamentos, incluindo dados sobre as taxas, tarifas, bem como 
pedido e usuário. Você pode obter a lista nos formatos JSON e CSV. Você pode 
usar essa chamada API para realizar a reconciliação financeira.


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

### Encontrar transações

 - [GET /merchants/{merchant_id}/reports/transactions/search.{format}](https://xsolla.redocly.app/pt/api/pay-station/reports/find-transactions.md): Retorna uma lista de transações com base nos parâmetros de busca específicos. 
Em resposta, você obtém dados sobre todos os pagamentos feitos no seu jogo, 
mesmo que eles não tenham sido concluídos com sucesso. Você pode especificar 
não só o período de transação como também outros parâmetros. Exemplo: pesquisar 
por transações feitas por um usuário em particular ou com um status de 
pagamento específico. Você pode obter a lista no formato JSON ou CSV.


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

### Encontrar transações (pesquisa rápida)

 - [GET /merchants/{merchant_id}/reports/transactions/simple_search](https://xsolla.redocly.app/pt/api/pay-station/reports/find-transactions-fast.md): Obtém uma lista de transação com base nos parâmetros de pesquisa especificados 
dentro de alguns segundos. Essa é uma alternativa à chamada de API [Encontrar 
transações](/pt/api/pay-station/operation/find-transactions/) que retorna os dados 
nos formatos JSON, CSV ou XLS.


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

### Obtém resumos de pagamentos na moeda

 - [GET /merchants/{merchant_id}/reports/transactions/summary/transfer](https://xsolla.redocly.app/pt/api/pay-station/reports/get-payouts-breakdown.md): Obtém resumos de pagamentos na moeda.


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

### Obter transação

 - [GET /merchants/{merchant_id}/reports/transactions/{transaction_id}/details](https://xsolla.redocly.app/pt/api/pay-station/reports/get-transaction.md): Obtém os dados de transação completos por ID.


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

### Obtém pagamentos

 - [GET /merchants/{merchant_id}/reports/transfers](https://xsolla.redocly.app/pt/api/pay-station/reports/get-payouts.md): Lista todos os pagamentos de um período.


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

## Reembolso

### Solicitar reembolso parcial

 - [PUT /merchants/{merchant_id}/reports/transactions/{transaction_id}/partial_refund](https://xsolla.redocly.app/pt/api/pay-station/refund/request-partial-refund.md): Envia uma solicitação de reembolso parcial a um usuário. Consulte nossa 
documentação para obter informações mais detalhadas sobre o processo de reembolso e 
métodos de pagamento que suportam reembolsos parciais.


ObserveVocê pode chamar esse método API no modo sandbox. Para fazer isso, passe os dados de pagamento de teste na solicitação. Consulte as instruções para mais detalhes sobre o acesso no modo sandbox e os cenários de teste.





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

### Solicitar reembolso

 - [PUT /merchants/{merchant_id}/reports/transactions/{transaction_id}/refund](https://xsolla.redocly.app/pt/api/pay-station/refund/request-refund.md): Envia uma solicitação de reembolso para retornar uma parte do pagamento ao 
usuário. Leia sobre o Recurso de reembolso para saber mais sobre o processo.


ObserveVocê pode chamar esse método API no modo sandbox. Para fazer isso, passe os dados de pagamento de teste na solicitação. Consulte as instruções para mais detalhes sobre o acesso no modo sandbox e os cenários de teste.





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

## Testes

### Solicitar estorno

 - [POST /merchants/{merchant_id}/projects/{project_id}/payments/{transaction_id}/chargeback](https://xsolla.redocly.app/pt/api/pay-station/testing/request-chargeback.md): Solicita um estorno no modo sandbox:

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

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

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

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


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

