Xsolla-logo

Crear tokenServer-side

post/merchants/{merchant_id}/token

Puede crear un token con parámetros de usuario arbitrarios. Envíe estos parámetros al obtener el token y recíbalos después de un pago exitoso. Un token solo puede contener parámetros descritos en este documento o predefinidos por usted.

Si algún parámetro se envía en el formato incorrecto o tiene el tipo incorrecto, no se emitirá ningún token. Recibirá un código HTTP 422 con la descripción del error en el cuerpo JSON. En extended_message recibirá información sobre qué parámetros exactos se enviaron incorrectamente.

Aviso

Esta llamada API no contiene el parámetro de rutaproject_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.

SecuritybasicAuth
Request
path Parameters
merchant_id
required
integer

ID de vendedor.

Request Body schema: application/json
object

Puedes transmitir parámetros adicionales en el token en el objeto custom_parameters para configurar los filtros antifraude. Los parámetros recomendados aparecen en la lista desplegable. Ver documentación de Pay Station.

active_date
string

Fecha de última visita conforme a la norma ISO 8601.

additional_verification
boolean

Si el jugador usa o no procedimientos de verificación de cuenta.

character_customized
boolean

Si el jugador ha personalizado o no su personaje.

chat_activity
boolean

Si el jugador emplea o no la función de chat.

completed_tasks
integer

Número de tareas/objetivos realizados/alcanzados.

forum_activity
boolean

Si el jugador emplea o no la función del foro.

items_used
boolean

Si el jugador usa o no artículos comprados en el juego.

karma_points
integer

Karma del jugador.

last_change_password_date
string

Fecha del último cambio de contraseña conforme a la norma ISO 8601.

non_premium_currency
integer <float>

Importe de la moneda no prémium.

notifications_enabled
boolean

Si el jugador habilitó o no las notificaciones.

profile_completed
boolean

Si el jugador añadió o no información adicional a su perfil.

profile_image_added
boolean

Si el jugador ha subido o no una imagen de perfil.

pvp_activity
boolean

Si el jugador participa o no en combates JvJ.

registration_date
string

Fecha de creación de la cuenta conforme a la norma ISO 8601.

session_time
string

Duración media de sesión conforme a la norma ISO 8601.

social_networks_added
boolean

Si el jugador ha conectado o no perfiles de redes sociales.

total_bans
integer

Número de veces que el jugador fue expulsado del chat/foro.

total_characters
integer

Número de personajes dentro del juego.

total_clans
integer

Número de clanes a los que pertenece el jugador.

total_friends
integer

Número de amigas/os.

total_game_events
integer

Número de eventos internos del juego en los que participó el jugador.

total_gifts
integer

Número de regalos internos del juego que el jugador ha enviado/recibido.

total_hours
integer

Número total de horas dentro del juego.

total_inventory_value
integer <float>

Valor total del inventario (moneda del juego).

total_sum
integer <float>

Importe total de los pagos.

tutorial_completed
boolean

Si el jugador ha finalizado o no el tutorial del juego.

unlocked_achievements
integer

Número de logros desbloqueados.

user_level
integer

Nivel, reputación o rango del jugador.

win_rate
integer

Índice de victorias.

object

Objeto que contiene los detalles de la compra.

object

Objeto que contiene los detalles del pago.

amount
integer <float>

Importe de la compra.

currency
string

Moneda de la compra. Código de moneda de tres letras de conformidad con la norma ISO 4217.

object

Datos de la suscripción.

available_plans
Array of strings

Planes de suscripción que deben aparecer en la interfaz de pago.

currency
string

Moneda del plan de suscripción que debe usarse en todos los cálculos.

object

Detalles de la suscripción regalada.

recipient
required
string

ID del destinatario.

email
required
string

Correo electrónico del destinatario.

anonymous
boolean

Si se oculta o no el nombre de la persona que hace el regalo. Si es true, el nombre del remitente se oculta en la notificación por correo electrónico. Por defecto es false.

message
string

Mensaje para el destinatario.

redirect_url
string

Introduzca aquí un enlace a una página con información adicional sobre la suscripción regalada o a la página de creación de la cuenta. El destinatario del regalo puede acceder a esta página desde la notificación por correo electrónico del regalo de suscripción.

operation
string

El tipo de operación aplicado al plan de suscripción del usuario. Para cambiar el plan de suscripción, transmite el valor change_plan. Debes especificar el ID del nuevo plan en el parámetro purchase.subscription.plan_id.

plan_id
string

ID externo del plan de suscripción. Puede encontrarse en la sección Suscripciones > Planes de suscripción de la Cuenta del editor.

product_id
string

ID del producto.

trial_days
integer

Periodo de prueba en días.

object

Ajustes del proyecto personalizados.

project_id
required
integer

ID en Xsolla del juego. Se puede encontrar en Cuenta del editor.

currency
string

Moneda preferida para la compra. Código de moneda de tres letras de conformidad con la norma ISO 4217.

external_id
string

ID de la transacción dentro del juego. Debe ser único para cada pago del usuario.

language
string

Idioma de la interfaz. Código de idioma de dos letras minúsculas.

