Xsolla-logo

Crear token de pago para la compraServer-side

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

Genera un pedido y un token de pago para el mismo. El pedido se genera en función de los artículos transmitidos en el cuerpo de la solicitud.

Para abrir la interfaz de usuario para pagos 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}.

Aviso

El parámetro user.country.value se usa para seleccionar una moneda para el pedido. Si se desconoce el país del usuario, otra opción es proporcionar la IP del usuario en el encabezado X-User-Ip.
Se requiere una de estas dos opciones para el correcto funcionamiento de este método.
La moneda seleccionada se usa para los métodos de pago en Pay Station.
SecuritybasicAuth
Request
path Parameters
project_id
required
integer

ID del proyecto. Encontrará este parámetro en su Cuenta del editor junto al nombre del proyecto.

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

ID de usuario. Para realizar pruebas, puede transmitir cualquier valor. Para aceptar pagos reales, debe usar el valor de ID de usuario de su sistema. Este ID se transmite en el webhook User validation.

age
integer

Edad del usuario.

attributes
object [ 1 .. 100 ] items

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

Si el usuario puede o no cambiar el país en la interfaz de pago.

value
string

Código de país de dos letras en mayúsculas de conformidad con la norma ISO 3166-1 alpha-2. Se requiere si no se transmite una dirección IP en el encabezado X-User-Ip. Consulte la documentación para obtener información detallada sobre los países admitidos por Xsolla.
Ejemplo: country=US.

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

Correo electrónico del usuario. Debe ser válido según el 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 [ 1 .. 255 ] characters

Nombre de pantalla del usuario.

object
value
required
string

Número de teléfono del usuario.

allow_modify
boolean
Default: false

Si el usuario puede o no cambiar el teléfono en la interfaz de pago. Si se transmite phone.value en el token, el valor es false por defecto.

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

ID de Steam.

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

ID único de seguimiento (utilizado 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

Palabra clave de la campaña. Si se establece, las estadísticas se basarán en las palabras clave usadas para la segmentación de los anuncios en lugar de en consultas de búsqueda específicas. En Google Analytics, el valor del utm_term especificado forma parte del informe de términos de búsqueda generales.

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

ID único del artículo. El código de un artículo (SKU) solo puede contener caracteres alfanuméricos latinos en minúsculas, puntos, guiones y guiones bajos.

quantity
required
number >= 1

Cantidad del artículo.

object or null [ 1 .. 200 ] properties

Sus parámetros personalizados representados como un conjunto JSON válido de pares clave-valor.
Puede transmitir parámetros adicionales a través de este campo para configurar filtros antifraude. Consulte la documentación de Pay Station.

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

Seleccione true para probar el proceso de pago. En este caso, utilice https://sandbox-secure.xsolla.com para acceder a la interfaz de pago de prueba.

object

Configuración del proceso de pago y de la interfaz de pago para un usuario.

currency
string

Moneda de compra preferida. Código de moneda de tres letras de conformidad con la norma ISO 4217. Consulte la documentación para obtener información detallada sobre las monedas admitidas por Xsolla.

external_id
string [ 1 .. 255 ] characters

ID externo de la transacción.

language
string

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

payment_method
integer >= 1

ID del método de pago. Determina la visualización de la moneda en la interfaz de pago, ya que algunos métodos de pago solamente admiten determinadas monedas.

object
delay
integer

Retraso tras el cual el usuario será redirigido automáticamente a la URL de retorno.

redirect_button_caption
string

Subtítulos localizados de los botones de redireccionamiento.

redirect_conditions
string

Estado del pago que activa el redireccionamiento del usuario a la URL de retorno.

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

Estado del pago que desencadena la visualización de la pulsación de un botón que redirige al usuario a la URL de retorno.

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

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

object

Ajustes de la interfaz.

currency_format
string

Establecer en code para mostrar un código de moneda ISO 4217 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.

object

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

object

Ajustes del encabezado.

close_button
boolean
Default: false

Si se muestra o no un botón Close en la interfaz de pago de escritorio. El botón cierra la interfaz de pago y redirige al usuario a la URL especificada en el parámetro settings.return_url. false por defecto.

is_visible
boolean

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

type
string
Default: "normal"

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 true, el logotipo aparece en la cabecera. Para cargar la imagen, abra su proyecto en Cuenta de editor y vaya a la sección Pay Station > Configuración.

visible_name
boolean

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

visible_purchase
boolean
Default: true

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

object
visible_virtual_currency_balance
boolean
Default: true

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

is_cart_open_by_default
boolean
Default: false

La visualización de la lista de artículos en la cesta cuando se abre la versión móvil de la interfaz de pago. Si es true, la lista se muestra en una vista ampliada. Si es false (por defecto) o no se transmiten los parámetros, la lista se muestra en una vista contraída.

is_independent_windows
boolean
Default: false

Si se redirige o no a los usuarios desde el navegador del lanzador incrustado (WebView) a su navegador predeterminado para realizar una compra.

is_payment_methods_list_mode
boolean
Default: false

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.

is_prevent_external_link_open
boolean
Default: false

Si se deshabilita o no el redireccionamiento de enlaces a un recurso externo. 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.

is_show_close_widget_warning
boolean
Default: true

Si se muestra una advertencia 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á la advertencia.

is_three_ds_independent_windows
boolean
Default: false

Si se abre o no la verificación de 3-D Secure en una nueva ventana del navegador. Transmita true si utiliza la Política de seguridad de contenidos (CSP).

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 para obtener información detallada.

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

Si se muestra o no un botón Close en la interfaz de pago móvil. El botón cierra la interfaz de pago y redirige al usuario a la URL especificada en el parámetro settings.return_url.

mode
string

Modo de interfaz en la interfaz de pago. Solo puede ser user_account. El encabezado solo 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.

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

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 y transmitir el ID del tema en este parámetro.

Enum: "63295a9a2e47fab76f7708e1" "63295aab2e47fab76f7708e3"
object

Datos de la cuenta del usuario.

object

Página Mi cuenta.

enable
required
boolean
Default: false

Si se muestra o no el submenú. false por defecto.

order
required
integer >= 1

Posición del submenú en el menú.

object

Submenú Mis cuentas de pago.

enable
required
boolean
Default: false

Si se muestra o no el submenú. false por defecto.

object

Submenú Gestionar suscripciones.

enable
required
boolean
Default: false

Si se muestra o no el submenú. false por defecto.

order
required
integer >= 1

Posición del submenú en el menú.

Responses
201

Token de pago y pedido creados correctamente.

401

Autenticación básica no superada o errónea. Asegúrese de haber utilizado la autenticación básica o las credenciales correctas.

422

Error de validación del cuerpo de la solicitud y de creación de la cesta.

  • Cesta no válida, creada a partir de artículos transferidos. Comprueba que la cesta no esté vacía y que todos los artículos no sean gratuitos.
  • Cuerpo de la solicitud no válido.
Request samples
application/json
{
  • "purchase": {
    },
  • "settings": {
    },
  • "user": {
    }
}
Response samples
application/json
{
  • "order_id": 12345,
  • "token": "huooAqbXBSJxB8Q4dYBqJp4ybiInqsPb"
}