Casos de uso
He aquí una lista no exhaustiva de los casos de uso que se definen cuando se inicializa el pago (durante la llamada al Web Service Charge/createPayment ).
Transmitir el número de pedido
Para transmitir el número de pedido, utilice el campo orderId :
{ "orderId" : "CX-1254" }
Transmitir los datos del comprador
El vendedor puede transmitir la dirección de facturación y los datos del comprador (dirección de e-mail, tratamiento, número de teléfono, etc.).
Estos datos son:
- se muestran en el
Back Office Vendedor , en la información de la transacción (pestaña Comprador ), - devueltos en la IPN, sin cambios.
Para ello, utilice el campo customer :
Ejemplo
{ "customer": { "reference":"C2383333540", "email" : " <sample@example.net>", "billingDetails" : { "category" : "PRIVATE", "title" : "M", "firstName" : "Laurent", "lastName" : "DURANT", "streetNumber" : "109", "address" : "rue de l'innovation", "zipCode" : "31670", "city" : "LABEGE", "country" : "FR", "phoneNumber" : "0123456789", "cellPhoneNumber" :"0623456789" } } }
Transmitir los datos de entrega
El vendedor puede transmitir los datos de entrega del comprador (dirección, civilidad, número de teléfono, etc.).
Estos datos son:
- se muestran en el
Back Office Vendedor , en la información de la transacción (pestaña Envío ), - devueltos en la IPN, sin cambios.
Ejemplo para una entrega de tipo “Retiro en tienda”
La dirección de envío corresponde a la de la tienda.
La dirección de facturación es distinta a la dirección de envío.
El nombre del destinatario es el mismo que el de la dirección de facturación.
{ "customer": { "shippingDetails": { "shippingMethod": "RECLAIM_IN_SHOP", "shippingSpeed": "STANDARD", "streetNumber": "230", "address": "avenue des Champs Elysées", "zipCode": "59170", "city": "CROIX", "country": "FR", "firstName": "Marie-Charlotte", "lastName": "GRIMALDI", "phoneNumber": "0328386789" } } }
Ejemplo para una entrega de tipo “punto de retiro”
La dirección de envío corresponde a la del punto de retiro.
El nombre del punto de retiro se indica en la segunda línea de la dirección de entrega.
Se transmite la dirección del punto de retiro en la primera línea de dirección de envío.
El nombre del destinatario es el mismo que el de la dirección de facturación.
La dirección de facturación es distinta a la dirección de envío.
{ "customer": { "shippingDetails": { "shippingMethod": "RELAY_POINT", "shippingSpeed": "STANDARD", "streetNumber": "100", "address": "avenue du parc Barbieux", "address2": "Pressing du Parc", "zipCode": "59170", "city": "CROIX", "country": "FR", "firstName": "Martine", "lastName": "DURAND", "phoneNumber": "0328386789", "deliveryCompanyName":"Chronospost" } } }
Transmisión del contenido del carrito
Al crear un pago, el vendedor puede transmitir el contenido del carrito del comprador.
Estos datos se muestran en el
Para ello, utilice el campo cartItemInfo (tabla de objetos json) durante la llamada al Web Service Charge/CreatePayment.
Ejemplo para definir 2 artículos en el carrito
{ "customer": { "shoppingCart": { "cartItemInfo": [ { "productRef": "myRef1", "productAmount": "1200", "productLabel": "myLabel1", "productQty" : "1" }, { "productRef": "myRef2", "productAmount": "2400", "productLabel": "myLabel2", "productQty" : "1" } ] } } }
Observaciones:
- El campo cartItemInfo siempre se devuelve vacío en la respuesta.
- Para que la pestaña Carrito se muestre correctamente en el
Back Office Vendedor , debe trasmitir por lo menos el campo productAmount de cada producto.
Transmitir los datos del subvendedor
El facilitador de pago puede transmitir los datos del subvendedor concernido por la transacción.
Estos datos serán:
- se muestran en el
Back Office Vendedor , en la información de la transacción (pestaña Subvendedor ), - devueltos en la IPN, sin cambios.
La tabla describe los campos comunes disponibles con la información del subvendedor.
Nombre del campo | Formato | Descripción |
---|---|---|
subMerchantDetails.address1 | ans..255 | Dirección del subvendedor. Transmitido por el facilitador de pago. |
subMerchantDetails.address2 | ans..255 | Complemento de la dirección del subvendedor. Transmitido por el facilitador de pagos. |
subMerchantDetails.city | an..128 | Ciudad del subvendedor. Transmitido por el facilitador de pago. |
subMerchantDetails.companyType | ans..60 | Tipo de empresa del subvendedor. Transmitido por el facilitador de pago. |
subMerchantDetails.country | a2 | Código del país de la dirección del subvendedor (norma ISO 3166 alpha-2). Transmitido por el facilitador de pago. |
subMerchantDetails.facilitatorId | ans..128 | Identificador del facilitador de pago. Transmitido por el facilitador de pago. |
subMerchantDetails.legalNumber | ans..24 | Número legal del subvendedor. Transmitido por el facilitador de pago. |
subMerchantDetails.mcc | n4 | Código MCC del subvendedor. Transmitido por el facilitador de pago. |
subMerchantDetails.mid | n..64 | Número de afiliación (MID) del subvendedor.Transmitido por el facilitador de pago. |
subMerchantDetails.name | ans..255 | Razón social del subvendedor. Transmitido por el facilitador de pago. |
subMerchantDetails.phoneNumber | an..32 | Número de teléfono del subvendedor. Transmitido por el facilitador de pago. |
subMerchantDetails.softDescriptor | ans..255 | Descripción (soft descriptor) del subvendedor que aparece en el extracto bancario del comprador. Transmitido por el facilitador del pago. |
subMerchantDetails.state | ans..128 | Región de la dirección del subvendedor. Transmitido por el facilitador de pago. |
subMerchantDetails.url | ans..128 | URL del subvendedor. Transmitido por el facilitador de pago. |
subMerchantDetails.zip | an..64 | Código postal del subvendedor. Transmitido por el facilitador de pago. |
Ofrecer el registro del medio de pago
El vendedor puede ofrecer al comprador la posibilidad de facilitar sus compras solicitando el registro de sus datos bancarios en la plataforma de pago.
Gracias a esta operación, la plataforma de pago asigna un token único al medio de pago y lo devuelve al sitio web comercial en el campo paymentMethodToken.
De esta manera, el comprador ya no necesitará ingresar su medio de pago en sus futuras compras.
Esta solución brinda un nivel adicional de seguridad a los pagos, ya que transita únicamente el token que solo puede ser utilizado por la plataforma de pago.
Para ofrecer al comprador que registre su modo de pago al momento del pago, utilice el campo formAction con el valor ASK_REGISTER_PAY
{ "formAction" : "ASK_REGISTER_PAY", "customer": { "email": " <sample@example.net>" } }
Nota
El campo email se vuelve obligatorio al registrar el medio de pago.
Cuando se muestre el formulario, aparecerá una casilla de control.
De forma predeterminada, esta casilla no está marcada.
Si el comprador acepta el registro de su medio de pago, debe marcar la casilla.
Si el pago es rechazado, no se registrará el medio de pago.
Forzar el registro del medio de pago
Si el vendedor ha notificado al comprador en un paso previo del proceso de compra, puede "forzar" el registro del medio de pago sin mostrar una casilla adicional.
Para hacerlo, utilice el campo formAction con el valor REGISTER_PAY :
{ "formAction" : "REGISTER_PAY", "customer": { "email": " <sample@example.net>" } }
Utilizar un medio de pago registrado
El vendedor puede transmitir el token que se debitará al inicializarse el pago.
Cuando se muestra el formulario, los campos kr-pan y kr-expiry se rellenan automáticamente. El comprador solo debe introducir su código de seguridad (CVV) para finalizar la compra.
Para ello, simplemente transmita el token a debitar en el campo paymentMethodToken y asigne al campo formAction el valor PAYMENT.
Dado que este valor es el valor predeterminado, el campo formAction ya no es necesario.
{ "formAction" : "PAYMENT", "paymentMethodToken":"d3d9cc0d24a4400e9d123e9e1b8f1793", }
Utilizar un medio de pago registrado sin mostrar el formulario incrustado
Cuando el comprador desee realizar una nueva compra, el vendedor puede ofrecer la lista de los medios de pago registrados para este cliente. Para ello, muestra en su página el PAN oculto y la fecha de validez que se le devolvieron al registrar los medios de pago. El comprador selecciona el modo de pago que va a utilizar y el vendedor inicializa el pago con el token asociado.
Para no mostrar el formulario incrustado, simplemente utilice el parámetro formAction con el valor SILENT :
{ "formAction" : "SILENT", "paymentMethodToken":"d3d9cc0d24a4400e9d123e9e1b8f1793", }
Nota
- Este caso de uso no utiliza el cliente JavaScript, sino solo una llamada de servidor a servidor. No hay redirección hacia la URL de retorno indicada en kr-post-url-success.
- La respuesta no contiene un formToken , sino directamente un objeto Transaction.
- Dependiendo de como estén configurados los pagos por token en su tienda, puede que se requiera el CVV o una autentificación 3-D Secure. En tal caso, el modo SILENT no es el indicado.
Transmitir la preferencia del vendedor
Con 3DS2, ya no se puede desactivar 3DS. El vendedor debe pedir una exención en su solicitud de pago (se denomina "preferencia del vendedor").
Para ello, utilice el campo strongAuthentication.
VALOR | Descripción 3DS2 |
---|---|
ENABLED | Obsoleta. Este valor se interpretará como CHALLENGE_REQUESTED. |
DISABLED | Permite solicitar una autentificación sin interacción (frictionless). Necesita la opción "Frictionless 3DS2".
Si la tienda no tiene la opción "Frictionless 3DS2", la elección de preferencia se delega al emisor de la tarjeta (No Preference). |
CHALLENGE_REQUESTED | Permite solicitar una autentificación fuerte para la transacción. |
CHALLENGE_MANDATE | Permite indicar que, por razones reglamentarias, se requiere una autentificación fuerte para la transacción. |
NO_PREFERENCE | Permite indicar al DS que el vendedor no tiene preferencia. Si el emisor decide realizar una autentificación sin interacción (frictionless), el pago será garantizado. |
AUTO | Valor predeterminado. Se delega la elección de la preferencia al emisor de la tarjeta (No Preference). |
Aumentar la probabilidad de frictionless en 3DS2
Cuando todos los actores sean operativos, será posible transmitir datos suplementarios para aumentar la probabilidad de frictionless durante el pago.
Lista de campos a enviar
CARACTERÍSTICAS | Descripción |
---|---|
customer.email | E-mail del comprador. |
customer.billingDetails.identityCode | Identificación nacional. Identifica de manera única a cada ciudadano en un país. CPF o CNPJ en Brasil. |
customer.billingDetails.streetNumber | Número de calle de la dirección de facturación |
customer.billingDetails.address | Dirección postal |
customer.billingDetails.address2 | Segunda línea de dirección |
customer.billingDetails.zipCode | Código Postal |
customer.billingDetails.city | Ciudad |
customer.billingDetails.state | Estado / región |
customer.billingDetails.country | Código del país según ISO 3166 alpha-2 |
customer.billingDetails.phoneNumber | Número de teléfono |
customer.billingDetails.cellPhoneNumber | Número de teléfono móvil |
customer.shippingDetails.address | Dirección postal |
customer.shippingDetails.address2 | Segunda línea de dirección |
customer.shippingDetails.zipCode | Código Postal |
customer.shippingDetails.city | Ciudad |
customer.shippingDetails.state | Estado / región |
customer.shippingDetails.country | Código del país según ISO 3166 |
customer.shippingDetails.shippingMethod | Modo de entrega. Los nuevos valores específicos de 3DS2 estarán disponibles pronto. |
customer.shippingDetails.shippingSpeed | Plazo de entrega. Los nuevos valores específicos de 3DS2 estarán disponibles pronto |
Transmitir datos personalizados
Al crear un pago, el vendedor puede enviar información específica a la plataforma de pago para atender necesidades específicas de su negocio.
Por ejemplo, transmitir un número de archivo, un número de contrato, etc.
Esta información será:
- se muestran en el
Back Office Vendedor , en la información de la transacción (pestaña Extras ), - visibles en el e-mail de confirmación de pago destinado al vendedor,
- devueltas en la URL de notificación, sin cambios.
Para ello, utilice los campos metadata (en formato json) durante la llamada al Web Service Charge/CreatePayment :
Ejemplo para transmitir un elemento de datos llamado “contract” y su valor:
{ "metadata": { "contract": "1245KL-78/ZE" } }
Sobrecargar la URL de notificación instantánea (desaconsejado)
Puede sobrescribir la URL de notificación instantánea (también llamada IPN) en el formulario si utiliza una única tienda para diferentes canales de venta, diferentes tipos de pago, diferentes idiomas, etc.
Esta función es incompatible con la ejecución desde el
Se llamará a la URL definida en la regla de notificación (consulte el capítulo Configurar las notificaciones).
Utilice el campo ipnTargetUrl al inicializar el pago para sobrescribir la URL de la página que se notifica.
Si el valor del campo vads_shop_url es incorrecto, el formulario no será rechazado.
{ "ipnTargetUrl" : "<https://my.site/my-ipn>", }
Cambiar el tipo de captura
La plataforma de pago asocia un modo de captura predeterminado con el contrato del adquirente (MID): captura inmediata o captura diferida.
Si el adquirente lo autoriza, el sitio web vendedoro tiene la posibilidad de forzar el tipo de captura a utilizar.
Para ello, utilice el campo overridePaymentCinematic de la siguiente manera:
Captura inmediata
{ "overridePaymentCinematic": "IMMEDIATE_CAPTURE" }
Captura diferida
{ "overridePaymentCinematic": "DELAYED_CAPTURE" }
Por defecto se aplica el valor configurado en el contrato.