Xsolla-logo

Criar tokenServer-side

post/merchants/{merchant_id}/token

Você pode criar um token com parâmetros de usuário arbitrários. Você envia esses parâmetros ao obter o token e os recebe de volta após um pagamento bem-sucedido. Um token só pode conter parâmetros descritos neste documento ou predefinidos por você.

Se algum parâmetro for enviado no formato errado ou tiver 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 sobre quais parâmetros exatos foram enviados incorretamente.

Aviso

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

SecuritybasicAuth
Request
path Parameters
merchant_id
required
integer

ID de comerciante.

Request Body schema: application/json
object

Você pode passar parâmetros adicionais no token no objeto custom_parameters para configurar filtros antifraude. Os parâmetros recomendados são exibidos na lista suspensa. Veja a documentação da Estação de Pagamentos.

active_date
string

Última data visto, de acordo com o ISO 8601.

additional_verification
boolean

Se o jogador utiliza procedimentos de verificação de conta ou não.

character_customized
boolean

Se o jogador personalizou seu personagem ou não.

chat_activity
boolean

Se o jogador utiliza a função de chat ou não.

completed_tasks
integer

Quantidade de tarefas/objetivos concluídos.

forum_activity
boolean

Se o jogador utiliza a função do fórum ou não.

items_used
boolean

Se o jogador usa itens de jogo comprados ou não.

karma_points
integer

Karma do jogador.

last_change_password_date
string

Data da última alteração de senha, de acordo com o ISO 8601.

non_premium_currency
integer <float>

Quantidade de moedas não Premium.

notifications_enabled
boolean

Se o jogador habilitou notificações ou não.

profile_completed
boolean

Se o jogador adicionou informações adicionais ao seu perfil ou não.

profile_image_added
boolean

Se o jogador enviou uma imagem de perfil nova ou não.

pvp_activity
boolean

Se o jogador participa de batalhas JvJ ou não.

registration_date
string

Data de criação da conta, de acordo com o ISO 8601.

session_time
string

Tempo de sessão médio, de acordo com o ISO 8601.

social_networks_added
boolean

Se o jogador conectou seus perfis de mídias sociais ou não.

total_bans
integer

Quantidade de vezes que o jogador foi banido do chat/fórum.

total_characters
integer

Quantidade de personagens no jogo.

total_clans
integer

Quantidade de clãs dos quais o jogador fez parte.

total_friends
integer

Quantidade de amigos.

total_game_events
integer

Quantidade de eventos no jogo dos quais o jogador participou.

total_gifts
integer

Quantidade de presentes no jogo que o jogador enviou/recebeu.

total_hours
integer

Tempo total de horas no jogo.

total_inventory_value
integer <float>

Valor total do inventário (moeda do jogo).

total_sum
integer <float>

Quantia total de pagamentos.

tutorial_completed
boolean

Se o jogador concluiu o tutorial do jogo ou não.

unlocked_achievements
integer

Quantidade de conquistas desbloqueadas.

user_level
integer

Nível, reputação ou classificação do jogador.

win_rate
integer

Taxa de vitórias.

object

Objeto que contém dados de compra.

object

Objeto que contém dados de pagamento.

amount
integer <float>

Quantia de compra.

currency
string

Moeda da compra. Código da moeda de três letras de acordo com o ISO 4217.

object

Dados de assinatura.

available_plans
Array of strings

Planos de assinatura para exibir na interface de pagamento.

currency
string

Moeda do plano de assinatura a ser utilizado em todos os cálculos.

object

Informações sobre vale-assinatura.

recipient
required
string

ID do destinatário.

email
required
string

E-mail do destinatário.

anonymous
boolean

Se esconder o nome do remetente. Se true, o nome do remetente ficará oculto na notificação por e-mail. O padrão é false.

message
string

Mensagem para o destinatário.

redirect_url
string

Fornece um link para uma página com mais informações sobre o vale-assinatura ou para a página de criação de conta. O destinatário pode navegar até esta página a partir do e-mail de notificação.

operation
string

O tipo de operação aplicado ao plano de assinatura do usuário. Para alterar o plano de assinatura, passe o valor change_plan. Você precisa especificar o novo ID de plano no parâmetro purchase.subscription.plan_id.

plan_id
string

ID externo do plano de assinatura. Pode ser encontrado na seção Assinaturas > Planos de assinatura da Conta de Distribuidor.

product_id
string

ID de produto.

trial_days
integer

O período de teste em dias.

object

Configurações do projeto personalizadas.

project_id
required
integer

ID Xsolla do jogo. Pode ser encontrado na Conta de Distribuidor.

currency
string

Moeda de compra preferencial. Código da moeda de três letras de acordo com o ISO 4217.

external_id
string

ID de transação no jogo. Precisa ser único para cada pagamento de um usuário.

language
string

Idioma da interface. Código de idioma de duas letras minúsculas.

mode
string

Defina como sandbox para testar o processo de pagamento. Nesse caso, use https://sandbox-secure.xsolla.com para acessar a interface de pagamento de testes.

payment_method
integer

ID de método de pagamento.

payment_widget
string

