これは、MPESA機能を使用するCodeigniter 3アプリケーションのドロップインソリューションとして機能する必要があります。現在、最も広く使用されているため、Lipa Na Mpesa(STK Push)のみが実装されています。ただし、これはOpenSourceプロジェクトですので、機能の残りの部分を自由に追加してください。
config/mpesa.phpには、必要なMPESA構成が含まれています。デフォルトでは、サンドボックスの資格情報を既にセットアップしているため、変更する必要があるのは、新しいアプリを作成するときにSafaricomから取得できるCONSUMER_KEYとCONSUMER_SECRETだけです。
libraries/Mpesa_lib.phpは、使用できるすべての方法を含むMPESA API抽象化の実装です
すべてのディレクトリをapplication/ディレクトリにコピーして貼り付けます
Safaricom Darajaから消費者の鍵と秘密を入手してください
config/mpesa.phpの値を対応する資格情報に置き換えます
ライブラリをコントローラーにインポートします
// Load the mpesa library
$ this -> load -> library ( ' mpesa_lib ' );
// $this->mpesa_lib is how you will be accessing the library from now onコントローラーのlipa_na_mpesaメソッドを呼び出します
// $phone - The phone number initiating the transaction - your customer's phone
// $amount - A non-zero amount (integer)
$ this -> mpesa_lib -> lipa_na_mpesa ( $ phone , $ amount )これにより、顧客のデバイスにSTKプッシュリクエストがトリガーされるはずです。これを電話番号と金額を受け入れるAPI要求エンドポイントに追加し、それらをlipa_na_mpesaメソッドに渡すことができます
トランザクションが成功または失敗した場合、あなたはそれについて知りたいと思うでしょう。そこにコールバックURLが登場します。ここで、MPESAはアプリケーションにトランザクションに関する詳細情報を送信します。
理想的には、トランザクションリクエストを処理するためのコントローラーを作成し、コールバックURLをマップすることができます。たとえば、 controllers/payments/Handler.phpおそらくCallback URLがsite.com/payments/handlerのラインで何かになることになります。
これがどのように機能するかの詳細は、ダラジャを通して再び見つけることができます。
コールバックURLはconfig/mpesa.phpを介して設定できます
完了時にMPESA APIによってどのような情報が返されるかの詳細については、こちらをご覧ください。
これにより、MPESAリクエストのリクエストと処理の両方を実装できるはずです。