Xsolla-logo

Criar token de pagamento para compra

post/v3/project/{project_id}/admin/payment/token

Gera um pedido e um token de pagamento para ele. O pedido é gerado com base nos itens passados no corpo da solicitação.

Aviso

O parâmetro user.country.value é usado para selecionar uma moeda para o pedido. Se o país do usuário é desconhecido, fornecer o IP do usuário no cabeçalho X-User-Ip é uma opção alternativa.
Uma dessas duas opções é necessária para o trabalho correto desse método.
A moeda selecionada é usada para métodos de pagamento no Pay Station.
SecuritybasicAuth
Request
path Parameters
project_id
required
integer

ID do projeto. Você pode encontrar esse parâmetro em sua Conta de Distribuidor ao lado do nome do projeto.

Example: 44056
Request Body schema: application/json
required
object
required
object
value
string [ 1 .. 255 ] characters

ID do usuário. Para teste, você pode passar qualquer valor. Para aceitar pagamentos reais, você precisa usar o valor do ID do usuário do seu sistema. Esse ID é passado no webhook User validation.

age
integer

Idade do usuário.

attributes
object [ 1 .. 100 ] items

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
Default: false

Se o usuário pode ou não alterar o país na interface de pagamento.

value
string

Código de país de duas letras maiúsculas, de acordo com o ISO 3166-1 alpha-2. O parâmetro será necessário se um endereço IP não for passado no cabeçalho X-User-Ip.

object
value
string <email> [ 3 .. 255 ] characters

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 [ 1 .. 255 ] characters

Nome de exibição do usuário.

object
value
required
string

Número de telefone do usuário.

allow_modify
boolean
Default: false

Se o usuário pode ou não alterar o telefone na interface de pagamento. Se phone.value for passado no token, o valor será false por padrão.

hidden
boolean
Default: true
object
value
required
string = 17 characters ^\d{17}$

ID do Steam.

object
value
required
string = 32 characters ^[A-Za-z0-9]{32}$

