group(['middleware' => 'session'], function () use ($router) { // $router->get('/', function (){ // return 'Payment Service'; // }); $router->get('checkout/{payment_token}', ['as' => 'checkout', 'uses' => 'PaymentController@checkout']); $router->post('checkoutPay', ['as' => 'yoomee.v2.checkoutPay', 'uses' => 'YoomeeV2Controller@checkoutPay','middleware' => 'csrf']); $router->post('status', ['as' => 'yoomee.v2.verify', 'uses' => 'YoomeeV2Controller@getPaymentStatus']); $router->get('merchantRedirect', ['as' => 'yoomee.v2.merchantRedirect', 'uses' => 'YoomeeV2Controller@merchantRedirect']); /** * Stripe Endpoints */ $router->group(['prefix' => 'stripe'], function () use ($router) { $router->get('checkout/{payment_token}',['as' => 'stripe.checkout', 'uses' => 'StripeController@getCheckout']); $router->post('post',['as' => 'stripe.post', 'uses' => 'StripeController@post']); }); }); /** * Webhooks */ $router->addRoute(['GET','POST'],'/yoomee/v2/webhook', ['as' => 'yoomee.v2.webhook' , 'uses' => 'YoomeeV2Controller@capturePaymentResult']); $router->addRoute(['GET','POST'],'/cinetpay/webhook', ['as' => 'cinetpay.webhook' , 'uses' => 'CinetpayController@capturePaymentResult']); $router->addRoute(['GET','POST'],'/cinetpay/transfert/webhook', ['as' => 'cinetpay.transfert.webhook' , 'uses' => 'CinetpayController@captureTransfertResult']); $router->addRoute(['GET','POST'],'/stripe/webhook', ['as' => 'stripe.webhook' , 'uses' => 'StripeController@capturePaymentResult']); $router->addRoute(['GET','POST'],'/flutterwave/webhook', ['as' => 'flutterwave.webhook' , 'uses' => 'FlutterwaveController@capturePaymentResult']); $router->addRoute(['GET','POST'],'/paymentResult', ['as' => 'paymentResult' , 'uses' => 'PaymentController@paymentResult']); $router->group(['middleware' => 'auth'], function () use ($router) { /** * Entry Endpoints */ $router->get('methods','PaymentController@getMethods'); $router->post('pay','PaymentController@pay'); $router->get('checkBalance','PaymentController@checkBalance'); $router->get('checkStatus/{transaction_id}','PaymentController@checkStatus'); $router->post('payOut','PaymentController@payOut'); $router->get('fees','PaymentController@getFees'); /** * Yoomee Endpoints */ $router->group(['prefix' => 'yoomee'], function () use ($router) { $router->get('methods',['as' => 'yoomee.methods', 'uses' => 'YoomeeController@getMethods']); $router->addRoute(['GET','POST'],'pay', ['as' => 'yoomee.pay', 'uses' => 'YoomeeController@pay']); $router->group(['prefix' => 'v2'] , function () use ($router){ $router->get('methods',['as' => 'yoomee.v2.methods', 'uses' => 'YoomeeV2Controller@getMethods']); $router->addRoute(['GET','POST'],'pay', ['as' => 'yoomee.v2.pay', 'uses' => 'YoomeeV2Controller@pay']); }); }); /** * Cinetpay Endpoints */ $router->group(['prefix' => 'cinetpay'], function () use ($router) { $router->get('methods',['as' => 'cinetpay.methods', 'uses' => 'CinetpayController@getMethods']); $router->addRoute(['GET','POST'],'pay',['as' => 'cinetpay.pay', 'uses' => 'CinetpayController@pay']); $router->post('payOut',['as' => 'cinetpay.payout', 'uses' => 'CinetpayController@payOut']); $router->get('checkBalance',['as' => 'cinetpay.check-balance', 'uses' => 'CinetpayController@checkBalance']); }); /** * Flutterwave Endpoints */ $router->group(['prefix' => 'flutterwave'], function () use ($router) { $router->addRoute(['GET','POST'],'pay',['as' => 'flutterwave.pay', 'uses' => 'FlutterwaveController@pay']); $router->post('payOut',['as' => 'flutterwave.payout', 'uses' => 'FlutterwaveController@payOut']); $router->get('checkBalance',['as' => 'flutterwave.check-balance', 'uses' => 'FlutterwaveController@checkBalance']); }); /** * Stripe Endpoints */ $router->group(['prefix' => 'stripe'], function () use ($router) { $router->post('refund',['as' => 'stripe.refund', 'uses' => 'StripeController@refund']); $router->get('methods',['as' => 'stripe.methods', 'uses' => 'StripeController@getMethods']); $router->post('pay',['as' => 'stripe.pay', 'uses' => 'StripeController@pay']); $router->post('payIn',['as' => 'stripe.submit', 'uses' => 'StripeController@payIn']); $router->post('payOut',['as' => 'stripe.payout', 'uses' => 'StripeController@payOut']); }); });