• Francia
página de estado
demo
asistencia
FAQContacte el soporte tecnico
Buscar
Categoria
Tags
docs.
Francia
España
Europa (Inglés)
India
Página principal
Casos de uso
Crear un pago
Crear un pago en vencimientos
Crear un pago multitarjeta
Crear un pago por token
Crear un enlace de pago
Crear una suscripción
Gestione sus suscripciones
Gestione sus transacciones
Analizar los diarios
Docs API
Formulario incrustado
API REST
Formulario en redirección
Pago móvil
Intercambio de ficheros
Ejemplo de código
Medios de pago
Plugins
Guías
Back office Experto
Guías funcionales

Gestión de los wallets de comprador

Un wallet (billetera electrónica) permite que el comprador pueda almacenar varias tarjetas de pago y elegir la que desea utilizar en el momento de la compra, sin tener que ingresar su número de tarjeta.

La plataforma de pago almacena los datos bancarios de conformidad con las normas del RGPD (Reglamento General de Proteccion De Datos).

Le formulaire embarqué (smartForm) est compatible avec un Wallet (en intégrant le champ formAction avec la valeur CUSTOMER_WALLET) uniquement en "Mode liste" ou en "Mode pop-in

  • Principio de uso
  • Medios de pago admisibles
  • Implementación
  • Casos de uso

Principio de uso

  1. Cuando se muestra el formulario, el comprador tiene varias opciones:
  • pagar sin guardar el medio de pago,
  • pagar y guardar su medio de pago.
  1. Si el comprador elige guardar los datos del medio de pago, la plataforma de pago los almacena y los vincula a su referencia de comprador (wallet del comprador).

  2. En su próxima compra, el comprador tendrá varas opciones posibles:

  • pagar utilizando un medio de pago guardado previamente en su wallet de comprador,
  • pagar con un nuevo medio de pago y añadirlo a su wallet de comprador,
  • pagar con un nuevo medio de pago sin añadirlo a su wallet de comprador,
  • eliminar un medio de pago guardado previamente en su wallet de comprador.

No se ofrecen los medios de pago expirados.

Medios de pago admisibles

  • Amex

  • CB

  • Tarjeta Titre-Restaurant

  • Visa

  • VISA ELECTRON

  • mastercard

  • maestro

Implementación

  1. El sitio web comercial debe asignar una referencia única a cada comprador (por ejemplo, el identificador de su cuenta de cliente en el sitio web comercial). El vendedor debe cerciorarse del carácter único del identificador.
  2. Para ofrecer el uso de un wallet de comprador al momento del pago, el sitio web comercial debe:
  • llamar al Web Service Charge/CreatePayment,
  • transmitir la referencia del comprador en el campo customer.reference
  • Transmitir el campo formAction con el valor CUSTOMER_WALLET.

Casos de uso

  • Utilizar un wallet de comprador durante un pago
  • Guardar una tarjeta en un wallet de comprador sin pagar
  • Eliminar una tarjeta registrada

Utilizar un wallet de comprador durante un pago

Este caso de utilización necesita crear un formToken a través de una llamada a Service Charge/CreatePayment.

Para indicar que desea usar un wallet de comprador, el sitio web del vendedor debe transmitir:

  • la referencia del comprador en el campo customer.reference ,
  • el campo formAction con el valor CUSTOMER_WALLET.

Se devolverá un error:

  • Si la oferta de la tienda no incluye la opción "Pago por token".
  • si el valor del campo formAction es CUSTOMER_WALLET pero no se transmite el campo *customer.reference**.

Nota sobre los datos del comprador asociados con el wallet del comprador

Los detalles de facturación (objeto billingDetails ) transmitidos al registrar el medio de pago se transfieren automáticamente a las transacciones realizadas con el wallet del comprador.

Sin embargo, si el vendedor transmite datos nuevos en la solicitud Charge/CreatePayment , los datos de la solicitud se utilizarán para la transacción. En ese caso, el token no se actualiza. En este caso, los datos del comprador asociados al modo de pago no se actualizan.

