NAV Navbar
shell
  • Pagaris API V1
  • Registro y ambientes
  • Autenticación y seguridad
  • Notas adicionales
  • Cargos
  • Beneficiarios
  • Transferencias
  • Pagos
  • Webhooks
  • Catálogo de instituciones
  • Pagaris API V1

    En esta documentación, se explican a detalle las solicitudes que puedes llevar a cabo como parte de las operaciones de pagaris para:

    El modelo operativo de Transferencias de Pagaris está pensado para negocios o personas que realizan varios pagos interbancarios de manera regular -por ejemplo un marketplace para pagar a sus usuarios-. El beneficio que ofrecemos es que podrán llevar a cabo esos mismos múltiples pagos a la vez con un único fondeo previo, además de poder integrar las tecnologías de Pagaris a sus sistemas y servicios de manera sencilla y práctica siguiendo las instrucciones de esta documentación.

    Por otra parte, el modelo de Cargos es para negocios (principalmente en línea) que desean cobrar vía SPEI de manera referenciada e individual por un producto o servicio a sus clientes y que desean recibir notificación en tiempo real una vez que su cliente pagó, además de recibir los fondos en tiempo real en su cuenta bancaria regular (ej. en Banamex o Santander)

    Registro y ambientes

    La API de Pagaris es REST, JSON, versionada y segura. Para poder hacer uso de la API debes estar registrado en el sitio web https://pagaris.com/. Esto te dará acceso a la sección 'Configuración' (a la que también puedes acceder al dar click en tu nombre en el menú principal una vez que iniciaste sesión), en donde podrás encontrar dos tokens API: uno para el ambiente 'Sandbox' y uno para el ambiente 'Producción', además de poder proporcionar una dirección URL para recibir webhooks en cada ambiente.

    Nota: La API en modo Producción sólo estará activa una vez que tu cuenta haya sido completada (hayas proporcionado toda la documentación requerida) y verificada por Pagaris. Puedes empezar a realizar pruebas en Sandbox, pero si quieres usar las funcionalidades en modo Producción, eventualmente deberás completar tu registro para que podamos verificar tu cuenta. Si tu cuenta no ha sido completada o verificada, verás una leyenda en el menú principal del sitio al dar click en tu nombre. Sigue las instrucciones para completar tu cuenta y podamos llevar a cabo la verificación.

    La diferencia principal entre ambos ambientes es que en Sandbox se simulan las solicitudes y se regresan respuestas simuladas, mientras en Producción las solicitudes sí se llevan a cabo y las respuestas son reales. El modo Sandbox hace 'mock' de las solicitudes, y si bien permite llevar a cabo las mismas operaciones, regresa solamente respuestas de ejemplo.

    Te recomendamos hacer uso del ambiente Sandbox para comenzar a integrar tus tecnologías con pagaris y llevar a cabo los tests que requieras.

    Tanto las solicitudes como las respuestas utilizan el formato JSON como se verá más adelante en los ejemplos, y así se especifica con el Header de tipo Content-type con el valor application/json.

    Autenticación y seguridad

    Por seguridad y para autenticar a cada usuario, cada solicitud de las operaciones que se enlistan más adelante debe siempre ir acompañada de un token como método de autenticación en el Header de tipo Authorization después de la palabra Bearer como verás en la documentación más adelante. Este token es al que se hace referencia en la sección de Registro y ambientes.

    Se muestra en esta sección el ejemplo de autenticación con token xyz123.

    curl --request POST \
      --url https://pagaris.com/api/v1/recipients \
      --header 'Authorization: Bearer xyz123' \
      --header 'Content-Type: application/json' \
    ....
    

    Es importante aclarar que la API (su endpoint URL) y sus operaciones, son exactamente las mismas para ambos ambientes. Lo único que cambia, es el token que se pasa como parte de cada solicitud a las operaciones de la API. De modo que, el token que le pasas (ya sea el de modo Sandbox o Producción) determinará el ambiente en el que se lleva a cabo tu solicitud.

    Como podrás observar en los ejemplos a continuación, en las respuestas a tus solicitudes exitosas se pasa el parámetro sandbox que puede devolver true o false y sirve para identificar si dicha solicitud y la respuesta pertenecen a sandbox o a producción de acuerdo al token que pasaste.

    Todas las solicitudes se llevan a cabo a través de HTTPS. Es tu responsabilidad no compartir tus tokens con terceros ni exponerlos en código o llamadas públicas, ya que esto daría acceso a terceros a llamar a Pagaris como si fueras tú.

    Notas adicionales

    Si encuentras una inconsistencia en esta documentación o tienes una duda, comentario o problema, envíanos un ticket de soporte.

    El contenido aquí mostrado es propiedad de pagaris. PAGARIS es una marca registrada. Esta documentación se rige por los términos y condiciones del sitio web de pagaris (pagaris.com) así como otros que apliquen específicados dentro del sitio web de pagaris, según sea el caso. Recuerda que al hacer uso de esta API aceptas regirte continuamente por dichos términos.

    (SPEI: Sistema de Pagos Electrónicos Interbancarios. Marca Registrada. Banco de México)

    Cargos

    Un cargo es un cobro vía SPEI que creas en Pagaris esperando que un usuario o cliente tuyo pague desde su banca en línea. Una vez que paga, te notificamos de esto por diferentes canales y te enviamos los fondos a tu cuenta bancaria regular.

    Crear cargo

    Ejemplo de solicitud:

    curl --request POST  \
      --url https://pagaris.com/api/v1/charges \
      --header 'Authorization: Bearer xyz123' \
      --header 'Content-Type: application/json' \
      --data '{
        "charge": {
          "amount": 984.21,
          "description": "PO 4562",
          "metadata": {
            "customer_id": 1233,
            "additional_info": "Some text"
          }
        }
      }'
    

    Ejemplo de respuesta:

    {
        "charge": {
            "id": "21ea3942-25d9-402b-bd4c-76bcbf2467f3",
            "amount": "984.21",
            "description": "PO 4562",
            "metadata": {
                "customer_id": "1233",
                "additional_info": "Some text"
            },
            "status": "pending_payment",
            "created_at": "2018-05-02T13:45:07.248-05:00",
            "updated_at": "2018-05-02T13:45:07.248-05:00",
            "instructions": {
                "name": "Soluciones en TI SA de CV",
                "clabe": "123",
                "institution": "abc",
                "numerical_reference": "4234753",
                "concept": "4234753"
            }
        },
        "sandbox": false
    }
    

    Solicitud HTTP

    POST https://pagaris.com/api/v1/charges

    Descripción

    Crea un cargo que esperas recibir

    Parámetros

    Respuestas HTTP

    Resultado

    Si la solicitud es válida, adicional a lo presentado por el usuario:

    Ver cargos

    Ejemplo de solicitud:

    curl --request GET  \
      --url https://pagaris.com/api/v1/charges \
      --header 'Authorization: Bearer xyz123' \
      --header 'Content-Type: application/json'
    

    Ejemplo de respuesta:

    {
      "charges": [
        {
          "id": "cfc1d7ac-534b-5a16-bd65-6537c6f1c0df",
          "amount": "102.45",
          "metadata": null,
          "status": "pending_payment",
          "created_at": "2018-05-02T13:45:07.248-05:00",
          "updated_at": "2018-05-02T13:45:07.248-05:00",
          "instructions": {
            "name": "Soluciones en TI SA de CV",
            "clabe": "646185723900000015",
            "institution": "abc",
            "numerical_reference": "1000001",
            "concept": "1000001"
          }
        },
        {
          "id": "c9dd4054-bb2f-48b9-8d30-378d98a0ab54",
          "amount": "5842.56",
          "metadata": null,
          "status": "pending_payment",
          "created_at": "2018-05-01T13:50:07.248-05:00",
          "updated_at": "2018-05-01T13:50:07.248-05:00",
          "instructions": {
            "name": "Soluciones en TI SA de CV",
            "clabe": "646185723900000015",
            "institution": "abc",
            "numerical_reference": "5478692",
            "concept": "5478692"
          }
        }
      ],
      "sandbox": false
    }
    
    

    Solicitud HTTP

    GET https://pagaris.com/api/v1/charges

    Descripción

    Ver los cargos previamente creados

    Respuestas HTTP

    Testo en sandbox

    En sandbox, se regresan 5 cargos con datos aleatorios (cantidad y ID)

    Ver detalles de cargo

    Ejemplo de solicitud:

    curl --request GET  \
     --url https://pagaris.com/api/v1/charges/cfc1d7ac-534b-5a16-bd65-6537c6f1c0df \
     --header 'Authorization: Bearer xyz123' \
     --header 'Content-Type: application/json'
    

    Ejemplo de respuesta:

    {
      "charge": {
        "id": "cfc1d7ac-534b-5a16-bd65-6537c6f1c0df",
        "amount": "102.45",
        "metadata": null,
        "status": "pending_payment",
        "created_at": "2018-05-02T13:47:41.897-05:00",
        "updated_at": "2018-05-02T13:47:41.897-05:00",
        "instructions": {
          "name": "Soluciones Tecnológicas SA de CV",
          "clabe": "646185723900000015",
          "institution": "abc",
          "numerical_reference": "1000001",
          "concept": "1000001"
        }
      },
      "sandbox": false
    }
    

    Solicitud HTTP

    GET https://pagaris.com/api/v1/charges/:id

    Descripción

    Ver los detales de un cargo previamente creado. Se pasa el ID del cargo como parte de la URL como se muestra en el ejemplo

    Respuestas HTTP

    Testo en sandbox

    En sandbox, puedes hacer GET del cargo con ID 22222222-7777-0000-0000-444444444444 para obtener una respuesta válida.

    Beneficiarios

    Un beneficiario es una persona física o moral a quien deseas enviar pagos, y que tiene en una institución de la red nacional SPEI (bancos, casas de bolsa, aseguradoras participantes) una CLABE, Tarjeta de débito o número de celular vinculado a su cuenta.

    Agregar beneficiario

    Ejemplo de solicitud:

    curl --request POST \
      --url https://pagaris.com/api/v1/recipients \
      --header 'Authorization: Bearer xyz123' \
      --header 'Content-Type: application/json' \
      --data '{
      "recipient": {
        "legal_name": "Pedro Martinez Perez",
        "alias": "456783hfyehfdh6",
        "account_type": "clabe",
        "account_number": "644578451249830260",
        "institution": "banamex",
        "email": "[email protected]",
        "mobile_phone": "4441557788"
      }
    }'
    

    Ejemplo de respuesta:

    {
       "recipient": {
            "id": "464d674c-2a6e-4c98-96c3-4854ff929261",
            "legal_name": "Pedro Martinez Perez",
            "alias": "456783hfyehfdh6",
            "account_type": "clabe",
            "account_number": "644578451249830260",
            "institution": "banamex",
            "email": "[email protected]",
            "mobile_phone": "4441557788",
            "created_at": "2017-09-27T18:30:49-0300",
            "updated_at": "2017-09-27T18:30:49-0300"
        },
      "sandbox": false
    }
    

    Solicitud HTTP

    POST https://pagaris.com/api/v1/recipients

    Descripción

    Esta operación te permite agregar un beneficiario al catálogo de beneficiarios de tu cuenta. Un pago dentro de una transferencia se debe dirigir a un beneficiario.

    Parámetros

    Respuestas HTTP

    Resultado

    Si la solicitud es exitosa, se regresa el recipient.id (ID del beneficiario), junto con campos auto-generados como fechas de creación y última modificación, como se ve en el ejemplo.

    Ver beneficiarios

    Ejemplo de solicitud:

    curl --request GET \
      --url https://pagaris.com/api/v1/recipients \
      --header 'Authorization: Bearer xyz123' \
      --header 'Content-Type: application/json'
    

    Ejemplo de respuesta:

    {
        "recipients": [
            {
                "id": "464d674c-2a6e-4c98-96c3-4854ff929261",
                "legal_name": "Pedro Martinez Perez",
                "alias": "Pedrito",
                "account_type": "clabe",
                "account_number": "644578451249830300",
                "email": "[email protected]",
                "mobile_phone": "4441557788",
                "institution": "banamex",
                "created_at": "2017-09-27T18:30:49-0300",
                "updated_at": "2017-09-27T18:30:49-0300"
            },
            {
                "id": "9f6375de-ab39-4570-8009-ff218d3accf2",
                "legal_name": "Soluciones Tecnológicas SA de CV",
                "alias": "SOTESA",
                "account_type": "debit_card",
                "account_number": "5445123489745644",
                "email": "[email protected]",
                "mobile_phone": "4441584568",
                "institution": "scotiabank",
                "created_at": "2017-09-27T18:30:49-0300",
                "updated_at": "2017-09-27T18:30:49-0300"
            },
            {
              "id": "57d6268b-2133-44d7-a73c-8ee66d5819b4",
              "legal_name": "Julio Sanchez Ruiz",
              "alias": "id123",
              "account_type": "phone",
              "account_number": "4441234567",
              "email": "[email protected]",
              "mobile_phone": "4441234567",
              "institution": "inbursa",
              "created_at": "2017-09-28T19:31:50-0300",
              "updated_at": "2017-09-28T19:31:50-0300"
            }
        ],
        "sandbox": false
    }
    

    Solicitud HTTP

    GET https://pagaris.com/api/v1/recipients

    Descripción

    Esta operación devuelve el listado de tus beneficiarios, a modo de arreglo.

    Respuestas HTTP

    Ver detalles de beneficiario

    Ejemplo de solicitud:

    curl --request GET \
      --url https://pagaris.com/api/v1/recipients/464d674c-2a6e-4c98-96c3-4854ff929261 \
      --header 'Authorization: Bearer xyz123' \
      --header 'Content-Type: application/json'
    

    Ejemplo de respuesta:

    {
        "recipient":
            {
                "id": "464d674c-2a6e-4c98-96c3-4854ff929261",
                "legal_name": "Pedro Martinez Perez",
                "alias": "Pedrito",
                "account_type": "clabe",
                "account_number": "644578451249830300",
                "email": "[email protected]",
                "mobile_phone": "4441557788",
                "institution": "banamex",
                "created_at": "2017-09-27T18:30:49-0300",
                "updated_at": "2017-09-27T18:30:49-0300"
            },
        "sandbox": false
    }
    

    Solicitud HTTP

    GET https://pagaris.com/api/v1/recipients/:id

    Descripción

    Ver todos los parámetros guardados para un beneficiario creado previamente. Se pasa el ID del beneficiario como parte de la URL como se muestra en el ejemplo

    Respuestas HTTP

    Testeo en sandbox

    Puedes utilizar el ID aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee si estás probando en sandbox para obtener una respuesta correcta de esta solicitud. Cualquier otro ID regresa el estado HTTP 404 en sandbox.

    Transferencias

    Una transferencia se compone de uno o varios pagos. Cada pago debe estar dirigido a un beneficiario (recipient).

    Existen 2 métodos para crear la transferencia a través de la API:

    1) Con beneficiarios nuevos: Se pueden enviar las instrucciones de pago junto con los datos requeridos del(los) beneficiario(s) (que no ha sido creado(s) previamente)

    2) Con beneficiarios previamente creados: Se usan beneficiarios previamente creados.

    Si tu interamente guardas los ID de cada beneficiario, te convendrá utirlizar el segundo método. A continuación se muestran ambos.

    Crear transferencia (beneficiarios nuevos)

    Ejemplo de solicitud:

    curl --request POST \
      --url https://pagaris.com/api/v1/transfers \
      --header 'Authorization: Bearer xyz123' \
      --header 'Content-Type: application/json' \
      --data '{
        "transfer": {
        "alias": "Test transfer",
        "payments": [
          {
            "recipient": {
              "legal_name": "Faust Robles",
              "account_number": 272182654341016000,
              "institution": "banamex",
              "email": "[email protected]",
              "alias": "a400c95f-f159-4fa2-9cd8-20cf1ca2792e"
            },
            "amount": "100.00",
            "description": "First payment",
            "sends_completion_email_to_recipient": true
          },
          {
            "recipient": {
              "legal_name": "Jenofonte Nino",
              "account_number": 3337411462,
              "institution": "fondo_fira",
              "email": "[email protected]",
              "alias": "10a0c650-a15a-4230-b89e-2f73b5f403f8"
            },
            "amount": "540.5",
            "description": "Second payment",
            "sends_completion_email_to_recipient": false
          }
        ]
        }
    }'
    

    Ejemplo de respuesta:

    {
        "transfer": {
            "id": "57501f5e-dcb3-46b3-b982-e016d669fc2b",
            "alias": "Test transfer",
            "created_at": "2017-09-27T18:30:49-0300",
            "updated_at": "2017-09-27T18:30:49-0300",
            "payments_count": "2",
            "payments_total": "640.5",
            "total": "640.5",
            "status": "pending_funding",
            "funding": {
                "name": "Joaquin Gómez González",
                "clabe": "123456789012345678",
                "institution": "stp",
                "numerical_reference": "1234567",
                "concept": "1234567"
            },
            "payments": [
                {
                "id": "48826005-a589-423d-80c8-80fffa97fd9d",
                "recipient_id": "2e0e753d-82b6-52c4-9eee-a4b5fdd70a23",
                "amount": "100.00",
                "description": "First payment",
                "sends_completion_email_to_recipient": true,
                "status": "pending",
                "created_at": "2017-09-27T18:30:49-0300",
                "updated_at": "2017-09-27T18:30:49-0300",
                "banxico_reference": "def"
                },
                {
                "id": "8d0e8dea-ebcb-4d9c-a29d-dab3488f44ef",
                "recipient_id": "2e0e753d-82b6-52c4-9eee-a4b5fdd70a23",
                "amount": "540.50",
                "description": "Second payment",
                "sends_completion_email_to_recipient": false,
                "status": "pending",
                "created_at": "2017-09-27T18:30:49-0300",
                "updated_at": "2017-09-27T18:30:49-0300",
                "banxico_reference": "jkl"
                }
            ]
        },
        "sandbox": false
    }
    

    Solicitud HTTP

    POST https://pagaris.com/api/v1/transfers

    Descripción

    Crear una transferencia con uno o múltiples pagos. En este método, se espera que los pagos que se incluyan vayan dirigidos a beneficiarios que no han sido dados de alta previamente.

    Si la creación de la transferencia es exitosa, se crearían los beneficiarios de modo que se obtendría un ID que podrías usar para futuras creaciones de transferencias sin necesidad de proporcionar todos los datos desde cero, si así lo quisieras.

    Es posible usar este método de creación de transferencia, incluso si se incluyen beneficiarios previamente creados, siempre y cuando se incluyan todos los parámetros requeridos. No se generarían duplicados.

    Parámetros

    Respuestas HTTP

    Resultado

    Si la solicitud es válida, adicional a lo presentado por el usuario:

    Crear transferencia (beneficiarios previamente creados)

    Ejemplo de solicitud:

      curl --request POST \
        --url https://pagaris.com/api/v1/transfers \
        --header 'Authorization: Bearer xyz123' \
        --header 'Content-Type: application/json' \
        --data '{
        "transfer": {
          "alias": "Test transfer",
          "payments": [
            {
            "recipient_id": "015861b5-09c9-4a5a-8dc8-26f8b32c75b8",
            "amount": "100.00",
            "description": "First payment",
            "sends_completion_email_to_recipient": true
            },
            {
            "recipient_id": "2e0e753d-82b6-52c4-9eee-a4b5fdd70a23",
            "amount": "540.5",
            "description": "Second payment",
            "sends_completion_email_to_recipient": false
            }
            ]
        }
      }'
    

    Ejemplo de respuesta:

      {
        "transfer": {
            "id": "57501f5e-dcb3-46b3-b982-e016d669fc2b",
            "alias": "Test transfer",
            "created_at": "2017-09-27T18:30:49-0300",
            "updated_at": "2017-09-27T18:30:49-0300",
            "payments_count": "2",
            "payments_total": "640.5",
            "total": "640.5",
            "status": "pending_funding",
            "funding": {
                "name": "Joaquin Gómez González",
                "clabe": "123456789012345678",
                "institution": "stp",
                "numerical_reference": "1234567",
                "concept": "1234567"
            },
            "payments": [
                {
                "id": "48826005-a589-423d-80c8-80fffa97fd9d",
                "recipient_id": "2e0e753d-82b6-52c4-9eee-a4b5fdd70a23",
                "amount": "100.00",
                "description": "First payment",
                "sends_completion_email_to_recipient": true,
                "status": "pending",
                "created_at": "2017-09-27T18:30:49-0300",
                "updated_at": "2017-09-27T18:30:49-0300",
                "banxico_reference": "def"
                },
                {
                "id": "8d0e8dea-ebcb-4d9c-a29d-dab3488f44ef",
                "recipient_id": "2e0e753d-82b6-52c4-9eee-a4b5fdd70a23",
                "amount": "540.50",
                "description": "Second payment",
                "sends_completion_email_to_recipient": false,
                "status": "pending",
                "created_at": "2017-09-27T18:30:49-0300",
                "updated_at": "2017-09-27T18:30:49-0300",
                "banxico_reference": "jkl"
                }
            ]
        },
        "sandbox": false
      }
    

    Solicitud HTTP

    POST https://pagaris.com/api/v1/transfers

    Descripción

    Crear una transferencia con uno o múltiples pagos. En este método, se espera que los pagos que se incluyan vayan dirigidos a un beneficiario previamente creado.

    Parámetros

    Respuestas HTTP

    Resultado

    Si la solicitud es válida, adicional a lo presentado por el usuario:

    Ver transferencias

    Ejemplo de solicitud:

    curl --request GET \
      --url https://pagaris.com/api/v1/transfers/ \
      --header 'Authorization: Bearer xyz123' \
      --header 'Content-Type: application/json'
    

    Ejemplo de respuesta:

    {
        "transfers": [
            {
                "id": "57501f5e-dcb3-46b3-b982-e016d669fc2b",
                "alias": "Test transfer",
                "created_at": "2017-09-27T18:30:49-0300",
                "updated_at": "2017-09-27T18:30:49-0300",
                "payments_count": "2",
                "payments_total": "640.5",
                "total": "640.5",
                "status": "pending_funding",
                "funding": {
                    "name": "Joaquin Gómez González",
                    "clabe": "123456789012345678",
                    "institution": "stp",
                    "numerical_reference": "1234567",
                    "concept": "1234567"
                }
            },
            {
                "id": "1bcea185-8130-4360-b894-e3861a056a87",
                "alias": "Marketplace payout #148",
                "created_at": "2018-10-27T18:30:49-0300",
                "updated_at": "2018-11-27T18:30:49-0300",
                "payments_count": "28",
                "payments_total": "15485.35",
                "total": "15485.35",
                "status": "completed",
                "funding": {
                    "name": "Joaquin Gómez González",
                    "clabe": "123456789012345678",
                    "institution": "stp",
                    "numerical_reference": "4579647",
                    "concept": "4579647"
                }
            }
        ],
        "sandbox": false
    }
    

    Solicitud HTTP

    GET https://pagaris.com/api/v1/transfers/

    Descripción

    Obtener un listado de las transferencias previamente creadas por el usuario.

    Respuestas HTTP

    Ver detalles de transferencia

    Ejemplo de solicitud:

    curl --request GET \
      --url https://pagaris.com/api/v1/transfers/57501f5e-dcb3-46b3-b982-e016d669fc2b \
      --header 'Authorization: Bearer xyz123' \
      --header 'Content-Type: application/json'
    

    Ejemplo de respuesta:

    {
        "transfer": {
            "id": "57501f5e-dcb3-46b3-b982-e016d669fc2b",
            "alias": "Test transfer",
            "created_at": "2017-09-27T18:30:49-0300",
            "updated_at": "2017-09-27T18:30:49-0300",
            "payments_count": "2",
            "payments_total": "640.5",
            "total": "640.5",
            "status": "pending_funding",
            "funding": {
                "name": "Joaquin Gómez González",
                "clabe": "123456789012345678",
                "institution": "stp",
                "numerical_reference": "1234567",
                "concept": "1234567"
            },
            "payments": [
                {
                    "id": "48826005-a589-423d-80c8-80fffa97fd9d",
                    "recipient_id": "2e0e753d-82b6-52c4-9eee-a4b5fdd70a23",
                    "amount": "100.00",
                    "description": "First payment",
                    "status": "pending",
                    "sends_completion_email_to_recipient": true,
                    "created_at": "2017-09-27T18:30:49-0300",
                    "updated_at": "2017-09-27T18:30:49-0300",
                    "banxico_reference": "def"
                },
                {
                    "payment_id": "8d0e8dea-ebcb-4d9c-a29d-dab3488f44ef",
                    "recipient_id": "2e0e753d-82b6-52c4-9eee-a4b5fdd70a23",
                    "amount": "540.50",
                    "description": "Second payment",
                    "status": "pending",
                    "sends_completion_email_to_recipient": false,
                    "created_at": "2017-09-27T18:30:49-0300",
                    "updated_at": "2017-09-27T18:30:49-0300",
                    "banxico_reference": "jkl"
                }
            ]
        },
        "sandbox": false
    }
    

    Solicitud HTTP

    GET https://pagaris.com/api/v1/transfers/:id

    Descripción

    Ver todos los parámetros guardados para una transferencia previamente creada. Se pasa el ID de la transferencia como parte de la URL

    Respuestas HTTP

    Testeo en sandbox

    Se puede hacer el GET de la transferencia con ID 00000000-1111-2222-3333-444444444444 para obtener una respuesta HTTP 200- OK. Todos los demás en modo Sandbox, devuelven 404.

    Pagos

    Un pago se refiere al envío vía SPEI de una cantidad en pesos a un beneficiario y que está incluido en una transferencia.

    Ver detalles de pago

    Ejemplo de solicitud:

    curl --request GET \
      --url https://pagaris.com/api/v1/payments/48826005-a589-423d-80c8-80fffa97fd9d \
      --header 'Authorization: Bearer xyz123' \
      --header 'Content-Type: application/json'
    

    Ejemplo de respuesta:

    {
        "payment": {
            "id": "35fb9509-fdfe-56ff-847a-96797c1d9dd1",
            "amount": "9.99",
            "description": "payment_one",
            "transfer_id": "a0e71d72-55c9-5d57-838e-9fd4a3dd5a4b",
            "status": "pending",
            "sends_completion_email_to_recipient": true,
            "error": null,
            "humanized_error": null,
            "created_at": "2018-04-05T16:56:55.055Z",
            "updated_at": "2018-04-05T16:56:55.055Z",
            "banxico_reference": "xxx",
            "recipient": {
              "id": "f283796d-4b3c-5496-b453-d62b44f9445d",
              "legal_name": "Jorge López Sánchez",
              "alias": "JLS",
              "account_type": "clabe",
              "account_number": "9182391232",
              "email": "[email protected]",
              "mobile_phone": "4441244412",
              "institution": "banamex",
              "created_at": "2018-04-04T16:56:55.055Z",
              "updated_at": "2018-04-04T16:56:55.055Z",
              "humanized_name": "JLS (***1232)"
            }
        },
      "sandbox": false
    }
    

    Solicitud HTTP

    GET https://pagaris.com/api/v1/payments/:id

    Descripción

    Ver todos los parámetros guardados para un pago como parte de una transferencias del usuario. Se pasa el ID del pago como parte de la URL

    Respuestas HTTP

    Resultado

    Se pasan todos los detalles que un pago tiene como parte de una transferencia, junto con los detalles del beneficiario al que se dirije, más el ID de la transferencia a la que pertenece el pago, y posibles errores que puede presentar el pago.

    Por un lado se pasa el código de error ( error ) que de existir, puede ser E1XX, E2XX o E9XX. Los que inician con E1 o E9 son internos. Los demás son externos (devoluciones o rechazos), de acuerdo a la institución del beneficiario. Estos son los siguientes, y a continuación de cada uno, se dan detalles del error ( humanized_error ):

    Testeo en Sandbox

    Se puede hacer el GET del pago con ID 99999999-8888-7777-6666-555555555555 para obtener una respuesta HTTP 200- OK. Todos los demás en modo Sandbox, devuelven 404.

    Webhooks

    A través de webhooks recibirás notificaciones para cambios de estado en:

    Estos webhooks se pueden recibir en 2 direcciones URL que proporciones, una para cada ambiente Sandbox/Producción. Es decir, te haremos un HTTP POST a la URL que nos proporciones en el ambiente correspondiente, para avisarte cuando uno de tus pagos, transferencias o cargos tenga un cambio de estado "en tiempo real", sin necesidad de que tengas que hacer GET constantemente a las operaciones de la API con la finalidad de saber las últimas actualizaciones de tus recursos.

    Si tu aplicación responde con un estado HTTP 200, significa que recibió correctamente la notificación. Si envía cualquier otro estado (ej. 404, 500, etc.) o simplemente no recibimos respuesta de tu aplicación, reintentaremos enviar este Webhook durante unos días hasta que recibamos una respuesta 200.

    Al estar registrado en el sitio web https://pagaris.com/, tendrás acceso a la sección 'Configuración' (a la que también puedes acceder al dar click en tu nombre en el menú principal una vez que iniciaste sesión), en donde podrás proporcionar una dirección URL para recibir webhooks en cada ambiente.

    Los webhooks que te enviamos llevan una firma en Headers con llave X-Pagaris-Signature y con el valor que se muestra en la sección de "Configuración" que mencionamos anteriormente. De esta forma, puedes estar seguro de que este webhook en efecto viene de Pagaris y no de alguien más haciéndose pasar por nosotros.

    Cambio de estado en cargo

    POST <Tu path parte de la URL para recibir webhooks> HTTP/1.1
    Host: <Tu URL para recibir webhooks>
    User-Agent: curl/7.45.0
    Accept: */*
    Content-Type: application/json
    X-Pagaris-Signature: <La firma que te fue asignada>
    
    {
      "object": "webhook",
      "type": "charge.update",
      "data": {
        "charge": {
          "id": "cfc1d7ac-534b-5a16-bd65-6537c6f1c0df",
          "amount": "102.45",
          "description": "Some text",
          "status": "pending_payment",
          "metadata": null,
          "created_at": "2018-05-02T16:11:37.563-05:00",
          "updated_at": "2018-05-02T16:11:37.563-05:00",
          "numerical_reference": "1000001"
        }
      },
      "sandbox": false
    }
    

    Recibirás este webhook cuando un cargo cambie de su estado inicial (pending_payment) a cualquier otro.

    Incluye:

    Testeo en sandbox

    Después de que creaste el cargo en modo sandbox, se van a encolar 2 webhooks (también a modo sandbox):

    En estos webhooks en modo sandbox solamente se enviarán como propiedades id y status como parte de charge.

    Cambio de estado en transferencia

    POST <Tu path parte de la URL para recibir webhooks> HTTP/1.1
    Host: <Tu URL para recibir webhooks>
    User-Agent: curl/7.45.0
    Accept: */*
    Content-Type: application/json
    X-Pagaris-Signature: <La firma que te fue asignada>
    
    {
        "data": {
            "transfer": {
                "alias": null,
                "created_at": "2018-03-31 22:49:54 UTC",
                "id": "cee97b60-b842-4085-bd5e-e86595413133",
                "numerical_reference": "4744272",
                "payments_count": 3,
                "payments_total": "9695.0",
                "status": "pending_payments",
                "total": "9695.0",
                "updated_at": "2018-04-06 00:21:11 UTC"
            }
        },
        "object": "webhook",
        "type": "transfer.update",
        "sandbox": false
    }
    

    Recibirás este webhook cuando una transferencia cambie de su estado inicial (pending_funding) a cualquier otro.

    Incluye:

    Testeo en sandbox

    2 minutos después de que creaste la transferencia en modo sandbox, recibirás un webhook que simula que la transferencia fue completada (status completed sin pasar por el estado que seguiría normalmente que es pending_payments).

    En estos webhooks en modo sandbox solamente se enviarán como propiedades id y status como parte de transfer.

    Cambio de estado en pago

    POST <Tu path parte de la URL para recibir webhooks> HTTP/1.1
    Host: <Tu URL para recibir webhooks>
    User-Agent: curl/7.45.0
    Accept: */*
    Content-Type: application/json
    X-Pagaris-Signature: <La firma que te fue asignada>
    
    {
        "data": {
            "payment": {
                "amount": "1000.0",
                "description": "2-2",
                "sends_completion_email_to_recipient": true,
                "error": null,
                "humanized_error": null,
                "id": "e1f1cc03-b813-435d-8442-53c2412c9ccd",
                "recipient_id": "01410e09-5643-4c64-af5f-4aecd5c47c45",
                "status": "rejected"
            }
        },
        "object": "webhook",
        "sandbox": false,
        "type": "payment.update"
    }
    

    Recibirás este webhook cuando un pago cambie de su estado inicial (pending) a cualquier otro.

    Incluye:

    Testeo en sandbox

    2 minutos después de que creaste la transferencia en modo sandbox, recibirás un webhook que simula que el pago fue realizado con éxito (status payed).

    En estos webhooks en modo sandbox solamente se enviarán como propiedades id, status, error y humanized_error como parte de payment.

    Catálogo de instituciones

    Son todas las instituciones de la red nacional SPEI en México con las que Pagaris opera. Se muestran de la siguiente manera: valor - nombre de dicha institución. Recuerda que el valor es lo que debes utilizar al llamar a Pagaris.

    Catálogo descargable

    Si prefieres una versión descargable de una tabla de la lista anterior, da click aquí.

    Notas

    Recuerda revisar esta sección constantemente, pueden haber cambios en las instituciones.