Server IP : 108.163.255.210 / Your IP : 3.15.34.105 Web Server : Apache System : Linux blossom.urlnameserver.com 3.10.0-1160.80.1.el7.x86_64 #1 SMP Tue Nov 8 15:48:59 UTC 2022 x86_64 User : ( 1172) PHP Version : 7.2.34 Disable Function : eval,escapeshellarg,proc_close,proc_get_status,proc_nice,proc_open,symlink,system,pcntl_exec,getrusage,chown,chgp,closelog,openlog,syslog,define_syslog_variables,php_ini_loaded_file,getservbyname,getservbyport,posix_getgid,posix_getgrgid,proc_terminate,pfsockopen,apache_child_terminate,posix_mkfifo,posix_setpgid,posix_setuid,hypot,pg_host,pos,posix_access,posix_getcwd,posix_getservbyname,myshellexec,getpid,posix_getsid,posix_isatty,posix_kill,posix_mknod,posix_setgid,posix_setsid,posix_setuid,posix_times,posix_uname,ps_fill,posix_getpwuid,global,ini_restore,zip_open,zip_read,rar_open,bzopen,bzread,bzwrite,apache_get_modules,apache_get_version,phpversionphpinfo,php_ini_scanned_files,get_current_user,disk_total_space,diskfreespace,leak,imap_list,hypo,filedump,safe_mode,getmygid,apache_getenv,apache_setenv,bzread,bzwrite,bzopen,phpini,higlight_file,dos_conv,get_cwd,er_log,cmd,e_name,vdir,get_dir,only_read,ftok,ftpexec,posix_getpwnam,mysql_list_dbs,disk_free_space,session_save_path,confirm_phpdoc_compiled,zip_entry_rea,php_u,psockopen,crack_opendict,crack_getlastmessage,crack_closedict,crack_check,fpassthru,posix_get_last_error,posix_getlogin,posix_getgroups,posix_strerror,posix_getrlimit,posix_getpgrp,posix_getgrnam,pos,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/unilinki/public_html/shop/vendor/osenco/mpesa/ |
Upload File : |
# Sample Controller For Laravel ## The Mpesa Controller We will need a controller to handle MPesa Transactions and save them to a database table of your choice. See [this example](examples/MpesaController.php) for sample code. ```bash php artisan make:controller MpesaController ``` or create a file called `MpesaController.php` in the `app/Http/Controllers` and copy the contents of the [sample controller](examples/MpesaController.php) into the newl created file. ### Import Class With Namespace Put this code at the top of the controller to make the M-PESA class available for use. ```php use Osen\Mpesa\STK; ``` ### Instantiating The Class In your controller"s constructor, instantiate the Mpesa API class you want to use by passing configuration options like below: ```php STK::init( array( "env" => "sandbox", "type" => 4, "shortcode" => "174379", "headoffice" => "174379", "key" => "Your Consumer Key", "secret" => "Your Consumer Secret", "passkey" => "Your Online Passkey", "validation_url" => url("lipwa/validate"), "confirmation_url" => url("lipwa/confirm"), "callback_url" => url("lipwa/reconcile"), "results_url" => url("lipwa/results"), "timeout_url" => url("lipwa/timeout"), ) ); ``` ## Routing and Endpoints You can set your Laravel routes so as to create endpoints for interaction between Mpesa and your Laravel installation. Remember to call the respective actions (Mpesa methods) inside your controller methods. ```php Route::prefix("lipwa")->group(function () { Route::any("pay", "MpesaController@pay"); Route::any("validate", "MpesaController@validation"); Route::any("confirm", "MpesaController@confirmation"); Route::any("results", "MpesaController@results"); Route::any("register", "MpesaController@register"); Route::any("timeout", "MpesaController@timeout"); Route::any("reconcile", "MpesaController@reconcile"); Route::any("reverse", "MpesaController@reverse"); Route::any("status", "MpesaController@status"); }); ``` ### CSRF verification Remember to add `lipwa/*` to the `$except` array in `app/Http/Middleware/VerifyCsrfToken.php` to whitelist your endpoints so they can receive data from Mpesa. See [the README](README.md) for making and processing payment requests.