Si el vendedor desea actualizar los datos del comprador en todos los tokens asociados a la referencia del comprador, debe llamar al Web Service CustomerWallet/Update.

Ejemplo de solicitud POST Charge/CreatePayment

/es-ES/rest/V4.0/api/kb/authentication.html
https://github.com/lyra/rest-php-examples/blob/master/www/minimalEmbeddedForm.php#L9-L44
https://api.lyra.com/api-payment/V4/Charge/CreatePayment
{
    "amount": 40000,
    "currency": "EUR",
    "orderId": "myOrderId-999999",
    "formAction": "CUSTOMER_WALLET", 
    "customer": {
      "email": "sample@example.com",
      "reference": "cust-001"
    }
}

La respuesta contiene un **formToken** que se utilizará para mostrar el formulario.

{
  "webService": "Charge/CreatePayment",
  "version": "V4",
  "applicationVersion": "5.13.0",
  "status": "SUCCESS",
  "answer": {
    "formToken": "10n5J2yTR-Sb6jnXXOohmfsw209eyJhbW91bnQiOjQwMDAwLCJjdXJyZW5jeSI6IkVVUiIsIm1vZGUiOiJURVNUIiwidmVyc2lvbiI6Mywib3JkZXJJZCI6Im15T3JkZXJJZC05OTk5OSIsInNob3BOYW1lIjoiRGVtbyBzaG9wIiwiYnJhbmRQcmlvcml0eSI6WyJCQU5DT05UQUNUIiwiTUFFU1RSTyJdLCJjYXRlZ29yaWVzIjp7ImRlYml0Q3JlZGl0Q2FyZHMiOnsiYXBwSWQiOiJjYXJkcyIsInBhcmFtIjpbIkVERU5SRUQiLCJBTUVYIiwiQ09ORUNTIiwiTUFTVEVSQ0FSRF9ERUJJVCIsIkRJU0NPVkVSIiwiVklTQSIsIlZJU0FfREVCSVQiLCJTT0RFWE8iLCJESU5FUlMiLCJNQUVTVFJPIiwiRS1DQVJURUJMRVVFIiwiQ0hRX0RFSiIsIk1BU1RFUkNBUkQiLCJCQU5DT05UQUNUIiwiQVBFVElaIiwiVklTQV9FTEVDVFJPTiIsIkNCIl19fSwiY2FyZHMiOnsiQ09ORUNTIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJBTUVYIjp7ImZpZWxkcyI6eyJzZWN1cml0eUNvZGUiOnsibWF4TGVuZ3RoIjo0fX0sImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJFREVOUkVEIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJNQVNURVJDQVJEX0RFQklUIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJESVNDT1ZFUiI6eyJjb3B5RnJvbSI6ImNhcmRzLkRFRkFVTFQifSwiVklTQSI6eyJjb3B5RnJvbSI6ImNhcmRzLkRFRkFVTFQifSwiRElORVJTIjp7ImZpZWxkcyI6eyJzZWN1cml0eUNvZGUiOnsicmVxdWlyZWQiOmZhbHNlfX0sImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJTT0RFWE8iOnsiY29weUZyb20iOiJjYXJkcy5ERUZBVUxUIn0sIlZJU0FfREVCSVQiOnsiY29weUZyb20iOiJjYXJkcy5ERUZBVUxUIn0sIk1BRVNUUk8iOnsiZmllbGRzIjp7InNlY3VyaXR5Q29kZSI6eyJyZXF1aXJlZCI6ZmFsc2V9LCJkb1JlZ2lzdGVyIjp7ImhpZGRlbiI6dHJ1ZX19LCJjb3B5RnJvbSI6ImNhcmRzLkRFRkFVTFQifSwiRS1DQVJURUJMRVVFIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJDSFFfREVKIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJNQVNURVJDQVJEIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJCQU5DT05UQUNUIjp7ImZpZWxkcyI6eyJzZWN1cml0eUNvZGUiOnsicmVxdWlyZWQiOmZhbHNlLCJoaWRkZW4iOnRydWV9LCJkb1JlZ2lzdGVyIjp7ImhpZGRlbiI6dHJ1ZX19LCJjb3B5RnJvbSI6ImNhcmRzLkRFRkFVTFQifSwiVklTQV9FTEVDVFJPTiI6eyJmaWVsZHMiOnsic2VjdXJpdHlDb2RlIjp7InJlcXVpcmVkIjpmYWxzZX19LCJjb3B5RnJvbSI6ImNhcmRzLkRFRkFVTFQifSwiQVBFVElaIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJERUZBVUxUIjp7ImZpZWxkcyI6eyJwYW4iOnsibWluTGVuZ3RoIjoxMCwibWF4TGVuZ3RoIjoxOSwidmFsaWRhdG9ycyI6WyJOVU1FUklDIiwiTFVITiJdLCJyZXF1aXJlZCI6dHJ1ZSwic2Vuc2l0aXZlIjp0cnVlLCJoaWRkZW4iOmZhbHNlLCJjbGVhck9uRXJyb3IiOmZhbHNlfSwiZXhwaXJ5RGF0ZSI6eyJyZXF1aXJlZCI6dHJ1ZSwic2Vuc2l0aXZlIjp0cnVlLCJoaWRkZW4iOmZhbHNlLCJjbGVhck9uRXJyb3IiOmZhbHNlfSwic2VjdXJpdHlDb2RlIjp7Im1pbkxlbmd0aCI6MywibWF4TGVuZ3RoIjo0LCJ2YWxpZGF0b3JzIjpbIk5VTUVSSUMiXSwicmVxdWlyZWQiOnRydWUsInNlbnNpdGl2ZSI6dHJ1ZSwiaGlkZGVuIjpmYWxzZSwiY2xlYXJPbkVycm9yIjp0cnVlfSwiZG9SZWdpc3RlciI6eyJ2YWx1ZSI6ImZhbHNlIiwidmFsaWRhdG9ycyI6WyJCT09MRUFOIl0sInJlcXVpcmVkIjpmYWxzZSwic2Vuc2l0aXZlIjpmYWxzZSwiaGlkZGVuIjpmYWxzZSwiY2xlYXJPbkVycm9yIjpmYWxzZX19fSwiQ0IiOnsiY29weUZyb20iOiJjYXJkcy5ERUZBVUxUIn19LCJwYXNzQWN0aXZhdGVkIjp0cnVlLCJhcGlSZXN0VmVyc2lvbiI6IjQuMCJ96902",
    "_type": "V4/Charge/PaymentForm"
  },
  "ticket": null,
  "serverDate": "2020-09-25T10:09:36+00:00",
  "applicationProvider": "LYRA",
  "metadata": null,
  "_type": "V4/WebService/Response"
}