mode
string

Establécelo en sandbox para probar el proceso de pago. En este caso, usa https://sandbox-secure.xsolla.com para acceder a la interfaz de pago de prueba.

payment_method
integer

ID del método de pago.

payment_widget
string

Widget de pago. Puede ser paybycash o giftcard. Si se establece el parámetro, al usuario se le redirige al widget "Pagar en efectivo" o "Tarjetas regalo", respectivamente.

Enum: "paybycash" "giftcard"
object

Ajustes de las directivas de redireccionamiento.

autoredirect_from_status_page
boolean

Si redirige automáticamente o no desde la página de estado.

delay
integer

Retraso (en segundos) tras el cual a un usuario se le redirige automáticamente a la URL de retorno.

manual_redirection_action
string

Comportamiento de Pay Station que se desencadena cuando el usuario pulsa el botón cerrar o el botón Volver al juego. Puede ser redirect (por defecto) y postmessage. Si se establece como redirect, al usuario se le redirige a la URL transmitida en el token o especificada en la Cuenta del editor. Si se establece como postmessage, al usuario no se le redirige a otras páginas. Al pulsar en el icono de cerrar, se inicia el envío del evento close, y al pulsar en el botón Volver al juego, se inicia el evento return.

Enum: "redirect" "postmessage"
redirect_button_caption
string

Texto del botón para el redireccionamiento manual.

redirect_conditions
string

Estado del pago por el que se redirige a un usuario a la URL de retorno. Puede ser none, successful, "successful_or_canсeled" o any.

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

Se muestra el estado del pago por el que se redirige a un usuario a la URL de retorno. Puede ser none, successful, "successful_or_canсeled" o any.

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

Página a la que se redirige al usuario tras el pago. Los parámetros user_id, foreigninvoice, invoice_id y status se añadirán automáticamente al enlace.

object

Ajustes de la interfaz.

object

Ajustes del menú.

object

Ajustes del submenú de planes de suscripción.

hidden
boolean

Si se muestra o no el submenú.

order
integer

Posición del submenú en el menú.

object

Ajustes del submenú de moneda virtual.

custom_amount
boolean

Si el usuario puede ingresar o no una cantidad arbitraria de moneda virtual en la interfaz de pago.

hidden
boolean

Si se muestra o no el submenú.

order
integer

Posición del submenú en el menú.

object

Ajustes del submenú de artículos virtuales.

hidden
boolean

Si se muestra o no el submenú.

order
integer

Posición del submenú en el menú.

selected_group
string

Grupo que se mostrará tras abrir la pestaña de artículos virtuales.

selected_item
string

Artículo que se mostrará tras abrir la pestaña de artículos virtuales (código de artículo —SKU—).

object

Ajustes de la interfaz para la versión de escritorio.

object

Ajustes del encabezado.

close_button
boolean

Si se muestra o no un botón "Cerrar" en el escritorio de Pay Station. El botón cierra Pay Station y redirige al usuario a la URL definida en el parámetro settings.return_url. Por defecto es false.

is_visible
boolean

Si se muestra o no el encabezado en la interfaz de pago.

type
string

Cómo mostrar el encabezado. Puede ser compact (oculta el nombre del proyecto y el ID del usuario) o normal (por defecto).

Enum: "compact" "normal"
visible_logo
boolean

Si es true, el encabezado mostrará tu logotipo (primero facilita la imagen a tu Gestor de éxito del cliente).

visible_name
boolean

Si se muestra o no el nombre del proyecto en el encabezado.

visible_purchase
boolean

Si se muestra o no la descripción de la compra (purchase.description.value) en el encabezado. Por defecto es true.

object

Configuración de la lista de planes de suscripción.

description
string

Cualquier texto que se muestre encima de la lista de planes de suscripción disponibles en la interfaz de pago.

display_local_price
boolean

Si es true, y si la moneda local del usuario difiere de la establecida para el plan de suscripción, el usuario podrá ver ambos precios: uno en la moneda local y otro en la moneda básica.

layout
string

Plantilla de lista. Puede ser list (por defecto) o grid.

Enum: "list" "grid"
object

Configuración de la lista de monedas virtuales.

button_with_price
boolean

Si es true, el precio aparecerá en el botón. Si es false, el precio aparecerá a la izquierda del botón. Por defecto es false.

description
string

Cualquier texto que se vaya a mostrar encima de la lista de monedas virtuales.

object

Configuración de la lista de artículos virtuales.

button_with_price
boolean

Si es true, el precio aparecerá en el botón. Si es false, el precio aparecerá a la izquierda del botón. Por defecto es false.

layout
string

Plantilla de lista. Puede ser list (por defecto) o grid.

Enum: "list" "grid"
view
string

Mostrar grupos de artículos virtuales como un menú vertical/horizontal. Puede ser horizontal_navigation o vertical_navigation (por defecto).

Enum: "horizontal_navigation" "vertical_navigation"
object
visible_virtual_currency_balance
boolean

Si este elemento puede ocultarse o no en la interfaz de pago. true por defecto.

is_prevent_external_link_open
boolean

