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 un Token de Aceptación. Este token indica que al usuario se le presentó la versión más reciente del contrato (documento PDF) que explica el manejo que Wompi hará de sus datos personales. El usuario debe aceptar explícitamente que leyó este contrato en la interfaz de tu website o aplicación, a través de un checkbox por ejemplo, y acto seguido se debe enviar el token.

Los pasos a seguir para este proceso son:

  • Paso 1: Obtener un token de aceptación prefirmado
  • Paso 2: Mostrarle un link del respectivo contrato al usuario
  • Paso 3: Asegurarse que el usuario acepte explícitamente que leyó y aceptó dicho contrato
  • Paso 4: Enviar el token

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 un token de aceptación prefirmado

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

{
"data": {
// Otros datos del comercio...
"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"
}
}
}

En el mismo endpoint del paso anterior podrás tener acceso al link del archivo PDF del contrato al cual tus usuarios deben acceder y estar de acuerdo para proceder con el pago. Este campo se llama permalink.

Ejemplo de contrato

Paso 3: Aceptación explícita del contrato por parte del usuario

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

Ejemplo de aceptación de contrato

Paso 4: Enviar el token de aceptación

Una vez el usuario acepta el contrato debes agregar el Token de Aceptación en un campo llamado acceptance_token en el cuerpo de la petición.

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

{
"acceptance_token": "eyJhbGciOiJIUzI1NiJ9.eyJjb250cmFjdF9pZCI6MSwicGVybWFsaW5rIjoiaHR0cHM6Ly93b21waS5jby93cC1jb250ZW50L3VwbG9hZHMvMjAxOS8wOS9URVJNSU5PUy1ZLUNPTkRJQ0lPTkVTLURFLVVTTy1VU1VBUklPUy1XT01QSS5wZGYiLCJmaWxlX2hhc2giOiIzZGNkMGM5OGU3NGFhYjk3OTdjZmY3ODExNzMxZjc3YiIsImppdCI6IjE1ODEwOTIzNjItMzk1NDkiLCJleHAiOjE1ODEwOTU5NjJ9.JwGfnfXsP9fbyOiQXFtQ_7T4r-tjvQrkFx0NyfIED5s",
"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",
"customer_email": "pepito_perez@example.com",
"type": "NEQUI",
"token": "nequi_prod_RQkUiuv3lEnDLiSao2Cz0iQLdFlyQOI5"
}