Siguiendo los principios básicos de uso del cliente JavaScript, se utiliza el formToken generado al llamar al Web Service Charge/CreatePayment para especificar el ID del formulario que se debe mostrar en el atributo kr-form-token de su <div>.

Se muestra el formulario:

El comprador ingresa los datos de su tarjeta, marca la casilla Guardar mi tarjeta y hace clic en el botón "Pagar".

Si el comprador ya había guardado una tarjeta en su wallet de comprador, los campos se rellenarán previamente con los datos de su medio de pago:

Si no desea pagar su compra con esta tarjeta, podrá ingresar un nuevo medio de pago, y eventualmente guardarlo, desde la pestaña "Nueva tarjeta":

Si el comprador ha guardado varios medios de pago en su wallet de comprador, deberá elegir la tarjeta que desea utilizar o ingresar una nueva tarjeta desde la pestaña "Nueva tarjeta":

Una vez realizado el pago, se envía una notificación al sitio web comercial a la URL definida en el Back Office del vendedor. El cliente JavaScript devuelve la misma información al navegador a través de la URL indicada en el parámetro kr-post-url-success cuando se muestra el formulario.

Entre la información transmitida, el objeto kr-answer contiene el objeto Payment con el detalle de la transacción realizada y del medio de pago utilizado.

Guardar una tarjeta en un wallet de comprador sin pagar

