Enviar un formulario de pago en POST
El sitio web vendedor redirecciona al comprador hacia la plataforma de pago mediante un formulario HTML POST en HTTPS.
Este formulario contiene:
Los siguientes elementos técnicos:
- Las etiquetas <form> y </form> que permiten crear un formulario HTML.
- El atributo method="POST" que especifica el método utilizado para enviar los datos.
- El atributo action="https://secure.micuentaweb.pe/vads-payment/" que especifica a dónde enviar los datos del formulario.
Los datos del formulario:
Todos los datos del formulario deben estar codificados en UTF-8.
De esta forma, los caracteres especiales (acentos, puntuación, etc.) serán interpretados correctamente por la plataforma de pago. En el caso contrario, el cálculo de la firma será erróneo y el formulario será rechazado.
Lo invitamos a consultar la siguiente tabla para comprender mejor la codificación de formatos.
Notación | Descripción |
---|---|
a | Caracteres alfabéticos (de 'A' a 'Z' y de 'a' a 'z') |
n | Caracteres numéricos |
s | Caracteres especiales |
an | Caracteres alfanuméricos |
ans | Caracteres alfanuméricos y especiales (excepto "<" y ">") |
3 | Longitud fija de 3 caracteres |
..12 | Longitud variable hasta 12 caracteres |
json | JavaScript Object Notation. Un objeto que contiene pares clave/valor separados por comas. Comienza con un refuerzo izquierdo " {" y termina con un refuerzo derecho " }". Cada par de clave/valor contiene el nombre de la clave entre comillas dobles seguido de " :", y un valor. El nombre de la clave debe ser alfanumérico. El valor puede ser:
Ejemplo: {"name1":45,"name2":"value2", "name3"=false}
|
enum | Caracteriza un campo con un número finito de valores. La lista de valores posibles se da en la definición del campo. |
liste d'enum | Lista de valores separados por un " ;". La lista de valores posibles se da en la definición del campo. Ejemplo: vads_payment_cards=VISA;MASTERCARD |
map | Lista de pares clave/valores separados por un " ;". Cada par de clave/valor contiene el nombre de la clave seguido de “=”, y un valor. El valor puede ser:
La lista de valores posibles para cada par de clave / valor se proporciona en la definición del campo. Ejemplo: vads_theme_config=SIMPLIFIED_DISPLAY=true;RESPONSIVE_MODEL=Model_1 |
- Los campos obligatorios:
Nombre del campo Descripción Formato Valor signature Firma que garantiza la integridad de las solicitudes intercambiadas entre el sitio web vendedor y la plataforma de pago. ans Ex :
EKrcj4e8N38LGCP/xkJMaHUajUfvsRG50mDwYLNBsMU=
vads_action_mode Modo de adquisición de la información del medio de pago enum INTERACTIVE vads_amount Monto del pago en su unidad monetaria más pequeña (el centavo para el dólar estadunidense) n..12 Ejemplo: 4525 para 45,25 USD vads_ctx_mode Adquisición de los datos en la plataforma de pago enum TEST oPRODUCTION vads_currency Código numérico de la moneda que se utilizará para el pago, según la norma ISO 4217 (código numérico) n3 Ejemplo: 840 para el dólar norteamericano (USD) vads_page_action Acción a realizar enum PAYMENT vads_payment_config Tipo de pago enum SINGLE para un pago único vads_site_id Identificador de la tienda n8 Ejemplo: 12345678 vads_trans_date Fecha y hora del formulario de pago en el huso horario UTC n14 Respete el formato AAAAMMDDHHMMSS
Ejemplo: 20200101130025vads_trans_id Número de la transacción. Debe ser único en un mismo día (de 00:00:00 a 23:59:59 UTC).
Atención: Este campo no distingue entre mayúsculas y minúsculas.
an6 Ejemplo: xrT15p vads_version Versión del protocolo de intercambio con la plataforma de pago enum V2 - Los campos muy recomendados:
- El medio de pago a utilizar
Nombre del campo Descripción Formato Valor vads_payment_cards Permite forzar el tipo de tarjeta que se utilizará. Se recomienda proponer en el sitio del comerciante un botón de pago diferente para cada medio de pago.
No se recomienda dejar el campo vacío.Consulte el capítulo Administrar los medios de pago propuestos al comprador de laGuía de implementación - API Formulario para más informaciones.
enum Ejemplo: - MASTERCARD
- VISA
- Los datos del pedido
Nombre del campo Descripción Formato Valor vads_order_id Número del pedido Puede estar compuesto de letras en mayúsculas o minúsculas, dígitos o guiones ([A-Z] [a-z], 0-9, _, -).
ans..64 Ejemplo: 2-XQ001 vads_order_info Información adicional sobre el pedido ans..255 Ejemplo: Código intercomunicación 3125 vads_order_info2 Información adicional sobre el pedido ans..255 Ejemplo: Sin ascensor vads_order_info3 Información adicional sobre el pedido ans..255 Ejemplo: Exprés vads_ext_info_xxxx Información complementaria necesaria al vendedor, que aparecerá en el e-mail de confirmación de pago destinado al vendedor y en el Back Office Vendedor (pestaña Extra del detalle de la transacción). xxxx corresponde al nombre del dato transmitido.
Por ejemplo: vads_ext_info_departure_city
ans..255 Ejemplo: LHR - Los datos del comprador
Nombre del campo Descripción Formato Valor vads_cust_email Dirección de correo electrónico del comprador ans..150 Ej.: abc@example.com vads_cust_id Referencia del comprador en el sitio web vendedor an..63 Ejemplo: C2383333540 vads_cust_national_id Número de identificación Tributaria ans..255 Ejemplo: 01-93-N9l6477D vads_cust_title Estado civil del comprador an..63 Ejemplo: Señor vads_cust_status Estado enum
PRIVATE: para un particular COMPANY: para una empresa
vads_cust_first_name Nombre ans..63 Ejemplo: Pedro vads_cust_last_name Apellido ans..63 Ejemplo: González vads_cust_legal_name Razón social del comprador an..100 Ejemplo: D. & Cie vads_cust_phone Número de teléfono an..32 Ejemplo: (01) 660-0200 (en Perú) / (11) 4500-7000 (en Argentina) vads_cust_cell_phone Número de teléfono móvil an..32 Ejemplo: (01) 660-0200 (en Perú) / (11) 4500-7000 (en Argentina) vads_cust_address_number Número de vía ans..64 Ejemplo: 20 vads_cust_address Dirección postal ans..255 Ejemplo: Avenida de la paz vads_cust_address2 Segunda línea de dirección ans..255 Ejemplo: Edificio Liberty vads_cust_district Barrio ans..127 Ejemplo: Miraflores (en Perú) / Palermo (en Argentina) vads_cust_zip Código Postal an..64 Ejemplo: 07001 (en Perú) / B1703 (en Argentina) vads_cust_city Ciudad an..128 Ejemplo: São Paulo Lima (en Perú)) / Buenos Aires (en Argentina) vads_cust_state Estado / región ans..127 Ejemplo: Cuyo (en Argentina) vads_cust_country Código del país según ISO 3166 alpha-2 a2 Ejemplo: "BR" para Brasil,"AR" para Argentina, "PE" para Perú,"US" para Estados Unidos.
- El medio de pago a utilizar
- Los campos recomendados:
- Los datos de entrega
Nombre del campo Descripción Formato Valor vads_ship_to_city Ciudad an..128 Ejemplo: Lima (en Perú) / Buenos Aires (en Argentina) vads_ship_to_country Código del país según la norma ISO 3166 (obligatorio para activar una o varias acciones si el perfil Control del país de entrega está activado). a2 Ejemplo: AR para Argentina, PE para Perú, vads_ship_to_district Barrio ans..127 Ejemplo: Miraflores (en Perú) / Palermo (en Argentina) vads_ship_to_first_name Nombre ans..63 Ejemplo: Franco vads_ship_to_last_name Apellido ans..63 Ejemplo: Sanchez vads_ship_to_legal_name Razón social an..100 Ejemplo: D. & Cie vads_ship_to_phone_num Número de teléfono ans..32 Ejemplo: 11 6526-9200 (14) 860-0200 (en Perú) / (11) 8800-7020 (en Argentina) vads_ship_to_state Estado / región ans..127 Ejemplo: Cuyo (en Argentina) vads_ship_to_status Define el tipo de dirección de entrega enum
PRIVATE: para entrega a un particular COMPANY: para entrega a una empresa
vads_ship_to_street_number Número de vía ans..64 Ejemplo: 2 vads_ship_to_street Dirección postal ans..255 Ejemplo: Avenida del Libertador vads_ship_to_street2 Segunda línea de dirección ans..255 vads_ship_to_zip Código Postal an..64 Ejemplo: 40020-010 07001 (en Perú) / B1703 (en Argentina) - Los datos del carrito:
Nombre del campo Descripción Formato Valor vads_nb_products Número de artículos que se encuentran en el carrito de compras n..12 Ejemplo: 2 vads_product_ext_idN Código de barras del producto en el sitio web vendedor. N corresponde al índice del artículo (0 para el primero, 1 para el segundo...). an..100 Ejemplo: vads_product_ext_id0 = "0123654789123654789"
vads_product_ext_id1 = "0223654789123654789"
vads_product_ext_id2 = "0323654789123654789"
vads_product_labelN Descripción del artículo. N corresponde al índice del artículo (0 para el primero, 1 para el segundo...). ans..255 Ejemplo: vads_product_label0 = "tee-shirt"
vads_product_label1 = "Galleta"
vads_product_label2 = "sandwich"
vads_product_amountN Precio del artículo IVA incluida. N corresponde al índice del artículo (0 para el primero, 1 para el segundo...). n..12 Ejemplo: vads_product_amount0 = "1200"
vads_product_amount1 = "800"
vads_product_amount2 = "950"
vads_product_typeN Tipo del artículo. N corresponde al índice del artículo (0 para el primero, 1 para el segundo...). enum Ejemplo: vads_product_type0 = "CLOTHING_AND_ACCESSORIES"
vads_product_type1 = "FOOD_AND_GROCERY"
vads_product_type2 = "FOOD_AND_GROCERY"
vads_product_refN Referencia del artículo. N corresponde al índice del artículo (0 para el primero, 1 para el segundo...). an..64 Ejemplo: vads_product_ref0 = "CAA-25-006"
vads_product_ref1 = "FAG-B5-112"
vads_product_ref2 = "FAG-S9-650"
vads_product_qtyN Cantidad del artículo. N corresponde al índice del artículo (0 para el primero, 1 para el segundo...). n..12 Ejemplo: vads_product_qty0 = "1"
vads_product_qty1 = "2"
vads_product_qty2 = "2"
Nota:
Al completar el campo vads_nb_products, se mostrará la pestaña Carrito en los detalles de una transacción desde el Back Office Vendedor.
Sin embargo, si los otros campos que comienzan con vads_product_ no se completan, la pestaña no contendrá ninguna información. Por este motivo, al completar el campo vads_nb_products, se vuelve obligatorio llenar los otros campos que comienzan con vads_product_. par vads_product_.
- Los datos de entrega
- Los campos facultativos:
Se pueden utilizar campos facultativos suplementarios.
Consultar el capítulo Diccionario de datos de la guía de implementación Formulario API en nuestro sitio web para visualizar la lista de los campos disponibles
El botón Pagar que permitirá el envío de los datos:
<input type="submit" name="pagar" value="Pagar"/>
Ejemplo
<form method="POST" action="https://secure.micuentaweb.pe/vads-payment/"> <input type="hidden" name="vads_action_mode" value="INTERACTIVE" /> <input type="hidden" name="vads_amount" value="3000" /> <input type="hidden" name="vads_ctx_mode" value="TEST" /> <input type="hidden" name="vads_currency" value="840" /> <input type="hidden" name="vads_cust_cell_phone" value="0606060606" /> <input type="hidden" name="vads_cust_email" value="my.email@example.com" /> <input type="hidden" name="vads_cust_first_name" value="Pedro" /> <input type="hidden" name="vads_cust_last_name" value="Garcia" /> <input type="hidden" name="vads_cust_phone" value="0505050505" /> <input type="hidden" name="vads_page_action" value="PAYMENT" /> <input type="hidden" name="vads_payment_config" value="SINGLE" /> <input type="hidden" name="vads_site_id" value="12345678" /> <input type="hidden" name="vads_trans_date" value="20160301101407" /> <input type="hidden" name="vads_trans_id" value="rf54hY" /> <input type="hidden" name="vads_version" value="V2" /> <input type="hidden" name="signature" value="86b2a17b9a5fcefb6c0120c57b25ec86ad1704ee"/> <input type="submit" name="pagar" value="Pagar"/> </form>