Claves secretas

Claves secretas facilitan la comunicación encriptada con las nuevas APIs de Mollie. Las nuevas APIs proporcionan una seguridad aún mejor que las anteriores porque:

  • Todas las solicitudes API son enrutadas a través de HTTPS.
    Esto asegura que la solicitud de la API no puede ser vista por otros. HTTPS también garantiza que es realmente con Mollie con quien se está comunicando.
  • La autenticación es realizada por medio de un profile_key.
    Esto significa que usted no tiene que incluir un nombre de usuario de contraseña. Si usted así lo elige, puede usar un diferente profile_key por sitio web.
  • Cada solicitud API contiene una marca de tiempo.
    Esto significa que la solicitud no puede ser enviada nuevamente más tarde.
  • Todas las solicitudes API sonfirmadas con una clave secreta.
    Así es como nuestra plataforma sabe que la solicitud fue hecha por su sitio web y es auténtica, y que los parámetros no fueron cambiados en el camino.
  • La API presenta versiones. Usted puede cambiar fácilmente a una versión diferente, y las versiones anteriores son admitidas por un período más largo.

APIs disponibles

Las siguientes APIs de Mollie usan claves secretas por seguridad:

¿Cómo funciona?

Cada método API tiene su propia URL, que puede llamar a través de HTTP.
https://www.mollie.com/api/api-naam/versie/methode

Por ejemplo, si desea llamar la versión v1 del método API create-payment de la tarjeta de crédito-api, usted usa la URL:
https://www.mollie.com/api/creditcard/v1/create-payment

Firma

Usted debe firmar cada solicitud API con la clave secreta que pertenece al perfil de su sitio web. Para este propósito, usamos un SHA1-HMAC, o Hash-based Message Authentication Code con SHA1 como el algoritmo de hashing.

  1. Tome el API endpoint al que llama, por ejemplo /api/reseller/account-valid/v1.
  2. Agréguele un ?.
  3. Agregue todos los parámetros y valores en orden alfabético, separadas por un símbolo (&).
    /api/reseller/v1/account-valid?a=value&partner_id=1234567&profile_key=decafbad&q=mijn%20waarde×tamp=1454324006&z=value
    Explicación: /api/reseller/account-valid/v1 es el método que es llamado, partner_id, profile_key y registro de tiempo son parámetros obligatorios para todas las solicitudes API y a, q y z son los otros parámetros para esta solicitud API.
    Por favor tome nota que usted debe URL-encode los valores para los parámetros: mi valor se torna mi%20valor.
  4. Use HMAC para calcular la firma de esta solicitud API y agréguelo al parámetro firma. Para una clave, usted usa la 'key' que pertenece al perfil del sitio web, usted la encontrará en la página-perfiles. Usted debe elegir 'SHA1' como el algoritmo. Por lo tanto, la firma siempre tiene 40 caracteres, por ejemplo: 6a018490f38ddc1571ab4cd9cd41f5e700c09ce2. Muchos lenguajes de programación presentan una implementación estándar del algoritmo HMAC. Ver por ejemplo hash_hmac() para PHP o elHMAC.hexdigest() método para Python.

Tip ¿Quiere saber más sobre HMAC? Wikipedia tiene una descripción detallada.

Parámetros siempre obligatorios

Usted debe enviar estos parámetros obligatorios a través de POST o en la cadena de consulta a través de GET. Estos parámetros son utilizados para autenticar la solicitud API.

Parámetro Explicación Observaciones
partner_id Su ID de Afiliado
profile_key La clave de perfil de su sitio web, usted puede recuperarla a través de la página-perfiles. Por ejemplo 115ea03a.
registro de tiempo El tiempo actual en tiempo Unix. El tiempo Unix ahora es 1454324006.
firma La firma de la solicitud, vea Firma más abajo. .

Versiones

Cada API Mollie se presenta con control de versiones. Cuando una API es modificada, Mollie lanza una nueva versión. Las versiones anteriores de la API quedarán disponibles durante un periodo de tiempo substancial.

Usted puede encontrar el número de la versión en la URL entre el nombre de la API y el nombre del método al que usted está llamando. El número de la versión también está disponible en la respuesta que recibe de la API.

Ejemplo de resultado de API


<?xml version="1.0"?>
<response version="v1">
<success>true</success>
<resultcode>10</resultcode>
<resultmessage>¡Funciona!</resultmessage>
</response>

Los siguientes elementos están presentes en cada resultado API:

  • <success> Indica si una solicitud fue ejecutada con exitosamente.
  • <resultcode> Indica qué error ocurrió durante la solicitud.
  • <resultmessage> Proporciona información adicional sobre el resultado.

Posibles códigos resultantes

Los siguientes códigos resultantes son posibles para todas las solicitudes API:

Código Explicación
10 La solicitud fue ejecutada exitosamente.
31 Está faltando el parámetro partner_id.
22 Está faltando el parámetro registro de tiempo.
23 Está faltando el parámetro signature.
24 La solicitud API fue enviada a través de HTTP en lugar de HTTPS.
25 El perfil del sitio web enviado no puede ser encontrado.
26 El método HTTP no está permitido, use un método listado en el encabezado Permitido.
27 La firma de la solicitud API es incorrecta.
28 El registro de tiempo ha expirado, por ejemplo está demasiado lejos en el pasado o en el futuro.
29 Falta uno de los parámetros obligatorios
95 La API no está disponible temporalmente.
96 Uno de los parámetros contiene segmentos que no pueden ser leídos como UTF-8.
98 Usted no tiene acceso al objeto solicitado o el método API.
97 El objeto especificado o el método API solicitado no existe.
99 Se produjo un error interno durante el procesamiento de la solicitud de la API.

Descargas & ejemplos

No hay necesidad de que usted reinvente la rueda. Mollie tiene justo para usted un script PHP listo para ser usado. Por supuesto, también puede optar por hacer la integración por su cuenta si el script no cumple con sus requerimientos.

¿Usted está usando node.js? En ese caso, usted puede usar el código abierto API-client para node.js, que ha sido desarrollado por Matthijs van Henten.

Soporte

¿Necesita soporte? Por favor no dude en contactarnos.