%PDF- %GIF98; %PNG;
Server : ApacheSystem : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64 User : addictionfreeind ( 1003) PHP Version : 7.2.34 Disable Function : exec,passthru,shell_exec,system Directory : /home/addictionfreeind/public_html/admin1/app/Http/Controllers/Payment/ |
Upload File : |
<?php
namespace App\Http\Controllers\Payment;
use Carbon\Carbon;
use Stripe\Stripe;
use App\Helper\Reply;
use App\Models\Invoice;
use App\Models\Payment;
use Illuminate\Http\Request;
use App\Traits\MakePaymentTrait;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Session;
use App\Models\PaymentGatewayCredentials;
class StripeController extends Controller
{
use MakePaymentTrait;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
$stripeCredentials = PaymentGatewayCredentials::first();
/** setup Stripe credentials **/
Stripe::setApiKey($stripeCredentials->stripe_mode == 'test' ? $stripeCredentials->test_stripe_secret : $stripeCredentials->live_stripe_secret);
$this->pageTitle = __('app.stripe');
}
/**
* Store a details of payment with paypal.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function paymentWithStripe(Request $request, $id)
{
$redirectRoute = 'invoices.show';
$invoice = Invoice::findOrFail($id);
$paymentIntentId = $request->paymentIntentId;
if(isset($request->type) && $request->type == 'order'){
$redirectRoute = 'orders.show';
$invoice = Invoice::where('order_id', $id)->latest()->first();
}
$this->makePayment('Stripe', $invoice->amountDue(), $invoice, $paymentIntentId, 'complete');
$invoice->status = 'paid';
$invoice->save();
return $this->makeStripePayment($redirectRoute, $id);
}
public function paymentWithStripePublic(Request $request, $hash)
{
$redirectRoute = 'front.invoice';
$paymentIntentId = $request->paymentIntentId;
$invoice = Invoice::where('hash', $hash)->first();
$this->makePayment('Stripe', $invoice->amountDue(), $invoice, $paymentIntentId, 'complete');
$invoice->status = 'paid';
$invoice->save();
return $this->makeStripePayment($redirectRoute, $hash);
}
private function makeStripePayment($redirectRoute, $id)
{
Session::put('success', __('messages.paymentSuccessful'));
return Reply::redirect(route($redirectRoute, $id), __('messages.paymentSuccessful'));
}
}