Widget de pagamento. Pode ser paybycash ou giftcard. Se o parâmetro for definido, o usuário é redirecionado ao widget Pay by Cash ou Gift Cards, respectivamente.

Enum: "paybycash" "giftcard"
object

Configurações das políticas de redirecionamento.

autoredirect_from_status_page
boolean

Se o usuário deve ser redirecionado automaticamente da página de status ou não.

delay
integer

Atraso (em segundos) após o qual o usuário é redirecionado automaticamente para o URL de retorno.

manual_redirection_action
string

Comportamento do Portal de Pagamentos acionado pelo usuário ao clicar no botão fechar ou Voltar ao jogo. Pode ser redirect (por padrão) e postmessage. Se definido como redirect, o usuário é redirecionado ao URL passado no token ou especificado na Conta de Distribuidor. Se for postmessage, o usuário não é redirecionado para outras páginas. Ao clicar no ícone de fechar, o evento close é enviado. Ao clicar no botão Voltar ao jogo, o evento return é enviado.

Enum: "redirect" "postmessage"
redirect_button_caption
string

Texto no botão para o redirecionamento manual.

redirect_conditions
string

Status de pagamento para o qual um usuário é redirecionado ao URL de retorno. Pode ser none, successful, successful_or_canсeled, ou any.

Enum: "none" "successful" "successful_or_canceled" "any"
status_for_manual_redirection
string

Status de pagamento para o qual um botão que redireciona o usuário ao URL de retorno é exibido. Pode ser none, successful, successful_or_canсeled, ou any.

Enum: "none" "successful" "successful_or_canceled" "any"
return_url
string

Página para redirecionar o usuário após um pagamento. Os parâmetros user_id, foreigninvoice, invoice_id e status serão adicionados automaticamente ao link.

object

Configurações da interface.

object

Configurações do menu.

object

Configurações do submenu dos planos de assinatura.

hidden
boolean

Se o submenu deve ser exibido ou não.

order
integer

Posição do submenu no menu.

object

Moeda virtual das configurações do submenu.

custom_amount
boolean

Se o usuário pode inserir uma quantia arbitrária da moeda virtual na interface de pagamento ou não.

hidden
boolean

Se o submenu deve ser exibido ou não.

order
integer

Posição do submenu no menu.

object

Configurações de itens virtuais do submenu.

hidden
boolean

Se o submenu deve ser exibido ou não.

order
integer

Posição do submenu no menu.

selected_group
string

Grupo a ser exibido depois de abrir a aba de itens virtuais.

selected_item
string

Item a ser exibido depois de abrir a aba de itens virtuais (SKU do item).

object

Configurações de interface para a versão desktop.

object

Configurações de cabeçalho.

close_button
boolean

Se o botão Fechar no Portal de Pagamentos para o desktop deve ser exibido ou não. O botão fecha o Portal de Pagamentos e redireciona o usuário para o URL especificado no parâmetro settings.return_url. false por padrão.

is_visible
boolean

Se o cabeçalho na interface de pagamento deve ser exibido ou não.

type
string

Como mostrar o cabeçalho. Pode ser compact (oculta o nome do projeto e ID do usuário) ou normal (padrão).

Enum: "compact" "normal"
visible_logo
boolean

Se true, o cabeçalho exibirá seu logotipo (primeiro, forneça a imagem do seu Gerente de Sucesso do Cliente).

visible_name
boolean

Se o nome do projeto deve ser exibido no cabeçalho ou não.

visible_purchase
boolean

Se a descrição da compra (purchase.description.value) deve ser exibida no cabeçalho ou não. true por padrão.

object

Configurações para a lista de planos de assinatura.

description
string

Qualquer texto para ser exibido acima da lista de planos de assinatura disponíveis na interface de pagamento.

display_local_price
boolean

Se true, se se a moeda local do usuário for diferente da definida no plano de assinatura, o usuário poderá ver ambos preços: um na moeda local, o outro na moeda básica.

layout
string

Modelo de lista. Pode ser list (padrão) ou grid.

Enum: "list" "grid"
object

Configurações para a lista de moedas virtuais.

button_with_price
boolean

Se true, o preço será exibido no botão. Se false, o preço será exibido do lado esquerdo do botão. false por padrão.

description
string

Qualquer texto a ser exibido acima da lista de moedas virtuais.

object

Configurações da lista de itens virtuais.

button_with_price
boolean

Se true, o preço será exibido no botão. Se false, o preço será exibido do lado esquerdo do botão. false por padrão.

layout
string

Modelo de lista. Pode ser list (padrão) ou grid.

Enum: "list" "grid"
view
string

Exibe grupos de itens virtuais em um menu vertical/horizontal. Pode ser horizontal_navigation ou vertical_navigation (padrão).

Enum: "horizontal_navigation" "vertical_navigation"
object
visible_virtual_currency_balance
boolean

Se esse elemento pode ser ocultado ou não na interface de pagamento. true por padrão.

is_prevent_external_link_open
boolean

