lyra.com
Buscar
Categoria
Tags
España
Francia
España
Europe (English)
India
Implementación
Formulario incrustado
Servicios web REST
Formulario de pago
Intercambio de ficheros
Servicios web
Pago móvil
Ayuda y herramientas
Módulos de pago
FAQ
Guías
Back office
SUPPORT

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

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. El comprador puede solicitar la eliminación de una tarjeta almacenada en su wallet en cualquier momento.

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

La solución solo esta disponible con el uso del cliente JavaScript (formulario incrustado).

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

  • Cartes Titre-Restaurant

  • VISA

  • VISA ELECTRON

  • MASTERCARD

  • MAESTRO

Implementación

  1. El sitio del vendedor debe asignar una referencia única a cada comprador (por ejemplo, el identificador de su cuenta de cliente en el sitio del vendedor). El sitio del vendedor debe cerciorarse de que esta referencia sea única .
  2. Para ofrecer el uso de un wallet de comprador al momento del pago, el sitio del vendedor debe:
  • llamar al servicio web 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 uso requiere la creación de un formToken mediante una llamada al servicio web 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 este caso, no se actualizan los datos del comprador asociados con el medio de pago.

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

Ejemplo de solicitud POST 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 usará 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": "PAYZEN",
  "metadata": null,
  "_type": "V4/WebService/Response"
}

Al seguir los principios básicos del uso del cliente JavaScript, se utiliza el formToken , generado durante la llamada del Servicio Web Charge/CreatePayment , para especificar el identificador del formulario que debe mostrarse 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 del vendedor 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 uso requiere la creación de un formToken mediante una llamada al servicio web Charge/CreateToken .

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 guardará y se creará un alias, pero la tarjeta no se agregará al wallet.

En el próximo pago, si el sitio del vendedor 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

{
    "currency": "EUR",
    "orderId": "myOrderId-999999",    
    "customer": {
      "email": "sample@example.com",
      "reference": "cust-001"
    }       
}

La respuesta contiene un formToken que se usará 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": "PAYZEN",
  "metadata": null,
  "_type": "V4/WebService/Response"
}

Una vez registrado el medio de pago, se envía una notificación al sitio del vendedor 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 destinado al comprador confirmando la creación de un token

  • E-mail destinado al vendedor confirmando la creación de un token

  • SMS destinado al vendedor confirmando la creación de un token

  • SMS destinado al comprador confirmando la creación de un token

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 el botón 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 el botón Guardar para registrar sus cambios.
Contratación

Head Office :

LYRA NETWORK
109, rue de l’innovation
31670 Labège
FRANCE