paymentservice/routes/web.php

105 lines
4.9 KiB
PHP

<?php
/** @var \Laravel\Lumen\Routing\Router $router */
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It is a breeze. Simply tell Lumen the URIs it should respond to
| and give it the Closure to call when that URI is requested.
|
*/
/**
* Session endpoints
*/
$router->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']);
});
});