2026-01-24 14:03:11 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
use App\Http\Controllers\Customer\CustomerController;
|
2026-10-20 10:11:03 -04:00
|
|
|
use App\Http\Controllers\Customer\DigipayInstallmentController;
|
2026-08-30 00:17:01 +03:30
|
|
|
use App\Http\Controllers\Customer\GoldCreditController;
|
2026-01-24 14:03:11 +00:00
|
|
|
use App\Http\Controllers\Customer\OrderController;
|
|
|
|
|
use App\Http\Controllers\Customer\AddressController;
|
|
|
|
|
use App\Http\Controllers\Customer\WalletController;
|
|
|
|
|
use App\Http\Controllers\Customer\PriceTriggerController;
|
2026-07-23 22:24:39 +03:30
|
|
|
use App\Http\Controllers\Customer\AppNotificationController;
|
2026-01-24 14:03:11 +00:00
|
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
|
use App\Http\Controllers\Single\BankAccountController;
|
|
|
|
|
use \App\Http\Controllers\Customer\FundController;
|
|
|
|
|
use \App\Http\Controllers\pay\paypingController;
|
2026-07-24 16:50:21 +03:30
|
|
|
use App\Http\Controllers\pay\WalletPaymentController;
|
2026-09-02 15:55:03 +03:30
|
|
|
use App\Http\Controllers\Single\SingleOrderController;
|
|
|
|
|
use App\Http\Controllers\Customer\ColleagueOrderCallbackController;
|
2026-01-24 14:03:11 +00:00
|
|
|
use App\Http\Controllers\Admin\ProductController as AdminProductController;
|
|
|
|
|
use App\Http\Controllers\Customer\ProductController;
|
|
|
|
|
use App\Http\Controllers\Admin\TahesabController;
|
2026-02-16 09:29:37 +00:00
|
|
|
use App\Http\Controllers\Site\OfferCodesController;
|
2026-05-01 19:34:10 +00:00
|
|
|
use App\Http\Controllers\Admin\GiftCardController;
|
2026-06-04 12:18:53 +03:30
|
|
|
use App\Services\ConfigService;
|
2026-06-11 22:08:47 +03:30
|
|
|
use App\Http\Controllers\Customer\havaleController;
|
|
|
|
|
use App\Http\Controllers\Customer\CartController;
|
2026-06-13 11:17:32 +03:30
|
|
|
use App\Http\Controllers\Admin\CategoryController;
|
2026-07-30 15:46:11 +03:30
|
|
|
use App\Http\Controllers\Customer\ChatController;
|
2026-01-24 14:03:11 +00:00
|
|
|
|
2026-08-11 16:28:01 +03:30
|
|
|
//
|
2026-01-24 14:03:11 +00:00
|
|
|
//----------gateway-verify
|
|
|
|
|
Route::get('/TCharchee ', [paypingController::class, 'TCharchee']);
|
|
|
|
|
Route::post('/charge_account_verify', [paypingController::class, 'verifyTransation']);
|
|
|
|
|
Route::post('/charge_account_verify/{id}', [paypingController::class, 'verifyTransationByID']);
|
|
|
|
|
|
2026-07-24 16:50:21 +03:30
|
|
|
//----------wallet online payment — return/webhook per provider (public)
|
|
|
|
|
Route::get('/wallet/payment/return/{provider}', [WalletPaymentController::class, 'returnFromGateway']);
|
|
|
|
|
Route::post('/wallet/payment/webhook/{provider}', [WalletPaymentController::class, 'webhook']);
|
|
|
|
|
// سازگاری با URLهای قبلی Montify
|
|
|
|
|
Route::get('/wallet/external-payment/return', [WalletPaymentController::class, 'returnLegacy']);
|
|
|
|
|
Route::post('/wallet/external-payment/webhook', [WalletPaymentController::class, 'webhookLegacy']);
|
|
|
|
|
|
2026-09-02 15:55:03 +03:30
|
|
|
// کالبک وضعیت سفارش همکار — بدون لاگین مشتری
|
|
|
|
|
Route::post('/colleague/order/callback/{order?}', [ColleagueOrderCallbackController::class, 'callback']);
|
|
|
|
|
|
2026-06-12 16:41:46 +03:30
|
|
|
$isStore = app(ConfigService::class)->isStore();
|
|
|
|
|
|
2026-06-13 15:41:34 +03:30
|
|
|
Route::middleware('validation')->group(function () {
|
|
|
|
|
Route::get('/categories', [CategoryController::class, 'clientIndex']);
|
2026-08-18 17:17:01 +03:30
|
|
|
Route::get('/tv/products', [AdminProductController::class, 'listTvProducts']);
|
2026-06-13 15:41:34 +03:30
|
|
|
});
|
|
|
|
|
|
2026-06-12 16:41:46 +03:30
|
|
|
// فروشگاه (قطره / کشکول) — مثل برنچ ghatre، بدون لاگین
|
|
|
|
|
if ($isStore) {
|
|
|
|
|
Route::middleware('validation')->group(function () {
|
|
|
|
|
Route::get('/product/list', [AdminProductController::class, 'listProduct']);
|
|
|
|
|
Route::get('/product/list/{id}', [AdminProductController::class, 'ProductById']);
|
|
|
|
|
Route::post('validateDiscount', [GiftCardController::class, 'validateDiscount']);
|
|
|
|
|
});
|
2026-06-11 22:08:47 +03:30
|
|
|
}
|
2026-01-24 14:03:11 +00:00
|
|
|
|
2026-07-16 11:36:57 +03:30
|
|
|
Route::middleware(['auth:customer', 'customer.active'])->group(function () use ($isStore) {
|
2026-06-12 16:41:46 +03:30
|
|
|
Route::middleware('validation')->group(function () use ($isStore) {
|
2026-01-24 14:03:11 +00:00
|
|
|
//-----------Address
|
|
|
|
|
Route::post('/address/table', [AddressController::class, 'table']);
|
|
|
|
|
Route::resource('/address', AddressController::class);
|
|
|
|
|
|
|
|
|
|
//---------PriceTrigger
|
|
|
|
|
Route::resource('price_triggers', PriceTriggerController::class);
|
2026-07-23 22:24:39 +03:30
|
|
|
//---------AppNotifications
|
|
|
|
|
Route::get('app_notifications', [AppNotificationController::class, 'index']);
|
|
|
|
|
Route::get('app_notifications/unread-count', [AppNotificationController::class, 'unreadCount']);
|
|
|
|
|
Route::post('app_notifications/{id}/read', [AppNotificationController::class, 'markRead']);
|
|
|
|
|
Route::post('app_notifications/read-all', [AppNotificationController::class, 'markAllRead']);
|
2026-07-21 21:23:26 +03:30
|
|
|
//---------ConditionalOrder
|
|
|
|
|
Route::get('conditional_orders', [\App\Http\Controllers\Customer\ConditionalOrderController::class, 'index']);
|
|
|
|
|
Route::post('conditional_orders', [\App\Http\Controllers\Customer\ConditionalOrderController::class, 'store']);
|
|
|
|
|
Route::put('conditional_orders/{id}', [\App\Http\Controllers\Customer\ConditionalOrderController::class, 'update']);
|
|
|
|
|
Route::put('conditional_orders/{id}/toggle', [\App\Http\Controllers\Customer\ConditionalOrderController::class, 'toggleActive']);
|
|
|
|
|
Route::delete('conditional_orders/{id}', [\App\Http\Controllers\Customer\ConditionalOrderController::class, 'destroy']);
|
2026-06-04 12:18:53 +03:30
|
|
|
$cfg = app(ConfigService::class);
|
2026-06-04 14:19:54 +03:30
|
|
|
if ($cfg->getBool('profit_gold_api_enabled', false)) {
|
2026-06-04 12:18:53 +03:30
|
|
|
Route::get('profit_gold', [OrderController::class, 'profit_gold']);
|
|
|
|
|
}
|
2026-01-24 14:03:11 +00:00
|
|
|
|
|
|
|
|
//-----------product
|
|
|
|
|
Route::post('/product/table',[AdminProductController::class, 'table']);
|
2026-06-12 16:41:46 +03:30
|
|
|
if (! $isStore) {
|
|
|
|
|
Route::get('/product/list', [AdminProductController::class, 'listProduct']);
|
|
|
|
|
}
|
2026-01-24 14:03:11 +00:00
|
|
|
|
|
|
|
|
//-----gateway
|
|
|
|
|
Route::post('/charge_account ', [paypingController::class, 'startTransation']);
|
2026-07-24 16:50:21 +03:30
|
|
|
Route::get('/wallet/payment/options', [WalletPaymentController::class, 'options']);
|
|
|
|
|
Route::post('/wallet/payment/initiate', [WalletPaymentController::class, 'initiate']);
|
2026-07-27 01:11:01 +03:30
|
|
|
Route::post('/wallet/payment/verify-return', [WalletPaymentController::class, 'verifyReturn']);
|
2026-07-27 01:36:02 +03:30
|
|
|
Route::get('/wallet/payment/status', [WalletPaymentController::class, 'status']);
|
2026-07-24 16:50:21 +03:30
|
|
|
// سازگاری قدیمی
|
|
|
|
|
Route::post('/wallet/external-payment/initiate', [WalletPaymentController::class, 'initiate']);
|
2026-01-24 14:03:11 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
//--------------Customer
|
|
|
|
|
Route::get('/me', [CustomerController::class, 'me']);
|
|
|
|
|
Route::post('/me/update', [CustomerController::class, 'updateMe']);
|
2026-07-30 15:46:11 +03:30
|
|
|
Route::get('/start-chat', [ChatController::class, 'StartSupportChat']);
|
2026-01-24 14:03:11 +00:00
|
|
|
|
|
|
|
|
//----------------code
|
|
|
|
|
Route::post('/im_from/{code}', [CustomerController::class, 'imFrom']);
|
|
|
|
|
Route::get('/i_have_referrals', [CustomerController::class, 'i_have']);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Route::get('/active_finger', [CustomerController::class, 'active_finger']);
|
|
|
|
|
|
|
|
|
|
//------------------wallet
|
2026-06-09 16:44:02 +03:30
|
|
|
Route::get('wallet/me', [WalletController::class, 'walletMe']);
|
|
|
|
|
Route::get('wallet/assets', [WalletController::class, 'assetsSummary']);
|
2026-01-24 14:03:11 +00:00
|
|
|
Route::post('wallet/withdraw', [WalletController::class, 'withdraw']);
|
|
|
|
|
Route::post('wallet/withdraw_physical', [WalletController::class, 'withdraw_physical']);
|
|
|
|
|
Route::post('/wallet/withdraw/table', [WalletController::class, 'indexWithdraw']);
|
|
|
|
|
Route::post('/wallet/withdraw_physical/table', [WalletController::class, 'index_withdraw_physical']);
|
|
|
|
|
Route::post('wallet/withdraw/otp', [WalletController::class, 'withdrawOtp']);
|
|
|
|
|
|
|
|
|
|
Route::post('/withdraw/table', [WalletController::class, 'withdrawTable']);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//---------------------transaction
|
|
|
|
|
Route::post('transaction/table', [WalletController::class, 'transactionTable']);
|
|
|
|
|
Route::post('prices/all', [WalletController::class, 'priceData']);
|
|
|
|
|
|
|
|
|
|
//-----------------order
|
|
|
|
|
Route::post('order/table', [OrderController::class, 'table']);
|
2026-09-02 15:55:03 +03:30
|
|
|
Route::get('order/pending', [SingleOrderController::class, 'pendingColleague']);
|
|
|
|
|
Route::get('order/{id}/status', [SingleOrderController::class, 'colleagueStatus']);
|
2026-01-24 14:03:11 +00:00
|
|
|
Route::post('order', [OrderController::class, 'store']);
|
|
|
|
|
|
|
|
|
|
//-----------------single order
|
|
|
|
|
Route::post('single/order/table', [SingleOrderController::class, 'table']);
|
2026-09-02 15:55:03 +03:30
|
|
|
Route::get('single/order/pending', [SingleOrderController::class, 'pendingColleague']);
|
|
|
|
|
Route::get('single/order/{id}/status', [SingleOrderController::class, 'colleagueStatus']);
|
2026-01-24 14:03:11 +00:00
|
|
|
// Route::post('single/order', [SingleOrderController::class, 'storeBackUp']);
|
|
|
|
|
Route::post('single/order', [SingleOrderController::class, 'store']);
|
|
|
|
|
|
|
|
|
|
//--------------------fund
|
|
|
|
|
Route::post('fund/deposit', [FundController::class, 'deposit']);
|
|
|
|
|
Route::post('fund/withdraw', [FundController::class, 'withdraw']);
|
|
|
|
|
Route::post('fund/table', [FundController::class, 'table']);
|
|
|
|
|
Route::post('fund/transaction/table', [WalletController::class, 'transactionTable']);
|
|
|
|
|
Route::resource('/fund',FundController::class);
|
|
|
|
|
//--------------------product
|
|
|
|
|
Route::post('wallet/product/deposit', [ProductController::class, 'deposit']);
|
|
|
|
|
Route::post('wallet/product/withdraw', [ProductController::class, 'withdraw']);
|
|
|
|
|
Route::post('wallet/product/table', [ProductController::class, 'pTable']);
|
|
|
|
|
Route::post('wallet/product/transaction/table', [WalletController::class, 'transactionTable']);
|
|
|
|
|
Route::get('wallet/product/{id}', [ProductController::class, 'show']);
|
|
|
|
|
Route::resource('wallet/product',ProductController::class);
|
|
|
|
|
//--------------------account
|
|
|
|
|
Route::post('account/table', [BankAccountController::class, 'table']);
|
|
|
|
|
Route::get('account/active', [BankAccountController::class, 'listActiveBankAccount']);
|
|
|
|
|
Route::resource('/account',BankAccountController::class)->except(['update']);
|
|
|
|
|
Route::post('account', [BankAccountController::class, 'StoreBankAccount']);
|
|
|
|
|
|
|
|
|
|
//tahesab
|
2026-02-26 12:48:37 +03:30
|
|
|
// Route::post('account/tahesab', [TahesabController::class, 'store']);
|
2026-01-24 14:03:11 +00:00
|
|
|
Route::post('account/tahesab/trade', [TahesabController::class, 'storeTrade']);
|
2026-02-16 09:29:37 +00:00
|
|
|
|
2026-05-01 19:34:10 +00:00
|
|
|
//--------------------use gift card
|
2026-09-09 16:57:20 +03:30
|
|
|
Route::get('giftcard/mine', [GiftCardController::class, 'mine']);
|
2026-05-01 19:34:10 +00:00
|
|
|
Route::post('giftcard/use', [GiftCardController::class, 'useGiftCard']);
|
|
|
|
|
|
2026-02-16 09:29:37 +00:00
|
|
|
//offer code
|
|
|
|
|
Route::post('offer_code/check_code', [OfferCodesController::class, 'check_code']);
|
|
|
|
|
|
2026-08-30 00:17:01 +03:30
|
|
|
//--------------------gold credit
|
|
|
|
|
Route::get('gold_credit', [GoldCreditController::class, 'show']);
|
|
|
|
|
Route::post('gold_credit/request', [GoldCreditController::class, 'requestLoan']);
|
|
|
|
|
Route::post('gold_credit/installments/pay', [GoldCreditController::class, 'payInstallments']);
|
|
|
|
|
|
2026-10-20 10:11:03 -04:00
|
|
|
Route::get('digipay_installment', [DigipayInstallmentController::class, 'show']);
|
|
|
|
|
Route::post('digipay_installment/start', [DigipayInstallmentController::class, 'start']);
|
|
|
|
|
Route::post('digipay_installment/buy', [DigipayInstallmentController::class, 'buy']);
|
|
|
|
|
|
2026-06-12 16:41:46 +03:30
|
|
|
if ($isStore) {
|
2026-06-11 22:08:47 +03:30
|
|
|
Route::post('vc_validate', [havaleController::class, 'virtualCardValidate']);
|
|
|
|
|
Route::post('havale', [havaleController::class, 'havale']);
|
|
|
|
|
Route::post('havale_list', [havaleController::class, 'havaleList']);
|
|
|
|
|
Route::post('/cart/checkout', [CartController::class, 'checkout']);
|
|
|
|
|
Route::post('useDiscount', [GiftCardController::class, 'useDiscount']);
|
|
|
|
|
}
|
|
|
|
|
|
2026-01-24 14:03:11 +00:00
|
|
|
});
|
|
|
|
|
});
|
2026-08-30 00:17:01 +03:30
|
|
|
|