Package para usar MercadoPago en Laravel.
Instalar el paquete
composer require ales0sa/mpago
Agregar las credenciales de MercadoPago en el .env
MP_TOKEN=*******************************************
MP_PUBLIC_KEY=*************************
Route::get('mpago', function(Ales0sa\Mpago\Mpago $mp) {
$ref = 'uuid_del_pedido';
$items = array(
array(
'title' => 'ITEM DE PRUEBA 1',
'quantity' => 2,
'unit_price' => 2.5,
),
array(
'title' => 'ITEM DE PRUEBA 2',
'quantity' => 1,
'unit_price' => 3,
),
array(
'title' => 'ITEM DE PRUEBA 3',
'quantity' => 2,
'unit_price' => 1,
)
);
$data = $mp->newOrder($items, $ref);
return view('checkout', compact('data'));
});
Route::get('mpago/{id}', function(Ales0sa\Mpago\Mpago $mp, $id) {
return $mp->findPayment( $id );
});
Route::get('feedback', function(Ales0sa\Mpago\Mpago $mp) {
if(request()->get('payment_id')){
$check = $mp->findPayment(request()->get('payment_id'));
if($check){
dd($check->status, $check);
}else{
dd('No se encontro el pago');
}
}
});
Crear /resources/view/checkout.blade.php
<script src="https://sdk.mercadopago.com/js/v2"></script>
<div class="cho-container"></div>
<script>
const mp = new MercadoPago('{{ $data['public_key'] }}', {
locale: 'es-AR'
});
mp.checkout({
preference: {
id: "{{ $data['id'] }}"
},
render: {
container: '.cho-container',
label: 'Pagar',
}
});
</script>