# Crear token Puede generar un token con parámetros de usuario arbitrarios. Envía dichos parámetros al obtener el token y los recupera tras realizarse un pago. Un token solo puede incluir los parámetros mencionados en este documento o que haya definido previamente. Si se envía algún parámetro con un formato o de tipo incorrecto, no se generará ningún token. Aparecerá el código HTTP 422 junto con la descripción del error en el cuerpo JSON. En extended_message encontrará los detalles exactos de los parámetros que se han enviado incorrectamente. Por defecto, el ciclo de vida del token es de 24 horas. Si quiere cambiar este valor, contacte con su gestor del éxito del cliente o envíe un correo electrónico a csm@xsolla.com. El nuevo valor se habilitará para todos los proyectos de su empresa creados en Cuenta del editor. AvisoEl token que obtiene tras solicitar este método API solo se puede utilizar para autorizar otras solicitudes. Puede utilizar este token para abrir la interfaz de pago si tiene integrado el producto Subscriptions.Para abrir la interfaz de pago en una nueva ventana, utilice el siguiente enlace: https://secure.xsolla.com/paystation4/?token={token}, en el cual {token} es el token recibido. Para realizar pruebas, utilice esta URL: https://sandbox-secure.xsolla.com/paystation4/?token={token}. AvisoEsta llamada API no contiene el parámetro de ruta project_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. Endpoint: POST /merchants/{merchant_id}/token Version: 2.0 Security: basicAuth ## Path parameters: - `merchant_id` (integer, required) ID de vendedor. ## Request fields (application/json): - `custom_parameters` (object) Este objeto contiene parámetros destinados a configurar los filtros antifraude. La lista de parámetros se muestra a continuación. Para agregar parámetros personalizados, contacte con su gestor del éxito del cliente o envíe un correo electrónico a [csm@xsolla.com](mailto:csm@xsolla.com). - `custom_parameters.active_date` (string) Fecha de última visita conforme a la norma [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). - `custom_parameters.additional_verification` (boolean) Si el jugador usa o no procedimientos de verificación de cuenta. - `custom_parameters.character_customized` (boolean) Si el jugador ha personalizado o no su personaje. - `custom_parameters.chat_activity` (boolean) Si el jugador emplea o no la función de chat. - `custom_parameters.completed_tasks` (integer) Número de tareas/objetivos realizados/alcanzados. - `custom_parameters.forum_activity` (boolean) Si el jugador emplea o no la función del foro. - `custom_parameters.items_used` (boolean) Si el jugador usa o no artículos comprados en el juego. - `custom_parameters.karma_points` (integer) Karma del jugador. - `custom_parameters.last_change_password_date` (string) Fecha del último cambio de contraseña conforme a la norma [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). - `custom_parameters.non_premium_currency` (number) Importe de la moneda no prémium. - `custom_parameters.notifications_enabled` (boolean) Si el jugador habilitó o no las notificaciones. - `custom_parameters.profile_completed` (boolean) Si el jugador añadió o no información adicional a su perfil. - `custom_parameters.profile_image_added` (boolean) Si el jugador ha subido o no una imagen de perfil. - `custom_parameters.pvp_activity` (boolean) Si el jugador participa en batallas PvP (jugadores contra jugadores). - `custom_parameters.registration_date` (string) Fecha de creación de la cuenta conforme a la norma [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). - `custom_parameters.session_time` (string) Duración media de sesión conforme a la norma [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). - `custom_parameters.social_networks_added` (boolean) Si el jugador ha conectado o no perfiles de redes sociales. - `custom_parameters.total_bans` (integer) Número de veces que el jugador fue expulsado del chat/foro. - `custom_parameters.total_characters` (integer) Número de personajes dentro del juego. - `custom_parameters.total_clans` (integer) Número de clanes a los que pertenece el jugador. - `custom_parameters.total_friends` (integer) Número de amigas/os. - `custom_parameters.total_game_events` (integer) Número de eventos internos del juego en los que participó el jugador. - `custom_parameters.total_gifts` (integer) Número de regalos internos del juego que el jugador ha enviado/recibido. - `custom_parameters.total_hours` (integer) Número total de horas dentro del juego. - `custom_parameters.total_inventory_value` (number) Valor total del inventario (moneda del juego). - `custom_parameters.total_sum` (number) Importe total de los pagos. - `custom_parameters.tutorial_completed` (boolean) Si el jugador ha finalizado o no el tutorial del juego. - `custom_parameters.unlocked_achievements` (integer) Número de logros desbloqueados. - `custom_parameters.user_level` (integer) Nivel, reputación o rango del jugador. - `custom_parameters.win_rate` (integer) Índice de victorias. - `purchase` (object) Objeto con los detalles de la compra. - `purchase.subscription` (object) Datos de la suscripción. - `purchase.subscription.available_plans` (array) Planes de suscripción que deben aparecer en la interfaz de pago. - `purchase.subscription.currency` (string) Moneda del plan de suscripción que debe usarse en todos los cálculos. - `purchase.subscription.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. - `purchase.subscription.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. - `purchase.subscription.product_id` (string) ID del producto. - `purchase.subscription.trial_days` (integer) Periodo de prueba en días. - `settings` (object) Configuración del proceso de pago y de la interfaz de pago para un usuario. - `settings.currency` (string) Moneda preferida para la compra. Código de moneda de tres letras de conformidad con la norma [ISO 4217](https://developers.xsolla.com/es/doc/pay-station/references/supported-currencies/). - `settings.external_id` (string) ID de transacción en el juego. Debe ser distinto para cada pago de usuario. Consulta la documentación para obtener información detallada. - `settings.language` (string) Idioma de la interfaz. [Código de idioma](https://developers.xsolla.com/es/doc/pay-station/features/localization/) de dos letras minúsculas. - `settings.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. - `settings.payment_method` (integer) ID del método de pago. - `settings.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" - `settings.project_id` (integer, required) ID en Xsolla del juego. Se puede encontrar en Cuenta del editor. - `settings.redirect_policy` (object) Ajustes de las directivas de redireccionamiento. - `settings.redirect_policy.delay` (integer) Retraso (en segundos) tras el cual a un usuario se le redirige automáticamente a la URL de retorno. - `settings.redirect_policy.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" - `settings.redirect_policy.redirect_button_caption` (string) Texto del botón para el redireccionamiento manual. - `settings.redirect_policy.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" - `settings.redirect_policy.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" - `settings.return_url` (string) URL de la página a la que se redirige al usuario tras el pago. Consulta la documentación para obtener información detallada sobre la configuración de redirecciones. - `settings.ui` (object) Ajustes de la interfaz. - `settings.ui.apple_pay_quick_payment_button` (boolean) Si se muestra o no el botón de pago rápido a través de Apple Pay en la parte superior de la interfaz de pago en los dispositivos admitidos. Es true por defecto. Si es false, Apple Pay aparece en la lista de métodos de pago según el algoritmo de [PayRank](/es/doc/pay-station/how-to/how-to-manage-top-payment-methods/). NotaEn dispositivos Android y en cualquier otro dispositivo que no admita pagos con Apple Pay, este método de pago quedará oculto en la lista de métodos disponibles, con independencia del valor del parámetro. - `settings.ui.components` (object) Ajustes del menú. - `settings.ui.components.subscriptions` (object) Ajustes del submenú de planes de suscripción. - `settings.ui.components.subscriptions.hidden` (boolean) Si se muestra o no el submenú. - `settings.ui.components.subscriptions.order` (integer) Posición del submenú en el menú. - `settings.ui.components.virtual_currency` (object) Ajustes del submenú de moneda virtual. - `settings.ui.components.virtual_currency.custom_amount` (boolean) Si el usuario puede ingresar o no una cantidad arbitraria de moneda virtual en la interfaz de pago. - `settings.ui.components.virtual_items` (object) Ajustes del submenú de artículos virtuales. - `settings.ui.components.virtual_items.selected_group` (string) Grupo que se mostrará tras abrir la pestaña de artículos virtuales. - `settings.ui.components.virtual_items.selected_item` (string) Artículo que se mostrará tras abrir la pestaña de artículos virtuales (código de artículo —SKU—). - `settings.ui.currency_format` (string) Establecer en code para mostrar un código de moneda [ISO 4217](https://developers.xsolla.com/es/doc/pay-station/references/supported-currencies/) de tres letras en la interfaz de pago. Por defecto, se muestra el símbolo de moneda en lugar del código de moneda de tres letras. - `settings.ui.desktop` (object) Ajustes de la interfaz para la versión de escritorio. - `settings.ui.desktop.header` (object) Ajustes del encabezado. - `settings.ui.desktop.header.close_button` (boolean) Mostrar o no el botón Close* (Cerrar) en la interfaz de pago. El botón cierra la interfaz de pago y redirige al usuario a la URL especificada en el parámetro settings.return_url. Por defecto es false. - `settings.ui.desktop.header.close_button_icon` (string) El icono del botón Cerrar en la interfaz de pago. Enum: "arrow", "cross" - `settings.ui.desktop.header.is_visible` (boolean) Si se muestra o no el encabezado en la interfaz de pago. - `settings.ui.desktop.header.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" - `settings.ui.desktop.header.visible_logo` (boolean) Si es true, el logotipo se muestra en el encabezado. Para subir una imagen, abra su proyecto en [Cuenta del editor](https://publisher.xsolla.com/) y vaya a la sección Pay Station > Settings. - `settings.ui.desktop.header.visible_name` (boolean) Si se muestra o no el nombre del proyecto en el encabezado. - `settings.ui.desktop.header.visible_purchase` (boolean) Si se muestra o no la descripción de la compra (purchase.description.value) en el encabezado. Por defecto es true. - `settings.ui.desktop.subscription_list` (object) Configuración de la lista de planes de suscripción. - `settings.ui.desktop.subscription_list.description` (string) Cualquier texto que se muestre encima de la lista de planes de suscripción disponibles en la interfaz de pago. - `settings.ui.desktop.subscription_list.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. - `settings.ui.gp_quick_payment_button` (boolean) La forma en que se muestra el método de pago Google Pay. Si es true, el botón de pago rápido mediante Google Pay se muestra en la parte superior de la interfaz de pago, independientemente del dispositivo y del navegador del usuario. Si es false, Google Pay aparece en la lista de métodos de pago según el algoritmo [PayRank](/es/doc/pay-station/how-to/how-to-manage-top-payment-methods/). Si no se transmite el parámetro, Google Pay se muestra en la parte superior de la interfaz de pago en los dispositivos y navegadores de cualquier usuario, salvo en Safari; en este sistema operativo se muestra en la lista de métodos de pago. - `settings.ui.header` (object) - `settings.ui.header.visible_virtual_currency_balance` (boolean) Si este elemento puede ocultarse o no en la interfaz de pago. true por defecto. - `settings.ui.is_cart_open_by_default` (boolean) La visualización de la lista de artículos de la cesta y los datos financieros en la interfaz de pago. Si es true, la información se muestra en una vista ampliada. Si es false (por defecto) o no se transmiten los parámetros, la información se muestra en una vista contraída. - `settings.ui.is_independent_windows` (boolean) Si se redirige a los usuarios desde el navegador del lanzador incrustado (WebView) a su navegador predeterminado para realizar una compra. false por defecto. - `settings.ui.is_language_selector_hidden` (boolean) Si el selector del idioma está oculto en la página de pago. Si es false (por defecto), se mostrará el selector. - `settings.ui.is_payment_methods_list_mode` (boolean) Si se muestra la lista de métodos de pago disponibles en el país del usuario al abrir la interfaz de pago. Si es false (opción por defecto), se muestra el método de pago transmitido en el parámetro settings.payment_method o el método seleccionado por el [algoritmo de PayRank](https://developers.xsolla.com/es/solutions/payments/payment-ui-management/top-payment-methods-management/). - `settings.ui.is_prevent_external_link_open` (boolean) Si se desactiva o no la redirección de enlaces a un recurso externo. false por defecto. Al hacer clic en un enlace externo, se envía el evento external-link-open a través del mecanismo postMessage. La dirección del enlace redirigido se transmite en el parámetro url. - `settings.ui.is_search_field_hidden` (boolean) Si se muestra o no una barra del método de pago en la interfaz de pago. Si es true, la barra de búsqueda se oculta. Es false por defecto. - `settings.ui.is_show_close_widget_warning` (boolean) Si se muestra un aviso sobre el procesamiento de la transacción al pasar el ratón por encima del icono × antes de cerrar la página de pago. Si se transmite false o no se transmite el parámetro, no se mostrará el aviso. true por defecto. - `settings.ui.is_three_ds_independent_windows` (boolean) Si se abre o no la verificación de 3D Secure en una nueva ventana del navegador. Si su configuración aplica una Política de seguridad de contenidos (CSP), establézcala como true. - `settings.ui.layout` (string) Ubicación de los principales elementos de la interfaz de pago. Puedes abrir la interfaz de pago dentro de tu juego o intercambiar las columnas con información sobre un pedido y los métodos de pago. Consulta las [instrucciones de personalización](https://developers.xsolla.com/es/doc/pay-station/features/ui-theme-customization/#pay_station_ui_theme_customization_layout) para obtener información detallada. Enum: "embed", "column_reverse", "embed_column_reverse" - `settings.ui.mobile` (object) - `settings.ui.mode` (string) Modo de visualización de la interfaz de pago para gestionar los métodos de pago guardados. Puede establecerse como user_account u omitirse. En este modo, el usuario solamente puede cambiar el idioma, agregar nuevos métodos de pago y eliminar los existentes. ObservaciónCuando se transmite este parámetro, no se muestra el botón de redireccionamiento. Para redirigir a un usuario tras guardar un método de pago, configure los redireccionamientos automáticos. - `settings.ui.theme` (string) Tema de interfaz de pago. Puede ser 63295a9a2e47fab76f7708e1 para el tema claro (por defecto) o 63295aab2e47fab76f7708e3 para el tema oscuro. También puede [crear un tema personalizado](https://developers.xsolla.com/es/doc/pay-station/features/ui-theme-customization/#pay_station_ui_theme_customization_in_token) y transmitir el ID del tema en este parámetro. Enum: "63295a9a2e47fab76f7708e1", "63295aab2e47fab76f7708e3" - `settings.ui.user_account` (object) Datos de la cuenta del usuario. - `settings.ui.user_account.payment_accounts` (object) Sección Métodos guardados. - `settings.ui.user_account.payment_accounts.enable` (boolean) Especifica si se muestra el icono del lápiz en la interfaz de usuario de pago que va a la página de edición del método de pago. true por defecto. - `settings.ui.user_account.payment_accounts.order` (integer) Posición de la sección en la lista desplegable de la interfaz de pago. Es necesario si se transmite settings.ui.user_account.payment_accounts.enable. - `user` (object) Datos del usuario. - `user.age` (integer) Edad del usuario. - `user.attributes` (object) Atributos de usuario para filtrar la lista de artículos, representados como un conjunto JSON válido de pares clave-valor. - `user.country` (object) - `user.country.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. - `user.country.value` (string) Código de país de dos letras mayúsculas de conformidad con la norma [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). - `user.email` (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 el correo electrónico transmitido en el parámetro o introducido en la página de pago. - `user.email.allow_modify` (boolean) Si un usuario puede introducir su correo electrónico en la interfaz de pago. Si el parámetro user.email.value se transmite en el token, el valor es false por defecto. - `user.email.value` (string, required) Correo electrónico del usuario. Debe ser válido conforme al protocolo [RFC 822](https://www.w3.org/Protocols/rfc822/#z8). - `user.id` (object, required) - `user.id.value` (string, required) ID único de usuario en el juego que está almacenado en su lado. Asegúrese de transmitir el ID de usuario existente. Si se produce un error, consulte las [respuestas a las Preguntas frecuentes](/es/doc/pay-station/references/faq/#faq_validation). - `user.is_legal` (boolean) Si el usuario es una entidad jurídica. - `user.legal` (object) Objeto con datos de la entidad jurídica. El objeto y todos sus parámetros son obligatorios si user.is_legal es true. - `user.legal.address` (string) Dirección legal completa. - `user.legal.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](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). - `user.legal.name` (string) Nombre legal completo. - `user.legal.vat_id` (string) Identificador del contribuyente individual. - `user.name` (object) - `user.name.allow_modify` (boolean) Si un usuario puede introducir su nombre en la interfaz de pago. Si el parámetro user.name.value se transmite en el token, el valor es false por defecto. - `user.name.value` (string) Nombre de pantalla del usuario. - `user.phone` (object,null) - `user.phone.value` (string) Número de teléfono del usuario. - `user.public_id` (object) - `user.public_id.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). - `user.steam_id` (object) - `user.steam_id.value` (string) ID de Steam. - `user.tracking_id` (object) - `user.tracking_id.value` (string) ID único de usuario: se utiliza en campañas de marketing. Puede contener dígitos y caracteres latinos. - `user.utm` (object) Atributos de tráfico. - `user.utm.utm_campaign` (string) Título de la campaña, transliterado o traducido al inglés. - `user.utm.utm_content` (string) Contenido de campaña. - `user.utm.utm_medium` (string) Canal de tráfico (anuncios contextuales, anuncios en medios de comunicación, listas de correo electrónico, etc.). - `user.utm.utm_source` (string) Fuente de tráfico. - `user.utm.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. ## Response 200 fields (application/json): - `token` (string) ## Response 422 fields (application/json): - `extended_message` (object) - `extended_message.global_errors` (array) - `extended_message.property_errors` (object) El objeto contiene nombres de parámetros con descripciones de errores. - `http_status_code` (integer) - `message` (string) - `request_id` (string)