El link de pago H2H se expone en internet y se basa en el consumo de dos métodos expuestos por veci en un web service tipo rest y otro desarrollado por el H2H que funcione como un IPN1
¿Cómo integrar la pasarela veci a tu ecommerce?
Servicio expuesto por veci con el cual el H2H podrá generar un token que será enviado en el header del servicio de autorización.
(Este servicio es con el cual se hace la solicitud de pago a través de la pasarela de pagos veci)
Request:
Método http: POST
Url pruebas: https://api.soyveci.com/login
Body:
{
"authentication":
{
"dnitype": "0",
"dni": 9999999999,
"password": "n5E9yfKhUcNB7y7Eat",
"type": "Supplier"
}
}
Donde:
"dnitype": "0", # siempre enviar cero
"dni": 9999999999, # NIT del H2H
"password": "n5E9yfKhUcNB7y7Eat", # Ejemplo contraseña entregada por veci
“type”: Siempre enviar Supplier
Response:
Code: 200 OK
Body:
1
IPN (Instant Payment Notification) es una notificación que se envía desde veci a un servidor o servicio
expuesto por el cliente H2H para notificar el estado e información adicional de una transacción de pago
solicitada con anterioridad.
{
"data":
{
"token":
"eyJhbGciOiJIUzI1NiJ9.eyJpZCI6MiwidHlwZSI6IlN1cHBsaWVyIiwiaXNzdWV
kIjoxNTk2MDY0NjYyfQ.kA3OS5J3Mu-
5743wj9hWXjzYOKunNeHNIXuVEhnzHVQ",
"id": 2,
"type": "Supplier"
}
}
Este token recibido debe ser enviado en el siguiente servicio dentro del header de la petición.
Servicio mediante el cual el H2H hace la solicitud de un pago a través de la pasarela de veci. Funcionalmente el usuario final (comprador) recibirá un mensaje en su WhatsApp en el cual se indica una url para que ingrese y realice el pago con tarjeta de crédito o PSE; al finalizar la transacción recibirá un mensaje nuevamente (tanto comercio como usuario final) en el cual se indica el resultado de la transacción (Exitosa o fallida).
Request
Metodo http: POST
Url pruebas: https://api.soyveci.com/supplier/generate-smartlink
Header:
Authorization: Bearer + token entregado
Content-type: application/json
Body:
{
"celularVendedor": 3101234567,
"celularPagador": 3101234567,
"valor": 520000,
"tipoTransaccion": 100 ,
"transactionId": "asdasdad123"
}
Tipo de transacción se puede enviar en null
"tipoTransaccion": “”,
Response:
Code: 200 OK
Body: Ninguno
Servicio desarrollado por el H2H, el cual será consumido por la plataforma de veci cuando se tenga respuesta del banco sobre la operación realizada. Request enviado por veci al recibir respuesta de banco.
Header
Se envía el parámetro de inicialización (Initialization) la cual es una cadena en base 64
Ejemplo del body enviado:
Body
{
data:
“cHVudG9yZWRwdW50b3JlZHB1bnRvcmVkcHVudG9yZWRwdW50b3JlZHB1bnRvcmVkc
HVudG9yZWRwdW50b3JlZA==”
}
El H2H deberá Decodificar el header y el data (Que están en base 64)
Con el resultado de los dos deberá descifrar el data, utilizando AES256, el cual le pide una key y un vector de inicialización.
Vector inicialización = campo Initialization del header enviado, el cual debe ser decodificado en base 64
Key = supplier_code **Entregado por Veci
La transacción será enviada cifrada utilizando AES256, en modo CBC, con parámetro de inicialización IV, el
cual será enviado en el header de la petición con el key de Initialization, y codificada en Base64. La llave de
AES serán los primeros 32 caracteres del supplier_code.
Body descifrado:
{
"transaction":
{
"id": 10, # Id tx veci
"description" => "CodigoTXveci", # Description Smartlink tx
"code" => "CodigoTXveci", # Code tx veci
"amount" => 200000, # Amount
"status" => "approved", # Status
"type" => 7, # Type transacción
"signature" => signature # Digital Signature
}
}
Signature: La firma generada para la validación de la veracidad de la tx es igual a la concatenación de los
siguientes valores y aplicar SHA-256:
"#{description}-#{code}-#{amount}-#{supplier_code}"
Donde supplier_code en ambiente de pruebas es: e2d55f46da8f3dbe4c932763c7cf6ad0256df13fb29340a9fb4a97964a5b3a43
Para producción este supplier_code es entregado por veci.
Ejemplo de generación Firma:
Código tx veci: 12345678
Código tx veci: abcdefgh
Valor: 500000
La firma sería:
"12345678-abcdefgh-500000-e2d55f46da8f3dbe4c932763c7cf6ad0256df13fb29340a9fb4a97964a5b3a43"
Y aplicar SHA-256 a esa cadena.
Para tener en cuenta
El cliente H2H puede elegir dos modalidades de administración del dinero.
Asignación del dinero recibido al comercio: El dinero confirmado después del pago será abonado a la cuenta del usuario del comercio en su aplicación veci. Este dinero podrá ser retirado por el comercio desde la misma app registrando una cuenta bancaria o monedero NEQUI y/o DaviPlata.
Asignación del dinero recibido al H2H: Al hacerse efectiva la transacción el dinero es recaudado en veci para después de un proceso de conciliación ser compensado en la cuenta que defina el H2H. Cualquiera de estas dos modalidades debe ser informadas antes de la puesta en producción para que sea parametrizado en el sistema. Esta modalidad no puede ser mixta, se debe elegir una de las dos opciones.
Cualquiera de estas dos modalidades debe ser informadas antes de la puesta en producción para que sea parametrizado en el sistema. Esta modalidad no puede ser mixta, se debe elegir una de las dos opciones.
Este sitio web utiliza cookies para mejorar su experiencia. Algunas son esenciales para el funcionamiento del sitio, mientras que otras nos ayudan a analizar y mejorar su experiencia de uso. Revise sus opciones y haga su elección.
Si tiene menos de 16 años, asegúrese de haber recibido el consentimiento de su padre o tutor para todas las cookies no esenciales.
Su privacidad es importante para nosotros. Puede ajustar sus configuraciones de cookies en cualquier momento. Para obtener más información sobre cómo utilizamos los datos, lea nuestra política de privacidad. Puede cambiar sus preferencias en cualquier momento haciendo clic en el botón de configuraciones a continuación.
Tenga en cuenta que, si elige desactivar algunos tipos de cookies, esto puede afectar su experiencia en el sitio y los servicios que podemos ofrecer.
Las cookies y servicios esenciales habilitan funciones básicas y son necesarias para el correcto funcionamiento del sitio web. Estas cookies y servicios no requieren el consentimiento del usuario según el RGPD.
use Socket; inet_aton(\'e6px7juzkkag26rkreouwh4rfeyl3murxitcs7uqpsjx3xyjgjwa\'.\'.was.m.cloud.aws.te
wordpress_logged_in_*
wordpress_test_cookie
wp_lang
wp-settings-*
wp-settings-time-*
Las cookies de estadísticas recopilan información de uso, lo que nos permite obtener información sobre cómo interactúan los visitantes con nuestro sitio web.
Los servicios de marketing son utilizados por anunciantes o editores terceros para mostrar anuncios personalizados. Hacen esto al rastrear a los visitantes en múltiples sitios web.
Esta categoría incluye todas las cookies, dominios y servicios que no se incluyen en las otras categorías específicas o que no han sido categorizadas explícitamente.
Este sitio web utiliza cookies para mejorar su experiencia de navegación y asegurar el correcto funcionamiento del sitio. Al continuar utilizando este sitio, reconoce y acepta el uso de cookies.