payload de Flex reutiliza la estructura del API de Autorización - ecommerce, con una diferencia importante: debes enviar payment_method en el objeto raíz, pero como un objeto vacío {}, porque el cliente elegirá el método dentro del formulario.
Piensa este paso como la preparación del request de
POST /charges para Flex. Lo que construyes aquí será la base de la operación que luego terminarás leyendo en responseCallback(response).Qué se conserva y qué cambia
Misma base de PayIn
Mantienes
action, channel, merchant_code, merchant_operation_number, payment_method y payment_details.Cambio en Flex
En Flex,
payment_method viaja como {} vacío porque el método real se resuelve en el frontend según lo que el usuario seleccione.Estructura del payload
Expande cada bloque para revisar qué campos pertenecen a cada nivel del objeto que enviarás a Flex.Objeto raíz
Objeto raíz
Contiene la información general de la operación y enlaza con
payment_details, donde viaja el detalle del cobro.Objeto payment_details
Objeto payment_details
Agrupa el monto, moneda y subobjetos operativos del comprador, facturación y envío.
Objeto payment_details.customer
Objeto payment_details.customer
Define los datos opcionales del cliente que realiza la compra, útiles para identificación y contexto de riesgo.
Objeto payment_details.billing
Objeto payment_details.billing
Contiene los datos obligatorios de facturación que Flex necesita para procesar la operación.
Objeto payment_details.shipping
Objeto payment_details.shipping
Incluye la información de envío cuando tu flujo de negocio la necesite para complementar la operación.
Para S/. 10.50 se debe enviar
1050 y en currency el valor 604 para Soles.En Flex, el objeto raíz debe incluir explícitamente
payment_method: {} aunque el método final todavía no haya sido seleccionado por el usuario.Ejemplo completo
Siguiente paso
Inicializar el componente
Usa este
payload junto con tu nonce para crear la instancia de FlexPaymentForms.API de Autorización - ecommerce
Toma esta referencia como contrato base del request que estás reutilizando en Flex.

