Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gjae/laravel-mercadopago
Simple abstracción para implementar mercadopago sin morir en el intento
https://github.com/gjae/laravel-mercadopago
composer composer-package laravel laravel-framework laravel-package php php-library php7
Last synced: 22 days ago
JSON representation
Simple abstracción para implementar mercadopago sin morir en el intento
- Host: GitHub
- URL: https://github.com/gjae/laravel-mercadopago
- Owner: gjae
- License: mit
- Created: 2019-11-01T17:07:03.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-05-12T17:44:19.000Z (over 4 years ago)
- Last Synced: 2024-10-01T16:53:31.221Z (about 1 month ago)
- Topics: composer, composer-package, laravel, laravel-framework, laravel-package, php, php-library, php7
- Language: PHP
- Size: 25.4 KB
- Stars: 14
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Instalación
Ejecute el siguiente comando
```php
composer require gjae/laravel-mercadopago
```## Configuración básica
en su archivo ``` config/app.php ``` agregue las siguientes lineas (SOLO PARA VERSIONES DE LARAVEL <= 5.4):
en su arreglo de proveedores de servicio ( providers ):
```php
Gjae\MercadoPago\MPServiceProvider::class,
```agregue el siguiente facade a su lista de aliases (SOLO PARA VERSIONES DE LARAVEL <= 5.4):
```php
'MercadoPago' => Gjae\MercadoPago\Facade::class,
```
por ultimo ejecute el siguiente comando:
```php
php artisan vendor:publish --provider="Gjae\MercadoPago\MPServiceProvider"
```Y por ultimo ejecutar las migraciones:
```php
php artisan migrate
```Ahora vaya al archivo ``` config/mercadopago.php ``` y agregue su configuración, su archivo se vera similar a esto:
```php
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',];
```## Uso básico
Para comenzar a utilizar la librería unicamente necesita llamar al facade MercadoPago (o como le haya nombrado en el arreglo aliases de su archivo ```config.php``` ), llamando al metodo begin el cual tiene como parametro una función callback que recibira como parametro la transacción propiamente, ejemplo:
```php
\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" ]);});
```El metodo addItem puede ser llamado las veces que considere necesarias para agregar los items que necesite cargar al pago. Por ultimo, en su vista de respuesta
tendra disponible el metodo initPoint del facade MercadoPago (ejemplo de codigo de la vista):```HTML
Redirigiendo a MercadoPago para procesar su compra
window.location = document.getElementById('mp').value
```
las respuestas que retorne la pasarela de pago deben ser controlada desde sus rutas y agregadas en el archivo de configuración (```config/mercadopago.php```).## Procesando respuesta
En las rutas asociadas a la respuesta (configuradas en el archivo de configuración), llame a la clase MPResponse y use inyección de dependencias para procesar la respuesta, ejemplo:
```php
transactions;```
### Notas de observación
El objeto MPResponse que se inyecta al controlador cuenta con el metodo getTransaction que retorna los datos de la transacción recibida```php
public function successResponse(MPResponse $request)
{
$transaction = $request->getTransaction();
}
```## Nota:
Cuando el archivo de configuración tenga en true la opcion "local_debug"; la no se emitira un init_point con la URL de mercadopago, esto es para que el usuario no cree transacciones que no se realizaran dentro de la pasarela y pueda probar tranquilamente el funcionamiento sin esperar respuestas del servidor de mercadopago sin necesidad, cuando este listo para probar el funcionamiento completo bien sea en producción o en modo sandbox, cambie esta opcion a false### ToDo
- [ ] Emitir excepción cuando se encuentre la aplicación en modo debug local