Commit 0a524135 by Angel MAS

ajax promo payments

parent d78a2461
...@@ -13,6 +13,7 @@ use Onestartup\Shop\Model\ClientShop as Client; ...@@ -13,6 +13,7 @@ use Onestartup\Shop\Model\ClientShop as Client;
use Onestartup\Shop\Model\ShippingAddres as Addres; use Onestartup\Shop\Model\ShippingAddres as Addres;
use Onestartup\Shop\Model\SaleShop as Sale; use Onestartup\Shop\Model\SaleShop as Sale;
use Onestartup\Shop\Model\DetailShop as Item; use Onestartup\Shop\Model\DetailShop as Item;
use Onestartup\Shop\Model\DiscountCoupon as Coupon;
use Onestartup\Shop\Payment\MP; use Onestartup\Shop\Payment\MP;
use Onestartup\Shop\Notifications\PaymentClient; use Onestartup\Shop\Notifications\PaymentClient;
...@@ -45,6 +46,7 @@ class CartController extends Controller ...@@ -45,6 +46,7 @@ class CartController extends Controller
if (!\Session::has('cart')) { if (!\Session::has('cart')) {
\Session::put('cart', array()); \Session::put('cart', array());
} }
setlocale(LC_MONETARY, 'en_US');
$this->util = new Util(); $this->util = new Util();
} }
...@@ -681,7 +683,11 @@ public function shipping() ...@@ -681,7 +683,11 @@ public function shipping()
public function testmail() public function testmail()
{ {
$sale = Sale::find(5); /*$sale = Sale::find(10);
$data = $this->getDiscount($sale, 'test1');
return $data['amount'];
$products = $sale->products; $products = $sale->products;
//return $products; //return $products;
...@@ -699,7 +705,7 @@ public function shipping() ...@@ -699,7 +705,7 @@ public function shipping()
} }
$sale->status = 3; $sale->status = 3;
$sale->save(); $sale->save();*/
return "yei"; return "yei";
...@@ -723,4 +729,72 @@ public function shipping() ...@@ -723,4 +729,72 @@ public function shipping()
} }
public function discount(Request $request)
{
$sale = Sale::find($request->total);
$data = $this->getDiscount($sale, $request->coupon);
return response()
->json($data);
}
public function getDiscount($sale,$code)
{
$client = $sale->client;
$addres = $client->shipping;
$cost_shipping = $addres->shipping_price->cost;
$coupon = Coupon::where('code', $code)->first();
$today = date("Y-m-d");
$descuento = 0;
$total = 0;
$msg = 'Codigo de promoción no valido';
$valid = false;
$data = [];
foreach ($sale->products as $product) {
$aux = $product->pivot->quantity * $product->infoSale->sale_price;
$total += $aux;
}
if ($coupon != null) {
if ($today <= $coupon->expiration) {
if ($this->total() >= $coupon->min_sale) {
if ($coupon->type == 'Efectivo') {
$descuento = $coupon->value;
$msg = 'Tienes un descuento de: '.money_format('%(#10n',$descuento);
$valid = true;
}
if ($coupon->type == 'Porcentaje') {
$descuento = ($coupon->value/100) * $total;
$msg = 'Tienes un descuento de: '.money_format('%(#10n',$descuento);
$valid = true;
}
} else {
$msg = 'Para aplicar este código de descuento tu compra minima debe ser de: '
.money_format('%(#10n',$coupon->min_sale);
}
} else{
$msg = 'Lo sentimos este código de descuento ya expiró :(';
}
}
$data = [
'valid'=>$valid,
'msg'=>$msg,
'amount'=>money_format('%(#10n',$descuento),
'total'=>money_format('%(#10n', (($total+$cost_shipping)-$descuento))
];
return $data;
}
} }
...@@ -108,4 +108,6 @@ Route::group(['middleware' => ['web']], function(){ ...@@ -108,4 +108,6 @@ Route::group(['middleware' => ['web']], function(){
Route::get('cart/cancelPaypal', 'Onestartup\Shop\Controller\CartController@cancelPaypal')->name('cart.cancelPaypal'); Route::get('cart/cancelPaypal', 'Onestartup\Shop\Controller\CartController@cancelPaypal')->name('cart.cancelPaypal');
Route::get('cart/testmail', 'Onestartup\Shop\Controller\CartController@testmail')->name('cart.testmail'); Route::get('cart/testmail', 'Onestartup\Shop\Controller\CartController@testmail')->name('cart.testmail');
Route::get('get/coupon', 'Onestartup\Shop\Controller\CartController@discount')->name('cart.discount');
}); });
...@@ -72,14 +72,15 @@ setlocale(LC_MONETARY, 'en_US'); ...@@ -72,14 +72,15 @@ setlocale(LC_MONETARY, 'en_US');
<br> <br>
</section> </section>
@endsection @endsection
@section('scripts_extra') @section('scripts_extra')
<script type="text/javascript"> <script type="text/javascript">
Mercadopago.setPublishableKey({{env('PK_MERCADO_PAGO')}}); Mercadopago.setPublishableKey('key_test');
...@@ -166,7 +167,7 @@ setlocale(LC_MONETARY, 'en_US'); ...@@ -166,7 +167,7 @@ setlocale(LC_MONETARY, 'en_US');
}; };
function setPaymentMethodInfo(status, response) { function setPaymentMethodInfo(status, response) {
console.log("holiholi");
if (status == 200) { if (status == 200) {
// do somethings ex: show logo of the payment method // do somethings ex: show logo of the payment method
var form = document.querySelector('#form-pagar-mp'); var form = document.querySelector('#form-pagar-mp');
...@@ -187,5 +188,34 @@ setlocale(LC_MONETARY, 'en_US'); ...@@ -187,5 +188,34 @@ setlocale(LC_MONETARY, 'en_US');
addEvent(document.querySelector('input[data-checkout="cardNumber"]'), 'keyup', guessingPaymentMethod); addEvent(document.querySelector('input[data-checkout="cardNumber"]'), 'keyup', guessingPaymentMethod);
addEvent(document.querySelector('input[data-checkout="cardNumber"]'), 'change', guessingPaymentMethod); addEvent(document.querySelector('input[data-checkout="cardNumber"]'), 'change', guessingPaymentMethod);
</script> </script>
@endsection
\ No newline at end of file <script type="text/javascript">
$(".coupon").keyup(function(){
var text = this.value;
if (text.length > 3) {
$.get( "/get/coupon", { total: $(this).data('total'), coupon: text } )
.done(function( data ) {
$(".reponse_coupon")
.text(data.msg);
if (data.valid) {
$(".amount_discount")
.html(' - descuento de' + data.amount + '<br> = '+data.total);
$('.coupon').val(text);
} else {
$(".amount_discount")
.text('');
}
});
}
});
</script>
@endsection
...@@ -4,17 +4,25 @@ ...@@ -4,17 +4,25 @@
<div class="group"> <div class="group">
<label> <label>
Selecciona la opcion deseada Selecciona la opcion deseada
</label> </label><br>
<select name="payment_id"> <select name="payment_id">
<option value="oxxo">Oxxo</option> <option value="oxxo">Oxxo</option>
<option value="bancomer">Bancomer</option> <option value="bancomer">Bancomer</option>
<option value="serfin">Santander</option> <option value="serfin">Santander</option>
<option value="banamex">Banamex</option> <option value="banamex">Banamex</option>
</select> </select><br>
</div> </div>
<div>
<label>Si cuentas con un código de promocion introducelo aquí</label><br>
<input type="text" name="coupon" class="coupon" placeholder="Codigo de promoción" data-total="{{$sale->id}}">
<span class="reponse_coupon"></span>
<br>
</div>
<br>
<button> <button>
Pagar {{ money_format('%(#10n', ($total + $addres->shipping_price->cost)) }} Pagar {{ money_format('%(#10n', ($total + $addres->shipping_price->cost)) }}
<span class="amount_discount"></span>
</button> </button>
</form> </form>
\ No newline at end of file
...@@ -18,9 +18,17 @@ ...@@ -18,9 +18,17 @@
<input class="form-white" type="text" size="4" name="cvc" data-checkout="securityCode" placeholder="Ej. 543" required="required" class="form-control"/> <input class="form-white" type="text" size="4" name="cvc" data-checkout="securityCode" placeholder="Ej. 543" required="required" class="form-control"/>
<input name="paymentMethodId" type="hidden"> <input name="paymentMethodId" type="hidden">
<br>
<button type="submit"> <div>
<label>Si cuentas con un código de promocion introducelo aquí</label><br>
<input type="text" name="coupon" class="coupon" placeholder="Codigo de promoción" data-total="{{$sale->id}}">
<span class="reponse_coupon"></span>
<br>
</div>
<br>
<button>
Pagar {{ money_format('%(#10n', ($total + $addres->shipping_price->cost)) }} Pagar {{ money_format('%(#10n', ($total + $addres->shipping_price->cost)) }}
<span class="amount_discount"></span>
</button> </button>
</form> </form>
\ No newline at end of file
<form action="{{route('cart.acordar')}}" method="POST"> <form action="{{route('cart.acordar')}}" method="POST">
{{ csrf_field() }} {{ csrf_field() }}
<button type="submit">
Acordar con el vendedor: {{ money_format('%(#10n', ($total + $addres->shipping_price->cost)) }} <div>
<label>Si cuentas con un código de promocion introducelo aquí</label><br>
<input type="text" name="coupon" class="coupon" placeholder="Codigo de promoción" data-total="{{$sale->id}}">
<span class="reponse_coupon"></span>
<br>
</div>
<br>
<button>
Acordar con el vendedor {{ money_format('%(#10n', ($total + $addres->shipping_price->cost)) }}
<br>
<span class="amount_discount"></span>
</button> </button>
</form> </form>
\ No newline at end of file
<form action="{{route('cart.paymentPaypal')}}" method="POST"> <form action="{{route('cart.paymentPaypal')}}" method="POST">
{{ csrf_field() }} {{ csrf_field() }}
<button> <div>
<label>Si cuentas con un código de promocion introducelo aquí</label><br>
<input type="text" name="coupon" class="coupon" placeholder="Codigo de promoción" data-total="{{$sale->id}}">
<span class="reponse_coupon"></span>
<br>
</div>
<br>
<button type="submit">
Pagar con paypal {{ money_format('%(#10n', ($total + $addres->shipping_price->cost)) }} Pagar con paypal {{ money_format('%(#10n', ($total + $addres->shipping_price->cost)) }}
<span class="amount_discount"></span>
</button> </button>
</form> </form>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment