6. ExpressCheckout
ExpressCheckout es un nuevo servicio que se introduce en la versión 4.0 de Plexo, y que permite realizar en un solo paso el registro o selección de medio de pago, y la solicitud de compra. Este servicio es opcional para ser utilizado con los medios de pago tradicional (tarjetas y redes de cobranza), pero es la única forma de acceder a pagar con:
Banred
Débito bancario
Solicitud de Crédito
Para el caso del pago, se hará un POST a:
Firmado como todos los demás paquetes con la versión JSON del objeto ExpressCheckoutRequest, que contiene lo que hoy se envía en los puntos 1 (Authorization) y 3 (PaymentRequest) en un servicio que los nuclea.
En particular, en este caso el Authorization.ActionType debe enviar el Flag ExpressCheckout (64).
También, se agrega información extra a ser enviada en Items dentro del PaymentRequest, donde se agrega información que se despliega en pantalla
Quantity : cantidad de artículos.
Name : nombre del artículo.
Description : descripción del artículo.
Como en este caso no se cuenta con un Token a ser enviado en el PaymentRequest, el campo PaymentInstrumentInput.InstrumentToken se puede obviar.
La pantalla que se despliega es la siguiente

A la izquierda se despliegan todas las formas de pago habilitadas para el comercio, y a la derecha la descripción de lo que se va a pagar (con la información que se agrega en Items).
Tener en cuenta el parametro CommerceReserveExpirationInSeconds (*Opcional) que para el caso de pagos asincrínicos, se puede modificar el tiempo de expiración por defecto (24 hrs) mediante el mismo. Si se quiere esperar solamente que un cliente realice un pago con débito bancario en 30 minutos, entonces se debe enviar el valor 1800 (segundos).
Para los pagos con Débito Bancario, en la configuración del Comercio/Issuer, se debe indicar los Bancos aceptados, y en el llamado a ExpressCheckout indicar el o los Bancos a mostrar en la selección de “Transferencia bancaria online”. En este caso se indico con el parámetro LimitIssuers al banco Itau (ID 52) y Santander (ID 54). La lista de bancos disponibles en el momento es la siguiente:

En caso de utilizar ExpressCheckout para pagos online, como las tarjetas de crédito/débito, se debe configurar previamente para cada Comercio/Issuer (medio de pago) las cuotas que son aceptadas. De esta forma, a la hora de seleccionar una tarjeta de crédito, se desplegará una pantalla de selección de cuotas que fue cargado previamente. De todas formas, la seccion de PaymentRequest permite indicar por parámetro las cuotas para no dar opcion de que el cliente pueda elegirlas en la Web de Plexo (en este caso no se da la opcion a que pueda seleccionase de la lista).
Para el caso que de desee desactivar la validacion 3DS en el pago con tarjetas VISA/MASTER, se debe enviar el parametro opcional Disable3DS = true.

Como resultado, se recibe un Callback (opcional) en el caso de que el medio de pago se registre y sea recordado para el cliente, y un TransactionCallback (obligatorio) con el resultado de la transacción.
Este objeto TransactionCallback es el mismo objeto que se utiliza para los pagos en redes de cobranza, donde los pagos son asincrónicos:
Last updated