Se os links de redirecionamento a recursos externos podem ou não ser desativados. true por padrão. Ao clicar em um link externo, o evento external-link-open é enviado através do mecanismo postMessage. O endereço para o link redirecionado é passado no parâmetro url.

license_url
string

Link ao CLUA.

object
object
is_visible
boolean

Se o rodapé deve ser oculto na vesão móvel da interface de pagamento.

object
close_button
boolean

Se o botão Fechar no Portal de Pagamentos para dispositivos móveis deve ser exibido ou não. O botão fecha o Portal de Pagamentos e redireciona o usuário para o URL especificado no parâmetro settings.return_url. false por padrão.

mode
string

Um usuário só pode pagar usando os métodos de pagamento salvos. Pode ser saved_accounts.

Value: "saved_accounts"
mode
string

Modo de interface no Portal de Pagamentos. Pode ser apenas user_account. O cabeçalho contém apenas o menu de navegação da conta, e o usuário não pode selecionar um produto ou fazer um pagamento. Esse modo só está disponível no desktop.

size
string

Tamanho da interface de pagamento. Pode ser:

  • pequeno: o menor tamanho possível para a interface de pagamento. Use esse valor quando o tamanho da janela for consideravelmente limitado (dimensões: 620 x 630)
  • médio: o tamanho recomendado. Use esse valor para exibir a interface de pagamento em uma caixa de luz (lightbox) (dimensões: 740 x 760)
  • grande: o tamanho ideal para exibir a interface de pagamento em uma nova janela ou aba (dimensões: 820 x 840)
Enum: "small" "medium" "large"
theme
string

Tema da interface de pagamento. Pode ser default ou default_dark.

Enum: "default" "default_dark"
object

Dados da conta do usuário.

object

Submenu Histórico.

enable
boolean

Se o submenu deve ser exibido ou não. false por padrão.

order
integer

Posição do submenu no menu.

object

Página Minha conta.

enable
boolean

Se o submenu deve ser exibido ou não. false por padrão.

order
integer

Posição do submenu no menu.

object

Submenu Minhas contas de pagamento.

enable
boolean

Se o submenu deve ser exibido ou não. false por padrão.

order
integer

Posição do submenu no menu.

object

Submenu Gerenciar assinaturas.

enable
boolean

Se o submenu deve ser exibido ou não. false por padrão.

order
integer

Posição do submenu no menu.

version
string

Tipo de dispositivo. Pode ser desktop (padrão) ou mobile.

Enum: "desktop" "mobile"
object

Dados do usuário.

required
object
value
required
string

ID de usuário.

age
integer

Idade do usuário.

attributes
object

Os atributos do usuário por filtrar a lista de itens, representado como um conjunto JSON válido de pares de valores-chave.

object
allow_modify
boolean

Se um usuário pode alterar o país na interface de pagamento. Se country.value for passado no token, o valor será false por padrão.

value
string

Código de país de duas letras maiúsculas, de acordo com o ISO 3166-1 alpha-2.

object

O objeto user.email é uma parte integral para a construção de modelos antifraude e ajuda a aumentar as taxas de aceitação. É um requisito tanto da Xsolla quanto dos sistemas de pagamento. Se o parâmetro não for passado, o campo necessário para inserir o e-mail aparece na página de pagamento. O usuário recebe o recibo da compra no e-mail passado no parâmetro ou no definido na página de pagamento.

value
required
string

E-mail do usuário. Deve ser válido, de acordo com o protocolo RFC 822.

is_legal
boolean

Se o usuário é uma entidade legal.

object

Objeto com dados da entidade legal. O objeto e todos os seus parâmetros são necessários se user.is_legal for true.

address
string

Endereço legal completo.

country
string

País da incorporação. É utilizado o código de país de duas letras maiúsculas, de acordo com o ISO 3166-1 alpha-2.

name
string

Nome legal completo.

vat_id
string

Identificação de contribuinte individual.

object
value
string

Nome de exibição do usuário.

object
value
string

Número de telefone do usuário.

object
value
string

Um parâmetro único que identifica o usuário, conhecido pelo usuário (e-mail, nome de exibição, etc.). Permite que o usuário faça compras fora da loja do jogo (exemplo: via quiosques de dinheiro).

object
value
string

ID do Steam.

object
value
string

ID de rastreamento único (usado em campanhas de marketing).

object

Atributos de tráfego.

utm_campaign
string

Título da campanha, transliterado ou traduzido para Inglês.

utm_content
string

Conteúdo da campanha.

utm_medium
string

Canal de tráfego (anúncios contextuais, anúncios de mídia, listas de e-mail, etc.).

utm_source
string

Fonte de tráfego.

utm_term
string

Palavra-chave da campanha. Se definida, os atributos serão feitos com base nas palavras-chaves usadas na segmentação de anúncios, em vez de buscas específicas. No Google Analytics, o utm_term especificado é parte do relatório de termos de busca gerais.

Responses
200

Criado.

422

Entidade não processável.

Request samples
application/json
{
  • "purchase": {
    },
  • "settings": {
    },
  • "user": {
    }
}
Response samples
application/json
{
  • "token": "eop57k1boA7nnYPtewZ6KEXJyJADEwRT"
}