Xsolla-logo

Criar token de pagamento para compraServer-side

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.

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 propósitos de teste, use este URL: https://sandbox-secure.xsolla.com/paystation4/?token={token}.

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.

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 padrão ISO 3166-1 alfa-2. É necessário se um endereço IP não for passado no cabeçalho X-User-Ip. Verifique a documentação para obter informações detalhadas sobre os países suportados pela Xsolla.
Exemplo: country=US

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

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 de três letras de acordo com o formato ISO 4217. Consulte a documentação para obter informações detalhadas sobre as moedas suportadas pela Xsolla.

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 do método de pagamento. Ele determina a exibição da moeda na interface de pagamento, pois alguns métodos de pagamento suportam apenas determinadas moedas.

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 logotipo é exibido no cabeçalho. Para fazer upload da imagem, abra seu projeto na Contado Publisher e vá para aseção Pay Station > Configurações.

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. Se sua configuração utiliza Content Security Policy (CSP), defina como true.

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
201

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"
}