Este caso de utilización necesita crear un formToken a través de una llamada a Service Charge/CreatePayment.

Para indicar que desea usar un wallet del comprador, el sitio web del vendedor debe transmitir Referencia del comprador en el campo customer.reference.

Si no se transmite la referencia del comprador, la tarjeta se guarda y se crea un token, pero no se agrega al wallet.

En el próximo pago, si el sitio web comercial transmite la referencia del comprador (uso del wallet del comprador) la tarjeta no aparecerá en la lista de tarjetas guardadas.

Ejemplo de solicitud POST Charge/CreateToken

/es-ES/rest/V4.0/api/kb/authentication.html
https://github.com/lyra/rest-php-examples/blob/master/www/minimalEmbeddedForm.php#L9-L44
https://api.lyra.com/api-payment/V4/Charge/CreateToken
{
    "currency": "EUR",
    "orderId": "myOrderId-999999",    
    "customer": {
      "email": "sample@example.com",
      "reference": "cust-001"
    }       
}

La respuesta contiene un **formToken** que se utilizará para mostrar el formulario.

{
  "webService": "Charge/CreateToken",
  "version": "V4",
  "applicationVersion": "5.13.0",
  "status": "SUCCESS",
  "answer": {
    "formToken": "10hIV6-LQ9TGeZIRI9C_zENg209eyJhbW91bnQiOjAsImN1cnJlbmN5IjoiRVVSIiwibW9kZSI6IlRFU1QiLCJ2ZXJzaW9uIjozLCJvcmRlcklkIjoibXlPcmRlcklkLTk5OTk5Iiwic2hvcE5hbWUiOiJEZW1vIHNob3AiLCJjYXRlZ29yaWVzIjp7ImRlYml0Q3JlZGl0Q2FyZHMiOnsiYXBwSWQiOiJjYXJkcyIsInBhcmFtIjpbIkFNRVgiLCJFLUNBUlRFQkxFVUUiLCJNQVNURVJDQVJEX0RFQklUIiwiTUFTVEVSQ0FSRCIsIkRJU0NPVkVSIiwiVklTQSIsIlZJU0FfRUxFQ1RST04iLCJWSVNBX0RFQklUIiwiQ0IiLCJESU5FUlMiXX19LCJjYXJkcyI6eyJBTUVYIjp7ImZpZWxkcyI6eyJzZWN1cml0eUNvZGUiOnsibWF4TGVuZ3RoIjo0fX0sImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJFLUNBUlRFQkxFVUUiOnsiY29weUZyb20iOiJjYXJkcy5ERUZBVUxUIn0sIk1BU1RFUkNBUkRfREVCSVQiOnsiY29weUZyb20iOiJjYXJkcy5ERUZBVUxUIn0sIkRJU0NPVkVSIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJNQVNURVJDQVJEIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJWSVNBIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJWSVNBX0VMRUNUUk9OIjp7ImZpZWxkcyI6eyJzZWN1cml0eUNvZGUiOnsicmVxdWlyZWQiOmZhbHNlfX0sImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJERUZBVUxUIjp7ImZpZWxkcyI6eyJwYW4iOnsibWluTGVuZ3RoIjoxMCwibWF4TGVuZ3RoIjoxOSwidmFsaWRhdG9ycyI6WyJOVU1FUklDIiwiTFVITiJdLCJyZXF1aXJlZCI6dHJ1ZSwic2Vuc2l0aXZlIjp0cnVlLCJoaWRkZW4iOmZhbHNlLCJjbGVhck9uRXJyb3IiOmZhbHNlfSwiZXhwaXJ5RGF0ZSI6eyJyZXF1aXJlZCI6dHJ1ZSwic2Vuc2l0aXZlIjp0cnVlLCJoaWRkZW4iOmZhbHNlLCJjbGVhck9uRXJyb3IiOmZhbHNlfSwic2VjdXJpdHlDb2RlIjp7Im1pbkxlbmd0aCI6MywibWF4TGVuZ3RoIjo0LCJ2YWxpZGF0b3JzIjpbIk5VTUVSSUMiXSwicmVxdWlyZWQiOnRydWUsInNlbnNpdGl2ZSI6dHJ1ZSwiaGlkZGVuIjpmYWxzZSwiY2xlYXJPbkVycm9yIjp0cnVlfX19LCJESU5FUlMiOnsiZmllbGRzIjp7InNlY3VyaXR5Q29kZSI6eyJyZXF1aXJlZCI6ZmFsc2V9fSwiY29weUZyb20iOiJjYXJkcy5ERUZBVUxUIn0sIkNCIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJWSVNBX0RFQklUIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9fSwicGFzc0FjdGl2YXRlZCI6dHJ1ZSwiYXBpUmVzdFZlcnNpb24iOiI0LjAifQ4a02",
    "_type": "V4/Charge/PaymentForm"
  },
  "ticket": null,
  "serverDate": "2020-09-25T10:15:37+00:00",
  "applicationProvider": "LYRA",
  "metadata": null,
  "_type": "V4/WebService/Response"
}

