Saltar al contenido principal

Tokens de aceptación

Para Wompi la privacidad y el correcto manejo de los datos personales de los usuarios son una prioridad. Por ello, cumpliendo con la regulación colombiana y la ley de Habeas data, en todos aquellos endpoints donde se recoja información personal de un usuario, como al crear una transacción (POST /transactions) o una fuente de pago (POST /payment_sources), deberás enviar en el cuerpo de la petición dos Token de Aceptación. Uno de los tokens corresponde a la aceptación de la política de privacidad (acceptance_token), y el otro indica la aceptación para el tratamiento de datos personales (accept_personal_auth). Esto asegura que al usuario se le presentaron las versiones más recientes de los contratos (documentos PDF) que explican el manejo que Wompi hará de sus datos personales. El usuario debe aceptar explícitamente que leyó ambos contratos en la interfaz de tu website o aplicación, a través de checkboxes por ejemplo, y acto seguido se deben enviar los dos tokens.

Los pasos a seguir para este proceso son:

  • Paso 1: Obtener los tokens de aceptación prefirmados.
  • Paso 2: Mostrarle los links de los respectivos contratos al usuario.
  • Paso 3: Asegurarse que el usuario acepte explícitamente que leyó y aceptó dichos contratos.
  • Paso 4: Enviar los tokens.

A continuación se explica en detalle cada paso del proceso, que aplica tanto para la creación de Transacciones como de Fuentes de Pago.

Paso 1: Obtener los tokens de aceptación prefirmados

Para obtener los tokens de aceptación prefirmados debes acceder al endpoint usando tu llave pública GET /merchants/:llave_publica_de_comercio. Este endpoint mostrará los datos de tu comercio incluyendo los Tokens de Aceptación de la siguiente manera:

{
"data": {
"presigned_acceptance": {
"acceptance_token": "eyJhbGciOiJIUzI1NiJ9.eyJjb250cmFjdF9pZCI6MSwicGVybWFsaW5rIjoiaHR0cHM6Ly93b21waS5jby93cC1jb250ZW50L3VwbG9hZHMvMjAxOS8wOS9URVJNSU5PUy1ZLUNPTkRJQ0lPTkVTLURFLVVTTy1VU1VBUklPUy1XT01QSS5wZGYiLCJmaWxlX2hhc2giOiIzZGNkMGM5OGU3NGFhYjk3OTdjZmY3ODExNzMxZjc3YiIsImppdCI6IjE1ODEwOTIzNjItMzk1NDkiLCJleHAiOjE1ODEwOTU5NjJ9.JwGfnfXsP9fbyOiQXFtQ_7T4r-tjvQrkFx0NyfIED5s",
"permalink": "https://wompi.co/wp-content/uploads/2019/09/TERMINOS-Y-CONDICIONES-DE-USO-USUARIOS-WOMPI.pdf",
"type": "END_USER_POLICY"
},
"presigned_personal_data_auth": {
"acceptance_token": "eyJhbGciOiJIUzI1NiJ9.eyJjb250cmFjdF9pZCI6NDQxLCJwZXJtYWxpbmsiOiJodHRwczovL3dvbXBpLmNvbS9hc3NldHMvZG93bmxvYWRibGUvYXV0b3JpemFjaW9uLWFkbWluaXN0cmFjaW9uLWRhdG9zLXBlcnNvbmFsZXMucGRmIiwiZmlsZV9oYXNoIjoiOTVkYzcwN2M0M2UxYmViMDAwMDUyZDNkNWJhZThhMDAiLCJqaXQiOiIxNzI5NTYwMTg3LTM3NDkxIiwiZW1haWwiOiIifQ.BhCzd8KyV0S_M5m22pmNu5lq8JV0L16JXkA2-OgZ5tQ",
"permalink": "https://wompi.com/assets/downloadble/autorizacion-administracion-datos-personales.pdf",
"type": "PERSONAL_DATA_AUTH"
}
}
}

En el mismo endpoint del paso anterior podrás tener acceso a los links de cada archivo PDF de los contratos al los cuales tus usuarios deben acceder y estar de acuerdo para proceder con el pago. Estos links los puedes encontrar en el campo que se llama permalink.

Ejemplo de los contratos

Paso 3: Aceptación explícita de los contratos por parte del usuario

En este paso, debes asegurarte que el usuario esté de acuerdo con cada uno de los contratos . Para esto, por ejemplo, es buena idea poner un checkbox por cada contrato por aceptar. Una vez que el usuario haya activado cada checkbox, se confirma y se asume que este leyó los contratos propuestos.

