<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use Validator;
use URL;
use Session;
use Input;
use App\User;
use DB;
Use Mail;
//use Cartalyst\Stripe\Laravel\Facades\Stripe;
use Stripe\Error\Card;
use Cartalyst\Stripe\Stripe;
class AddMoneyController extends Controller
{
//
public function __construct()
{
$this->user = new User;
}
/**
* Show the application paywith stripe.
*
* @return \Illuminate\Http\Response
*/
public function payWithStripe(Request $request)
{
$coupen_user_id=$request['coupen_user_id'];
$grandtotal= $request['grandtotal'];
$coupen_discount= $request['coupen_discount'];
$shipping_charge= $request['shipping_charge'];
$tax_percentage= $request['tax_percentage'];
$tax_amount= $request['tax_amount'];
$first_name=$request['first_name'];
$last_name=$request['last_name'];
$company=$request['company'];
$address1=$request['address1'];
$address2=$request['address2'];
$subtotal=$request['subtotal'];
$city=$request['city'];
$country_id=$request['country_id'];
$zip=$request['zip'];
$phone=$request['phone'];
$count=0;
$cart2="";
$guest_email=$request['guest_email'];
session_start();
if(isset($_SESSION['cart'])){
$cart2=$_SESSION['cart'];
foreach($_SESSION['cart'] as $cart){
if(count($cart)>0){
foreach($cart as $subcart){
$count=$count+$subcart['quantity'];
}
}
}
}
else{
$count=0;
}
$country_name="";
$countries=DB::Table('country')->where('id',$country_id)->get();
if(count($countries)>0){
$country_name=$countries[0]->name;
}
return view('general.paywithstripe',array('grandtotal'=>$grandtotal,'coupen_user_id'=>$coupen_user_id,'first_name'=>$first_name,'last_name'=>$last_name,'company'=>$company,'address1'=>$address1,'address2'=>$address2,'subtotal'=>$subtotal,'city'=>$city,'zip'=>$zip,'phone'=>$phone,'cart_products'=>$cart2,'guest_email'=>$guest_email,'country_id'=>$country_id,'coupen_discount'=>$coupen_discount,'shipping_charge'=>$shipping_charge,'tax_percentage'=>$tax_percentage,'tax_amount'=>$tax_amount,'country_name'=>$country_name));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function postPaymentWithStripe(Request $request)
{
$validator = Validator::make($request->all(), [
'card_no' => 'required',
'ccExpiryMonth' => 'required',
'ccExpiryYear' => 'required',
'cvvNumber' => 'required',
'amount' => 'required',
]);
$input = $request->all();
if ($validator->passes()) {
$input = array_except($input,array('_token'));
// $stripe = Stripe::make('sk_test_z0FmrWbP0v6Zt1R5A1OKXEHp');
$stripe = Stripe::make('sk_test_z0FmrWbP0v6Zt1R5A1OKXEHp');
try {
$token = $stripe->tokens()->create([
'card' => [
'number' => $request->get('card_no'),
'exp_month' => $request->get('ccExpiryMonth'),
'exp_year' => $request->get('ccExpiryYear'),
'cvc' => $request->get('cvvNumber'),
],
]);
if (!isset($token['id'])) {
\Session::put('error','The Stripe Token was not generated correctly');
$coupen_user_id=$request['coupen_user_id'];
$grandtotal= $request['grandtotal'];
$first_name=$request['first_name'];
$last_name=$request['last_name'];
$company=$request['company'];
$address1=$request['address1'];
$address2=$request['address2'];
$subtotal=$request['subtotal'];
$city=$request['city'];
$country_id=$request['country_id'];
$zip=$request['zip'];
$phone=$request['phone'];
$count=0;
$cart2="";
$coupen_discount= $request['coupen_discount'];
$shipping_charge= $request['shipping_charge'];
$tax_percentage= $request['tax_percentage'];
$tax_amount= $request['tax_amount'];
$guest_email=$request['guest_email'];
session_start();
if(isset($_SESSION['cart'])){
$cart2=$_SESSION['cart'];
foreach($_SESSION['cart'] as $cart){
if(count($cart)>0){
foreach($cart as $subcart){
$count=$count+$subcart['quantity'];
}
}
}
}
else{
$count=0;
}
return view('general.paywithstripe',array('grandtotal'=>$grandtotal,'coupen_user_id'=>$coupen_user_id,'first_name'=>$first_name,'last_name'=>$last_name,'company'=>$company,'address1'=>$address1,'address2'=>$address2,'subtotal'=>$subtotal,'city'=>$city,'zip'=>$zip,'phone'=>$phone,'cart_products'=>$cart2,'guest_email'=>$guest_email,'country_id'=>$country_id,'coupen_discount'=>$coupen_discount,'shipping_charge'=>$shipping_charge,'tax_percentage'=>$tax_percentage,'tax_amount'=>$tax_amount));
}
// $charge = $stripe->charges()->create([
// 'card' => $token['id'],
// 'currency' => 'USD',
// 'amount' => $request->get('amount'),
// 'description' => 'Add in wallet',
// ]);
echo "I am Here Bilawal";
// $stripe = new \Stripe\StripeClient("sk_test_z0FmrWbP0v6Zt1R5A1OKXEHp");
// $stripe->transfers()->create([
// 'amount' => 10,
// 'currency' => 'eur',
// 'destination' => 'acct_1KCTS1QXXIvoiEUH',
// 'transfer_group' => 'ORDER_95',
// ]);
// $charge = $stripe->charges()->create([
// "amount" => 100,
// "currency" => "eur",
// "source" => "tok_visa",
// "application_fee_amount" => 123,
// "transfer_data" => [
// "destination" => "acct_1KCTS1QXXIvoiEUH",
// ],
// ]);
// $charge = $stripe->charges()->create([
// "amount" => 500,
// "currency" => "eur",
// "source" => $token['id'],
// "application_fee_amount" => 123,
// ], ["stripe_account" => "acct_1KCTS1QXXIvoiEUH"]);
//
//
\Stripe\Stripe::setApiKey('sk_test_z0FmrWbP0v6Zt1R5A1OKXEHp');
$charge= \Stripe\PaymentIntent::create([
'amount' => 1099,
'currency' => 'eur',
"application_fee_amount" => 123,
'payment_method_types' => ['card'],
'on_behalf_of' => 'acct_1KCTS1QXXIvoiEUH',
'transfer_data' => [
'destination' => 'acct_1KCTS1QXXIvoiEUH',
],
]);
//
//
// echo "<pre>";
// print_r($stripe);
// print_r($charge);
// echo "Done";
// exit();
$charge = $stripe->charges()->create([
'card' => $token['id'],
'currency' => 'USD',
'amount' => $request->get('amount'),
'description' => 'Add in wallet',
]);
if($charge['status'] == 'succeeded') {
/**
* Write Here Your Database insert logic.
*/
// echo "<pre>";
// print_r($charge);
// exit();
\Session::put('success','Order Placed Successfully');
$date=date("Y/m/d");
$type="";
if($request->session()->get('user_id')==""){
$type="guest";
}else{
$type="user";
}
$email="";
if($request->session()->get('user_id')==""){
$email=$request['guest_email'];
}
else{
$email=$request->session()->get('user_email');
}
$coupen_discount= $request['coupen_discount'];
$shipping_charge= $request['shipping_charge'];
$tax_percentage= $request['tax_percentage'];
$tax_amount= $request['tax_amount'];
$orders=DB::Table('orders')->OrderBy('order_id','DESC')->get();
$invoice_number="";
if(count($orders)>0){
$string=$orders[0]->invoice_number;
$stringParts = explode("RM", $string);
$invoice_number = $stringParts[1]+1; // 21
$invoice_number='RM'.$invoice_number;
}
else{
$invoice_number='RM1';
}
$data=array(
'first_name'=>$request['first_name'],
'invoice_number'=>$invoice_number,
'last_name'=>$request['last_name'],
'email'=>$email,
'company'=>$request['company'],
'address1'=>$request['address1'],
'address2'=>$request['address2'],
'city'=>$request['city'],
'country_id'=>$request['country_id'],
'zip'=>$request['zip'],
'phone'=>$request['phone'],
'subtotal'=>$request['subtotal'],
'grandtotal'=>$request['grandtotal'],
'discount'=>$coupen_discount,
'coupen_user_id'=>$request['coupen_user_id'],
'user_id'=>$request->session()->get('user_id'),
'type'=>$type,
'shipping_charge'=>$shipping_charge,
'tax_percentage'=>$tax_percentage,
'tax_amount'=>$tax_amount,
);
$order_id= DB::Table('orders')->insertGetId($data);
session_start();
foreach($_SESSION['cart'] as $cart){
if(count($cart)>0){
foreach($cart as $subcart){
$unit=$subcart['unit'];
$quantity=$subcart['quantity'];
$secondquantity=$subcart['secondquantity'];
$product_id=$subcart['product_id'];
$amount=$subcart['amount'];
$data=array(
'product_id'=>$product_id,
'unit'=>$unit,
'secondquantity'=>$secondquantity,
'quantity'=>$quantity,
'order_id'=>$order_id,
'amount'=>$amount,
);
DB::Table('order_details')->insert($data);
}
}
}
$products=DB::Table('order_details')
->select('order_details.*','products.name as product_name')
->leftjoin('products','products.product_id','order_details.product_id')
->where('order_details.order_id',$order_id)
->get();
$data2 = [
'invoice_number'=>$invoice_number,
'first_name'=>$request['first_name'],
'last_name'=>$request['last_name'],
'email'=>$email,
'company'=>$request['company'],
'address1'=>$request['address1'],
'address2'=>$request['address2'],
'city'=>$request['city'],
'country_id'=>$request['country_id'],
'zip'=>$request['zip'],
'phone'=>$request['phone'],
'subtotal'=>$request['subtotal'],
'grandtotal'=>$request['grandtotal'],
'discount'=>$coupen_discount,
'coupen_user_id'=>$request['coupen_user_id'],
'user_id'=>$request->session()->get('user_id'),
'type'=>$type,
'shipping_charge'=>$shipping_charge,
'tax_percentange'=>$tax_percentage,
'tax_amount'=>$tax_amount,
'products'=>$products
];
Mail::send('general.test4', $data2, function($message) use ($data2)
{
$message->from('ktkbilawal@gmail.com');
$message->to($data2['email']);
$message->subject('Invoice Detail');
});
unset($_SESSION['cart']);
return redirect('view_cart');
exit();
} else {
\Session::put('error','Money not add in wallet!!');
$coupen_user_id=$request['coupen_user_id'];
$grandtotal= $request['grandtotal'];
$first_name=$request['first_name'];
$last_name=$request['last_name'];
$company=$request['company'];
$address1=$request['address1'];
$address2=$request['address2'];
$subtotal=$request['subtotal'];
$city=$request['city'];
$country_id=$request['country_id'];
$zip=$request['zip'];
$phone=$request['phone'];
$count=0;
$cart2="";
$coupen_discount= $request['coupen_discount'];
$shipping_charge= $request['shipping_charge'];
$tax_percentage= $request['tax_percentage'];
$tax_amount= $request['tax_amount'];
$guest_email=$request['guest_email'];
session_start();
if(isset($_SESSION['cart'])){
$cart2=$_SESSION['cart'];
foreach($_SESSION['cart'] as $cart){
if(count($cart)>0){
foreach($cart as $subcart){
$count=$count+$subcart['quantity'];
}
}
}
}
else{
$count=0;
}
return view('general.paywithstripe',array('grandtotal'=>$grandtotal,'coupen_user_id'=>$coupen_user_id,'first_name'=>$first_name,'last_name'=>$last_name,'company'=>$company,'address1'=>$address1,'address2'=>$address2,'subtotal'=>$subtotal,'city'=>$city,'zip'=>$zip,'phone'=>$phone,'cart_products'=>$cart2,'guest_email'=>$guest_email,'country_id'=>$country_id,'coupen_discount'=>$coupen_discount,'shipping_charge'=>$shipping_charge,'tax_percentage'=>$tax_percentage,'tax_amount'=>$tax_amount));
}
} catch (Exception $e) {
Session::put('error',$e->getMessage());
$coupen_user_id=$request['coupen_user_id'];
$grandtotal= $request['grandtotal'];
$first_name=$request['first_name'];
$last_name=$request['last_name'];
$company=$request['company'];
$address1=$request['address1'];
$address2=$request['address2'];
$subtotal=$request['subtotal'];
$city=$request['city'];
$country_id=$request['country_id'];
$zip=$request['zip'];
$phone=$request['phone'];
$count=0;
$cart2="";
$coupen_discount= $request['coupen_discount'];
$shipping_charge= $request['shipping_charge'];
$tax_percentage= $request['tax_percentage'];
$tax_amount= $request['tax_amount'];
$guest_email=$request['guest_email'];
session_start();
if(isset($_SESSION['cart'])){
$cart2=$_SESSION['cart'];
foreach($_SESSION['cart'] as $cart){
if(count($cart)>0){
foreach($cart as $subcart){
$count=$count+$subcart['quantity'];
}
}
}
}
else{
$count=0;
}
return view('general.paywithstripe',array('grandtotal'=>$grandtotal,'coupen_user_id'=>$coupen_user_id,'first_name'=>$first_name,'last_name'=>$last_name,'company'=>$company,'address1'=>$address1,'address2'=>$address2,'subtotal'=>$subtotal,'city'=>$city,'zip'=>$zip,'phone'=>$phone,'cart_products'=>$cart2,'guest_email'=>$guest_email,'country_id'=>$country_id,'coupen_discount'=>$coupen_discount,'shipping_charge'=>$shipping_charge,'tax_percentage'=>$tax_percentage,'tax_amount'=>$tax_amount));
} catch(\Cartalyst\Stripe\Exception\CardErrorException $e) {
\Session::put('error',$e->getMessage());
$coupen_user_id=$request['coupen_user_id'];
$grandtotal= $request['grandtotal'];
$first_name=$request['first_name'];
$last_name=$request['last_name'];
$company=$request['company'];
$address1=$request['address1'];
$address2=$request['address2'];
$subtotal=$request['subtotal'];
$city=$request['city'];
$country_id=$request['country_id'];
$zip=$request['zip'];
$phone=$request['phone'];
$count=0;
$cart2="";
$coupen_discount= $request['coupen_discount'];
$shipping_charge= $request['shipping_charge'];
$tax_percentage= $request['tax_percentage'];
$tax_amount= $request['tax_amount'];
$guest_email=$request['guest_email'];
session_start();
if(isset($_SESSION['cart'])){
$cart2=$_SESSION['cart'];
foreach($_SESSION['cart'] as $cart){
if(count($cart)>0){
foreach($cart as $subcart){
$count=$count+$subcart['quantity'];
}
}
}
}
else{
$count=0;
}
return view('general.paywithstripe',array('grandtotal'=>$grandtotal,'coupen_user_id'=>$coupen_user_id,'first_name'=>$first_name,'last_name'=>$last_name,'company'=>$company,'address1'=>$address1,'address2'=>$address2,'subtotal'=>$subtotal,'city'=>$city,'zip'=>$zip,'phone'=>$phone,'cart_products'=>$cart2,'guest_email'=>$guest_email,'country_id'=>$country_id,'coupen_discount'=>$coupen_discount,'shipping_charge'=>$shipping_charge,'tax_percentage'=>$tax_percentage,'tax_amount'=>$tax_amount));
} catch(\Cartalyst\Stripe\Exception\MissingParameterException $e) {
\Session::put('error',$e->getMessage());
$coupen_user_id=$request['coupen_user_id'];
$grandtotal= $request['grandtotal'];
$first_name=$request['first_name'];
$last_name=$request['last_name'];
$company=$request['company'];
$address1=$request['address1'];
$address2=$request['address2'];
$subtotal=$request['subtotal'];
$city=$request['city'];
$country_id=$request['country_id'];
$zip=$request['zip'];
$phone=$request['phone'];
$count=0;
$cart2="";
$coupen_discount= $request['coupen_discount'];
$shipping_charge= $request['shipping_charge'];
$tax_percentage= $request['tax_percentage'];
$tax_amount= $request['tax_amount'];
$guest_email=$request['guest_email'];
session_start();
if(isset($_SESSION['cart'])){
$cart2=$_SESSION['cart'];
foreach($_SESSION['cart'] as $cart){
if(count($cart)>0){
foreach($cart as $subcart){
$count=$count+$subcart['quantity'];
}
}
}
}
else{
$count=0;
}
return view('general.paywithstripe',array('grandtotal'=>$grandtotal,'coupen_user_id'=>$coupen_user_id,'first_name'=>$first_name,'last_name'=>$last_name,'company'=>$company,'address1'=>$address1,'address2'=>$address2,'subtotal'=>$subtotal,'city'=>$city,'zip'=>$zip,'phone'=>$phone,'cart_products'=>$cart2,'guest_email'=>$guest_email,'country_id'=>$country_id,'coupen_discount'=>$coupen_discount,'shipping_charge'=>$shipping_charge,'tax_percentage'=>$tax_percentage,'tax_amount'=>$tax_amount));
}
}
Session::put('error','All fields are required!!');
$coupen_user_id=$request['coupen_user_id'];
$grandtotal= $request['grandtotal'];
$first_name=$request['first_name'];
$last_name=$request['last_name'];
$company=$request['company'];
$address1=$request['address1'];
$address2=$request['address2'];
$subtotal=$request['subtotal'];
$city=$request['city'];
$country_id=$request['country_id'];
$zip=$request['zip'];
$phone=$request['phone'];
$count=0;
$cart2="";
$coupen_discount= $request['coupen_discount'];
$shipping_charge= $request['shipping_charge'];
$tax_percentage= $request['tax_percentage'];
$tax_amount= $request['tax_amount'];
$guest_email=$request['guest_email'];
session_start();
if(isset($_SESSION['cart'])){
$cart2=$_SESSION['cart'];
foreach($_SESSION['cart'] as $cart){
if(count($cart)>0){
foreach($cart as $subcart){
$count=$count+$subcart['quantity'];
}
}
}
}
else{
$count=0;
}
return view('general.paywithstripe',array('grandtotal'=>$grandtotal,'coupen_user_id'=>$coupen_user_id,'first_name'=>$first_name,'last_name'=>$last_name,'company'=>$company,'address1'=>$address1,'address2'=>$address2,'subtotal'=>$subtotal,'city'=>$city,'zip'=>$zip,'phone'=>$phone,'cart_products'=>$cart2,'guest_email'=>$guest_email,'country_id'=>$country_id,'coupen_discount'=>$coupen_discount,'shipping_charge'=>$shipping_charge,'tax_percentage'=>$tax_percentage,'tax_amount'=>$tax_amount));
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]