Использование PHP-пакета Openpesa для сбора платежей на мобильный кошелек Mpesa

Часть будущих учебных пособий по Openpesa

Отказ от ответственности: Это скорее упражнение, чем учебник.

Здравствуйте,

В этом уроке мы рассмотрим, как создать страницу оформления заказа, которая использует пакет Openpesa PHP для связи с Mpesa для сбора платежей.

  • Пользователь зайдет на страницу оформления заказа и увидит форму.
  • Пользователь заполнит и просуммирует форму
  • Пользователю будет предложено ввести пин-код Mpesa со своего телефона
  • Пользователь будет перенаправлен на страницу Asante.

Необходимые условия

  • Основы php
  • Основы программирования

Необходимое программное обеспечение

  • PHP 8 или выше
  • Composer

Другое

  • Интернет-соединение (связь с серверами Mpesa)
  • Рекомендуется VSCode
  • Bash совместимая оболочка удобна

1. Создание нового проекта/настройка на существующий

Руководство (с существующим проектом)

Рекомендуется для начинающих

Предполагается, что composer.json отсутствует

  • composer.json (скопируйте отсюда)
  • .gitignore (скопировать отсюда)
  • composer.lock будет сгенерирован автоматически

Свежий проект + автоматический

Использование gitignore.cli для установки npm install -g gitignore.cli или yarn global add gitignore.cli

composer init
gitignore composer > .gitignore
Вход в полноэкранный режим Выход из полноэкранного режима

2. Установите пакет

Для установки пакета openpesa php выполните следующие действия

composer require openpesa/pesa
Войти в полноэкранный режим Выйти из полноэкранного режима

3. Создайте 3 файла

index.php

process.php

asante.php

Где

index.php — пример формы оформления заказа

process.php — логика приложения, т.е. сбор средств

asante.php — перенаправление после успешной оплаты

Для простоты

Используйте Boostrap для стилизации

Используйте Emmet для быстрого создания строительных лесов

4. Получите учетные данные Mpesa

Более подробное руководство смотрите в разделе «Начало работы с порталом Mpesa-developer».

Ссылка на портал Mpesa

tl;dr

  • Зарегистрируйтесь как разработчик
  • Настройте 2FA
  • Создайте приложение — получите/копируйте секретный ключ
  • Включить транзакции (C2B для нашего учебника) для этого приложения
  • Просмотреть документы => В документах сессии — получить/копировать открытый ключ
  • Добавьте номера телефонов для тестирования

5. Обновить страницы-файлы

Запомните

index.php
asante.php
process.php

Фокусируемся на process.php

  • Скопируйте пример из openpesa/php-pesa#quick-examples

  • обновление учетных данных

  • получить POST-данные из отправленной формы (см. здесь

6. Протестируйте все это

Далее

  • Использовать более надежные решения (валидация, логирование, очереди, пользовательские данные).
  • Использовать базу данных?
  • Логика обработки неудачных платежей (повторная попытка)
  • Почему не Laravel?

Счастливого кодинга 🎉

Оцените статью
Procodings.ru
Добавить комментарий