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.cobroinmediato.tech/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:
  • una cadena de caracteres (en este caso debe estar encuadrada entre comillas dobles)
  • un número
  • un objeto
  • un tablero
  • un booleano
  • vacío
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:
  • una cadena de caracteres
  • un booleano
  • un objeto json
  • un objeto xml

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 para el dólar estadunidense) n..12 Ejemplo: 3000 para 30,00 USD
    vads_ctx_mode Adquisición de los datos en la plataforma de pago enum TEST o PRODUCTION
    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: 20200101130025
    vads_trans_id Número de la transacción.

    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 la Guí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 an..255 Ejemplo: Código intercomunicación 3125
      vads_order_info2 Información adicional sobre el pedido an..255 Ejemplo: Sin ascensor
      vads_order_info3 Información adicional sobre el pedido an..255 Ejemplo: Express
      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_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_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:
      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.

  • 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: Sánchez
      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-01007001 (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 Monto del artículo. 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 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.cobroinmediato.tech/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>