PHP code example of gjae / laravel-mercadopago

1. Go to this page and download the library: Download gjae/laravel-mercadopago library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

gjae / laravel-mercadopago example snippets

 
composer 
 
Gjae\MercadoPago\MPServiceProvider::class, 

'MercadoPago' => Gjae\MercadoPago\Facade::class,

php artisan vendor:publish --provider="Gjae\MercadoPago\MPServiceProvider"

php artisan migrate



return [

    /**
     * Si es verdadero entonces no se validan las credenciales
     * en mercadopago
     */
    'local_debug'        => true,

    /**
     * Especifica el modo en el que se estara usando
     * el mercado pago, : sandbox, production
     */
    'mode'              => 'sandbox',

    /**
     * Credenciales para el caso en que la aplicacion este en modo 
     * produccion (especificado en la clave mode)
     */
    'production'        => [

        'access_token'  => env('MP_ACCESS_TOKEN', ''),


        'public_key'    => env('MP_PUBLIC_KEY', ''),


    ],

    /**
     * Credenciales para el modo sandbox
     * especificado el uso en la clave "mode"
     */
    'sandbox'           => [
        'access_token'  => env('MP_SANDBOX_ACCESS_TOKEN', ''),

        'public_key'    => env('MP_SANDBOX_PUBLIC_KEY', '')
    ],


    /**
     * Tipo de identificacion usada para los pagos 
     */
    'identification_type'   => 'DNI',


    /**
     * Codigo de area telefonico
     */
    'area_code'             => '',

    /**
     * Especifica las URL de retorno para el smartcheckout
     */
    'back_urls'             => [

        'success'   => '',

        'failure'   => '',

        'pending'   => '',

    ],

    // Indica en que caso de respuesta del pago se ejecutara una autorecarga
    // Por defecto: approved (el usuario pagador volvera automaticamente en caso de que el pago haya sido completado y aprobado)
    'auto_return'   => 'approved',


];

\MercadoPago::begin(function($mp){
    // agrega un item al procesamiento
    $mp->addItem([
        'title' => 'Prueba', // Titulo del item
        'qtty'  => 1,        // Cantidad del item
        'price' => 150.0, // Precio unitario
        'currency' => 'USD', // MONEDA USADA PARA PAGAR
        'id'    =>  "MYAWESOMEPRODUCTID" // ID DEL PRODUCTO (PARA CONTROL INTERNO DE SU APLICACIÓN)
    ]);

    // OPCIONAL: el metodo backUrlAddQS agregara parametros adicionales a la URL de pago, dichos parametros seran devueltos al completar la transaccipon
    // usado para control interno de su propia aplicación, si desea agregar un token o ID de seguridad a su proceso
    $mp->backUrlAddQS([ 'foo' => "bar" ]);

});


...
use Gjae\MercadoPago\Contracts\MPResponse;

class MercadoPagoController extends Controller
{
    public function successResponse(MPResponse $request)
    {
        ...
    }

}


namespace App;

...
use Illuminate\Database\Eloquent\Model;
use Gjae\MercadoPago\Contracts\HasTransaction;
use Gjae\MercadoPago\Traits\HasTransactions;

class MyAwesomeModel extends Model implements HasTransaction{
    use HasTransactions;
    ...
}

\MercadoPago::begin(function($mp){
    ...
}, [ $HasTransactionObjects ]);


$user = App\User::first();

$user->transactions; 


public function successResponse(MPResponse $request)
{
    $transaction = $request->getTransaction();
}
 config/app.php 
 config/mercadopago.php 
config.php
config/mercadopago.php