Ejemplo de aceptación de los contratos

Paso 4: Enviar los tokens de aceptación

Una vez el usuario acepta los contratos debes agregar los Tokens de Aceptación en los campo llamados acceptance_token y accept_personal_auth en el cuerpo de la petición.

Por ejemplo al crear una transacción, en POST /transactions:

{
"acceptance_token": "eyJhbGciOiJIUzI1NiJ9.eyJjb250cmFjdF9pZCI6MSwicGVybWFsaW5rIjoiaHR0cHM6Ly93b21waS5jby93cC1jb250ZW50L3VwbG9hZHMvMjAxOS8wOS9URVJNSU5PUy1ZLUNPTkRJQ0lPTkVTLURFLVVTTy1VU1VBUklPUy1XT01QSS5wZGYiLCJmaWxlX2hhc2giOiIzZGNkMGM5OGU3NGFhYjk3OTdjZmY3ODExNzMxZjc3YiIsImppdCI6IjE1ODEwOTIzNjItMzk1NDkiLCJleHAiOjE1ODEwOTU5NjJ9.JwGfnfXsP9fbyOiQXFtQ_7T4r-tjvQrkFx0NyfIED5s",
"accept_personal_auth": "eyJhbGciOiJIUzI1NiJ9.eyJjb250cmFjdF9pZCI6NDQxLCJwZXJtYWxpbmsiOiJodHRwczovL3dvbXBpLmNvbS9hc3NldHMvZG93bmxvYWRibGUvYXV0b3JpemFjaW9uLWFkbWluaXN0cmFjaW9uLWRhdG9zLXBlcnNvbmFsZXMucGRmIiwiZmlsZV9oYXNoIjoiOTVkYzcwN2M0M2UxYmViMDAwMDUyZDNkNWJhZThhMDAiLCJqaXQiOiIxNzI5NTY0MTM2LTU2NjMwIiwiZW1haWwiOiIifQ.0f-hFte-mpCcnxlrPgEG-fLdGBWUoQaUhU71pPuij40",
"amount_in_cents": 2500000,
"currency": "COP",
"signature": "37c8407747e595535433ef8f6a811d853cd943046624a0ec04662b17bbf33bf5",
"customer_email": "pepito_perez@example.com",
"reference": "2322er3234ed4",
"payment_method": {
"type": "NEQUI",
"phone_number": "3107654321"
}
}

NOTA: Si tienes dudas de como generar el valor de la firma de integridad puedes revisar la siguiente documentación: ** Genera una firma de integridad**

Por ejemplo al crear una fuente de pago, en POST /payment_sources:

{
"acceptance_token": "eyJhbGciOiJIUzI1NiJ9.eyJjb250cmFjdF9pZCI6MSwicGVybWFsaW5rIjoiaHR0cHM6Ly93b21waS5jby93cC1jb250ZW50L3VwbG9hZHMvMjAxOS8wOS9URVJNSU5PUy1ZLUNPTkRJQ0lPTkVTLURFLVVTTy1VU1VBUklPUy1XT01QSS5wZGYiLCJmaWxlX2hhc2giOiIzZGNkMGM5OGU3NGFhYjk3OTdjZmY3ODExNzMxZjc3YiIsImppdCI6IjE1ODEwOTIzNjItMzk1NDkiLCJleHAiOjE1ODEwOTU5NjJ9.JwGfnfXsP9fbyOiQXFtQ_7T4r-tjvQrkFx0NyfIED5s",
"accept_personal_auth": "eyJhbGciOiJIUzI1NiJ9.eyJjb250cmFjdF9pZCI6NDQxLCJwZXJtYWxpbmsiOiJodHRwczovL3dvbXBpLmNvbS9hc3NldHMvZG93bmxvYWRibGUvYXV0b3JpemFjaW9uLWFkbWluaXN0cmFjaW9uLWRhdG9zLXBlcnNvbmFsZXMucGRmIiwiZmlsZV9oYXNoIjoiOTVkYzcwN2M0M2UxYmViMDAwMDUyZDNkNWJhZThhMDAiLCJqaXQiOiIxNzI5NTY0MTM2LTU2NjMwIiwiZW1haWwiOiIifQ.0f-hFte-mpCcnxlrPgEG-fLdGBWUoQaUhU71pPuij40",
"customer_email": "pepito_perez@example.com",
"type": "NEQUI",
"token": "nequi_prod_RQkUiuv3lEnDLiSao2Cz0iQLdFlyQOI5"
}