sanitigraviano / laravel-mercadopago
Laravel的Mercado Pago SDK v0.5.2
v1.0.0
2016-03-22 09:44 UTC
Requires
- ext-curl: *
This package is not auto-updated.
Last update: 2024-09-14 18:53:04 UTC
README
通过kikemarto成功测试了与Laravel 5.3的兼容性
安装
composer require santigraviano/laravel-mercadopago
在config/app.php
中添加以下Provider和Alias
Provider
'providers' => [ // Otros Providers... SantiGraviano\LaravelMercadoPago\Providers\MercadoPagoServiceProvider::class, /* * Application Service Providers... */ ],
Alias
'aliases' => [ // Otros Aliases 'MP' => SantiGraviano\LaravelMercadoPago\Facades\MP::class, ],
配置
在配置APP ID和APP SECRET之前,执行以下命令
php artisan vendor:publish
执行命令后,转到.env
文件,并添加MP_APP_ID
和MP_APP_SECRET
字段,使用您的Mercado Pago应用的CLIENT_ID
和CLIENT_SECRET
的相应值。
要了解您的CLIENT_ID
和CLIENT_SECRET
是什么,可以在这里输入
如果您不想使用.env
文件,请转到config/mercadopago.php
并添加您应用的相应数据。
return [ 'app_id' => env('MP_APP_ID', 'TU CLIENT ID AQUI'), 'app_secret' => env('MP_APP_SECRET', 'TU CLIENT SECRET AQUI') ];
如何使用
在这个例子中,我们将使用Facade MP
创建一个支付偏好
<?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); }
在这个例子中,我们将使用Facade MP
创建一个订阅(自动扣款)
<?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); }
在示例中可以看到,使用Carbon
库来指定订阅的开始日期和结束日期,频率为每月一次。
截至当前日期,通过Carbon
添加一个小时,因为如果不这样做,Mercado Pago可能会将日期视为已过去。