Wallogit.com
2017 © Pedro Peláez
Mercado Pago SDK v0.5.2 for Laravel
La compatibilidad con Laravel 5.3 fue probada con exito por kikemarto, (*1)
composer require santigraviano/laravel-mercadopago, (*3)
Dentro de config/app.php agregar los siguientes Provider y Alias, (*4)
Provider, (*5)
'providers' => [ // Otros Providers... SantiGraviano\LaravelMercadoPago\Providers\MercadoPagoServiceProvider::class, /* * Application Service Providers... */ ],
Alias, (*6)
'aliases' => [ // Otros Aliases 'MP' => SantiGraviano\LaravelMercadoPago\Facades\MP::class, ],
Antes de configurar el APP ID y APP SECRET, ejecutar el siguiente comando:, (*8)
php artisan vendor:publish, (*9)
Despues de haber ejecutado el comando, ir al archivo .env y agregar los campos MP_APP_ID y MP_APP_SECRET con los correspondientes valores de los CLIENT_ID y CLIENT_SECRET de tu aplicacion de MercadoPago., (*10)
Para saber cuales son tus datos CLIENT_ID y CLIENT_SECRET podes ingresar aqui:, (*11)
Si no deseas usar el archivo .env, ir a config/mercadopago.php y agregar tus datos de aplicación correspondientes., (*12)
return [
'app_id' => env('MP_APP_ID', 'TU CLIENT ID AQUI'),
'app_secret' => env('MP_APP_SECRET', 'TU CLIENT SECRET AQUI')
];
En este ejemplo vamos a crear una preferencia de pago, usando la Facade MP, (*14)
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use MP;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class MercadoPagoController extends Controller
{
public function getCreatePreference()
{
$preferenceData = [
'items' => [
[
'id' => 12,
'category_id' => 'phones',
'title' => 'iPhone 6',
'description' => 'iPhone 6 de 64gb nuevo',
'picture_url' => 'http://d243u7pon29hni.cloudfront.net/images/products/iphone-6-dorado-128-gb-red-4g-8-mpx-1256254%20(1)_m.png',
'quantity' => 1,
'currency_id' => 'ARS',
'unit_price' => 14999
]
],
];
$preference = MP::create_preference($preferenceData);
return dd($preference);
}
En este ejemplo vamos a crear una subscripción (débito automático), usando la Facade MP, (*15)
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use MP;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class MercadoPagoController extends Controller
{
public function getCreatePreapproval()
{
$preapproval_data = [
'payer_email' => 'agariobadcell@gmail.com',
'back_url' => 'http://labhor.com.ar/laravel/public/preapproval',
'reason' => 'Subscripción a paquete premium',
'external_reference' => $subscription->id,
'auto_recurring' => [
'frequency' => 1,
'frequency_type' => 'months',
'transaction_amount' => 99,
'currency_id' => 'ARS',
'start_date' => Carbon::now()->addHour()->format('Y-m-d\TH:i:s.BP'),
'end_date' => Carbon::now()->addMonth()->format('Y-m-d\TH:i:s.BP'),
],
];
MP::create_preapproval_payment($preapproval_data);
return dd($preapproval);
}
En el ejemplo se puede ver el uso de la libreria Carbon, para especificar la fecha de comienzo de la subscripción y el termino de la misma, siendo de frecuencia mensual., (*16)
A la fecha actual, via Carbon se le agrega una hora, ya que de otra manera MercadoPago puede dar la fecha como pasada., (*17)