Si se deshabilita o no el redireccionamiento de enlaces a un recurso externo. true por defecto. Al pulsar en un enlace externo, el evento external-link-open se envía mediante el mecanismo postMessage. La dirección del enlace redirigido se transmite en el parámetro url.

license_url
string

Enlace al EULA (contrato de licencia de usuario final).

object
object
is_visible
boolean

Si se oculta o no el pie de página en la versión móvil de la interfaz de pago.

object
close_button
boolean

Si se muestra o no un botón "Cerrar" en la versión móvil de Pay Station. El botón cierra Pay Station y redirige al usuario a la URL definida en el parámetro settings.return_url. Por defecto es false.

mode
string

Un usuario solamente puede pagar usando sus métodos de pago guardados. Pueden ser saved_accounts.

Value: "saved_accounts"
mode
string

Modo de interfaz en Pay Station. Solo puede ser user_account. El encabezado sólo contiene el menú de navegación de la cuenta, y el usuario no puede seleccionar un producto ni hacer un pago. Este modo únicamente está disponible en la versión de escritorio.

size
string

Tamaño de la interfaz de pago. Puede ser:

  • pequeño: el menor tamaño posible de la interfaz de pago. Utiliza este valor cuando el tamaño de la ventana esté muy limitado (dimensiones: 620 x 630)
  • mediano: tamaño recomendado. Utiliza este valor para mostrar la interfaz de pago en una caja de luz (dimensiones: 740 x 760)
  • grande: el tamaño óptimo para mostrar la interfaz de pago en una nueva ventana o pestaña (dimensiones: 820 x 840)
Enum: "small" "medium" "large"
theme
string

Tema de la interfaz de pago. Puede ser default o default_dark.

Enum: "default" "default_dark"
object

Datos de la cuenta del usuario.

object

Submenú de Historial .

enable
boolean

Mostrar o no el submenú. false por defecto.

order
integer

Posición del submenú en el menú.

object

Página Mi cuenta.

enable
boolean

Mostrar o no el submenú. false por defecto.

order
integer

Posición del submenú en el menú.

object

Submenú Mis cuentas de pago.

enable
boolean

Mostrar o no el submenú. false por defecto.

order
integer

Posición del submenú en el menú.

object

Submenú Administrar suscripciones.

enable
boolean

Mostrar o no el submenú. false por defecto.

order
integer

Posición del submenú en el menú.

version
string

Tipo de dispositivo. Puede ser desktop (por defecto) o mobile.

Enum: "desktop" "mobile"
object

Datos del usuario.

required
object
value
required
string

ID de usuario.

age
integer

Edad del usuario.

attributes
object

Atributos de usuario para filtrar la lista de artículos, representados como un conjunto JSON válido de pares clave-valor.

object
allow_modify
boolean

Si el usuario puede cambiar o no el país en la interfaz de pago. Si se transmite country.value en el token, el valor es false por defecto.

value
string

Código de país de dos letras mayúsculas de conformidad con la norma ISO 3166-1 alpha-2.

object

El objeto user.email es un componente fundamental del desarrollo de los modelos antifraude y contribuye a aumentar los índices de aceptación. Es un requisito para Xsolla y para los sistemas de pago. Si no se transmite el parámetro, el campo obligatorio para introducir el correo electrónico aparece en la página de pago. Un usuario recibe un recibo de compra en su correo electrónico transmitido en el parámetro o insertado en la página de pago.

value
required
string

Correo electrónico del usuario. Debe ser válido conforme al protocolo RFC 822.

is_legal
boolean

Si el usuario es una entidad jurídica.

object

Objeto con datos de la entidad jurídica. El objeto y todos sus parámetros son obligatorios si user.is_legal es true.

address
string

Dirección legal completa.

country
string

País de constitución. Código de país de dos letras mayúsculas de conformidad con la norma ISO 3166-1 alpha-2.

name
string

Nombre legal completo.

vat_id
string

Identificador del contribuyente individual.

object
value
string

Nombre de pantalla del usuario.

object
value
string

Número de teléfono del usuario.

object
value
string

Parámetro que identifica de forma unívoca al usuario y que este conoce (correo electrónico, nombre de usuario, etc.). Permite al usuario hacer compras fuera de la tienda del juego (p. ej., a través de quioscos de efectivo).

object
value
string

ID de Steam.

object
value
string

ID único de seguimiento (empleado en campañas de marketing).

object

Atributos de tráfico.

utm_campaign
string

Título de la campaña, transliterado o traducido al inglés.

utm_content
string

Contenido de campaña.

utm_medium
string

Canal de tráfico (anuncios contextuales, anuncios en medios de comunicación, listas de correo electrónico, etc.).

utm_source
string

Fuente de tráfico.

utm_term
string

Palabras clave de la campaña. Si están establecidas, las estadísticas dependerán de las palabras clave utilizadas para la segmentación de los anuncios, en vez de en consultas de búsqueda específicas. En Google Analytics, el utm_term especificado forma parte del informe de términos de búsqueda general.

Responses
200

Creado.

422

Entidad no procesable.

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