ID de rastreamento exclusivo (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 definidas, as estatísticas serão baseadas nas palavras-chave usadas para a segmentação de anúncios e não em consultas de pesquisa específicas. No Google Analytics, o utm_term especificado faz parte do relatório de termos gerais de pesquisa.

required
object
required
Array of objects non-empty
Array (non-empty)
sku
required
string non-empty

ID de item exclusivo. O SKU só pode conter caracteres alfanuméricos latinos minúsculos, pontos, traços e sublinhados.

quantity
required
number >= 1

Quantidade do item.

object or null [ 1 .. 200 ] properties

Seus parâmetros personalizados representados como um conjunto JSON válido de pares chave-valor.
Você pode passar parâmetros adicionais por esse campo para configurar filtros antifraude. Consulte a documentação do Pay Station.

additional property
string or integer or number or boolean
One of:
string
sandbox
boolean
Default: false

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

object

As configurações para instalar o processo de pagamento e a interface de pagamento para um usuário.

currency
string

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

external_id
string [ 1 .. 255 ] characters

ID de transação externo.

language
string

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

payment_method
integer >= 1

ID de método de pagamento.

object
delay
integer

Atraso após o qual o usuário será redirecionado automaticamente para o URL de retorno.

redirect_button_caption
string

Legendas de botão de redirecionamento traduzidas.

redirect_conditions
string

Status de pagamento acionando o redirecionamento do usuário para o URL de retorno.

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

Status do pagamento acionando a exibição de um botão clicando que redireciona o usuário para o URL de retorno.

Enum: "none" "vc" "successful" "successful_or_canceled" "any"
return_url
string <uri> <= 1000 characters

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

object

Configurações da interface.

currency_format
string

Defina como code para exibir um código monetário ISO 4217 de três letras na interface de pagamento. O símbolo da moeda é exibido em vez do código monetário de três letras por padrão.

object

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

object

Configurações de cabeçalho.

close_button
boolean
Default: false

Se um botão Fechar na interface de pagamento desktop deve ser exibido ou não. O botão fecha a interface de pagamento 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
Default: "normal"

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 mostrará seu logotipo (primeiro forneça a imagem ao seu gerente de conta).

visible_name
boolean

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

visible_purchase
boolean
Default: true

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

object
visible_virtual_currency_balance
boolean
Default: true

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

is_cart_open_by_default
boolean
Default: false

A exibição da lista de itens no carrinho ao abrir a versão móvel da interface de pagamento. Se true, a lista é exibida na visualização estendida. Se for false (padrão) ou os parâmetros não forem passados, a lista é exibida em uma visualização reduzida.

is_independent_windows
boolean
Default: false

Se os usuários devem ser redirecionados do navegador integrado do inicializador (WebView) ao navegador padrão para fazer uma compra.

is_payment_methods_list_mode
boolean
Default: false

Se uma lista dos métodos de pagamento disponíveis no país do usuário deve ser exibida ou não ao abrir a interface de pagamento. Se false (padrão), o método de pagamento passando no parâmetro settings.payment_method ou o método selecionado pelo algoritmo PayRank será exibido.

is_prevent_external_link_open
boolean
Default: false

Se o redirecionamento de links a uma fonte externa está desabilitado ou não. Ao clicar em um link externo, o evento external-link-open é enviado através do mecanismo postMessage. O endereço para o link de redirecionamento é passado no parâmetro url.

is_show_close_widget_warning
boolean
Default: true

Se deve ser exibido um aviso sobre o processamento da transação ao focalizar o cursor sobre o ícone × antes de fechar a página de pagamento ou não. Se false for passado, ou o parâmetro não for passado, o aviso não será exibido.

is_three_ds_independent_windows
boolean
Default: false

Se a verificação 3-D Secure deve ser aberta em uma nova janela do navegador ou não. Passe true se você usa a Content Security Policy (CSP).

layout
string

Local dos elementos principais da interface de pagamento. Você pode abrir a interface de pagamento dentro do seu jogo e/ou trocar as colunas com informações sobre um pedido e métodos de pagamento. Consulte as instruções de personalização para mais detalhes.

Enum: "embed" "column_reverse" "embed_column_reverse"
object
object
close_button
boolean
Default: false

Se um botão Fechar na interface de pagamento móvel deve ser exibido ou não. O botão fecha a interface de pagamento e redireciona o usuário para o URL especificado no parâmetro settings.return_url.

mode
string

Modo de interface na interface de pagamento. 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.

Value: "user_account"
theme
string
Default: "63295a9a2e47fab76f7708e1"

Tema da interface de pagamento. Pode ser 63295a9a2e47fab76f7708e1 para o tema claro (padrão) ou 63295aab2e47fab76f7708e3 para o tema escuro. Você também pode criar um tema personalizado e passar seu ID nesse parâmetro.

Enum: "63295a9a2e47fab76f7708e1" "63295aab2e47fab76f7708e3"
object

Dados da conta do usuário.

object

Página Minha conta.

enable
required
boolean
Default: false

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

order
required
integer >= 1

Posição do submenu no menu.

object

Submenu My payment accounts.

enable
required
boolean
Default: false

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

object

Submenu Manage subscriptions.

enable
required
boolean
Default: false

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

order
required
integer >= 1

Posição do submenu no menu.

Responses
200

Token de pagamento e pedido criados com sucesso.

401

Autenticação básica não aprovada ou errada. Verifique se você usou a autenticação básica ou as credenciais corretas.

422

Erro de corpo de solicitação e validação de criação do carrinho.

  • Carrinho inválido, criado a partir de itens passados. Verifica se o carrinho não está vazio e se todos os itens não são gratuitos.
  • Corpo de solicitação inválido.
Request samples
application/json
{
  • "purchase": {
    },
  • "settings": {
    },
  • "user": {
    }
}
Response samples
application/json
{
  • "order_id": 12345,
  • "token": "huooAqbXBSJxB8Q4dYBqJp4ybiInqsPb"
}