Cómo instalar Pesapi Mpesa API en un servidor web que ya tiene un sitio web

Hola Rafi, gracias por pedirme la respuesta. Sin embargo, no soy un experto en servidores web en absoluto 😛

Aquí hay una respuesta de mi parte:

Cómo usar PesaPI

La versión principal de PesaPI está escrita en PHP y se basa en una pila LAMP. Se ha contribuido con algo de código en el esfuerzo de portar PesaPi a C # y Java, pero nada de esto aún está en un nivel de trabajo completo.

Requisitos para PesaPI:

  • Versión de PHP 5.3.0 o superior
  • Mysql versión 5 o superior
  • Curl y php_curl
  • Servidor web, es decir, Apache

Procedimiento de instalación y configuración

A continuación se describe una configuración simple de PesaPi, dependiendo de cuáles sean exactamente sus necesidades y cómo desea usarla (es bastante flexible), es posible que tenga que desviarse un poco de este procedimiento, pero el proceso principal es el mismo independientemente.

1. Prepare y verifique el alojamiento

Encuentre una configuración de servidor / alojamiento adecuada para el lugar donde desea que se ejecute PesaPi, luego verifique que se cumplan los requisitos anteriores.

2. Sube PesaPi

A continuación, debe asegurarse de que PesaPi esté instalado en el servidor / ubicación elegido.
Es el contenido de la subcarpeta php que desea copiar específicamente en el servidor:

  • raíz web
  • incluir
  • cron

En particular, desea que el contenido de webroot esté ubicado en la raíz web de su configuración de alojamiento y luego desee incluir las subcarpetas de incluir y cron en los directorios principales (la mejor práctica es mantenerlos fuera de la raíz web)

En algunas situaciones, es posible que ni siquiera necesite un servidor web para ejecutar PesaPi, en particular cuando se trata con tipos de cuentas comerciales (es decir, MPESA Paybill), pero lo necesitará inicialmente para el siguiente paso.

3. Acceda a la herramienta de configuración

En este punto, debería poder acceder a la herramienta de configuración, que es el archivo index.php en webroot. Entonces, si solo escribe la URL del sitio, ahora debería poder ver el configurador.

El configurador comparará que no tiene acceso a la base de datos (ya que no lo ha configurado), por lo tanto, cree una base de datos vacía y un usuario de la base de datos, luego siga las instrucciones para modificar Configuration.php con la información correcta de la base de datos; una vez hecho, haga clic en volver a cargar

El configurador ahora señalará que la base de datos que ha creado está vacía (duh) y le preguntará si desea que cree la estructura de base de datos inicial para su – elija sí

Ahora debería ver la pantalla de configuración principal, aquí puede configurar los sistemas de pago con los que desea que funcione su instalación de PesaPi, tenga en cuenta que PesaPi puede trabajar con múltiples sistemas de pago al mismo tiempo, para los fines de esta guía solo haremos usa uno

Finalmente, debe elegir el sistema de dinero móvil con el que desea configurar PesaPi para trabajar, los detalles pueden ser ligeramente diferentes de un sistema a otro, por lo que para este ejemplo elegiré una cuenta privada de MPESA, que es la cuenta que es más “normal” las personas consideran una cuenta de MPESA.

En este ejemplo, le he dado a la cuenta un (nombre interno) y he usado mi número de teléfono como el identificador único para esta cuenta en particular.

He configurado PesaPi para enviar una notificación a mi aplicación principal cuando detecta que he recibido un pago, en este caso, mi aplicación principal se encuentra en: El dominio expira y la url que estoy planeando configurar para que se llame cuando se recibe un pago es pesapi.php

Finalmente le dije a PesaPi que incluyera un secreto de “jhDt73jg785” cuando llama a mi aplicación principal (por seguridad).

4. Configure su aplicación para recibir push

El siguiente paso es configurar la aplicación principal para comprender las notificaciones push que vienen.

Naturalmente, esto depende 100% de usted y de cómo ha creado su solución; en este ejemplo, se supone que una url llamada Domain Expires se configura y puede manejar estas notificaciones. Cada notificación se envía a través de una solicitud HTTP PUSH a esta url configurada.

El punto clave aquí es configurar su aplicación principal para comprender y reaccionar cuando se le informa sobre un pago entrante: tal vez esto desencadene una descarga para el usuario final, tal vez extienda una fecha de suscripción, tal vez confirme un pago de comercio electrónico – esto depende de usted y de su aplicación para construir.

5. Si es necesario, configure smssync

Muchos de los sistemas de dinero móvil dependen completamente de la comunicación por SMS. Este es el caso típico de los tipos de cuentas privadas de dinero móvil (como el MPESA Private utilizado en este ejemplo). Los tipos de cuentas comerciales a menudo (pero no siempre) tienen una interfaz diferente para acceder a información sobre pagos entrantes.

En estas situaciones, es necesario conectar / reenviar estos SMS a PesaPi. Esto se hace instalando una aplicación de Android llamada SMSSync (por Henry Addo de Ushahidi) y configurándola con los detalles especificados en la herramienta de configuración de PesaPi.

Cosas para considerar

Al compilar su aplicación y hacer que pueda manejar las notificaciones entrantes sobre los pagos entrantes, hay muchos detalles a considerar: las siguientes situaciones a menudo se olvidan o no se manejan adecuadamente, por lo tanto, considere esto como un consejo sobre qué recordar

  • ¿Qué sucede cuando un cliente paga demasiado?
  • ¿Qué sucede cuando un cliente paga muy poco?
  • ¿Qué sucede cuando alguien le envía dinero por error? (Cómo manejar los reembolsos)
  • ¿Cómo y dónde se ingresan los pagos recibidos en las cuentas / libros de la empresa?

Documentación de terceros

Algunos grandes usuarios / seguidores de PesaPi han creado su propia documentación sobre cómo usar / configurar el sistema, encuéntrelos aquí abajo.

  • Guía para principiantes (PDF) por Kennedy Kanyi