Una vez registrado el medio de pago, se envía una notificación al sitio web comercial a la URL definida en el Back Office del vendedor.

El cliente JavaScript devuelve la misma información al navegador a través de la URL indicada en el parámetro kr-post-url-success cuando se muestra el formulario.

El campo kr-answer transmitido contiene un objeto Payment que describe a transacción de verificación y contiene información sobre el token creado.

Solamente la presencia del campo customer.reference , cuyo valor es la referencia del comprador transmitida por el vendedor, permite identificar que la tarjeta se añadió al wallet del comprador.

Eliminar una tarjeta registrada

Durante el pago, el comprador puede solicitar la eliminación de una tarjeta guardada en su wallet de comprador haciendo clic en el ícono de papelera.

Se dice que la eliminación es "lógica" ya que se ha rescindido el token y ya no se puede utilizar para pagos. Pero todavía es visible en el Back Office del vendedor.

Conforme a las reglas de seguridad y de protección de los datos bancarios exigidas por PCI DSS, los datos del medio de pago serán eliminados si transcurrieron 15 meses sin utilizar el token asociado.

Una nueva configuración del Back Office del vendedor le permite configurar si la eliminación es automática o si debe ser realizada por el vendedor.

Eliminación automática

Al hacer clic en la papelera aparece un mensaje de confirmación:

Si el comprador hace clic en Eliminar , la tarjeta desaparece de la lista de tarjetas disponibles.

Esta acción activa las notificaciones basadas en la actualización de un token:

  • URL de notificación al final del pago

  • E-mail de confirmación de una creación de token destinado al comprador

  • E-mail de confirmación de la creación de un token enviado al vendedor

  • SMS de confirmación de creación de un token enviado al vendedor

  • SMS de confirmación de creación de un token enviado al comprador

Si la tarjeta eliminada era la única tarjeta guardada, la pestaña "Nueva tarjeta" se mostrará automáticamente.

Si la tarjeta está siendo utilizada para el pago de una suscripción automática, aparece un mensaje de advertencia que invita al comprador a comunicarse con el vendedor:

Para activar la eliminación automática:

  1. Desde el Back Office del vendedor, abra el menú Configuración > Empresa y haga clic en la pestaña Configuración de suscripciones y tokens.
  2. En la sección Configuración del wallet del comprador , marque la casilla Eliminación lógica del token autorizado por el comprador.
  3. Haga clic en Guardar para registrar sus cambios.

Eliminación manual

Se recomienda esta configuración para los vendedores que gestionan los pagos recurrentes desde su sistema de información.

Al hacer clic en la papelera de reciclaje, aparece un mensaje de información invitando al comprador a ponerse en contacto con el vendedor:

Para activar la eliminación manual:

  1. Desde el Back Office del vendedor, abra el menú Configuración > Empresa y haga clic en la pestaña Configuración de suscripciones y tokens.
  2. En la sección Configuración del wallet del comprador , desmarque la casilla Eliminación lógica del token autorizado por el comprador.
  3. Haga clic en Guardar para registrar sus cambios.
Jobs
Legal
GDPR
25.18-1.11