Jalankan perintah berikut
composer require gjae/laravel-mercadopago
Di file config/app.php
Anda, tambahkan baris berikut (HANYA UNTUK VERSI LARAVEL <= 5.4):
dalam array penyedia layanan Anda ( penyedia ):
Gjae MercadoPago MPServiceProvider::class,
tambahkan fasad berikut ke daftar alias Anda (HANYA UNTUK VERSI LARAVEL <= 5.4):
' MercadoPago ' => Gjae MercadoPago Facade::class,
akhirnya jalankan perintah berikut:
php artisan vendor:publish -- provider ="Gjae MercadoPago MPServiceProvider "
Dan terakhir jalankan migrasi:
php artisan migrate
Sekarang masuk ke file config/mercadopago.php
dan tambahkan konfigurasi Anda, file Anda akan terlihat seperti ini:
<?php
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 ' ,
];
Untuk mulai menggunakan perpustakaan Anda hanya perlu memanggil fasad MercadoPago (atau apa pun namanya dalam susunan alias file config.php
Anda), memanggil metode mulai yang memiliki parameter fungsi panggilan balik yang akan menerima transaksi itu sendiri sebagai parameter, contoh:
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 " ]);
});
Metode addItem dapat dipanggil sebanyak yang Anda anggap perlu untuk menambahkan item yang perlu Anda tagih ke pembayaran. Terakhir, dalam tampilan respons Anda
Metode initPoint pada fasad MercadoPago akan tersedia (contoh kode tampilan):
<!DOCTYPE html >
< html lang =" en " >
< head >
< meta charset =" UTF-8 " >
< meta name =" viewport " content =" width=device-width, initial-scale=1.0 " >
< meta http-equiv =" X-UA-Compatible " content =" ie=edge " >
< title > Redirigiendo a MercadoPago para procesar su compra </ title >
</ head >
< body >
< input type =" hidden " name =" redirect-mp " id =" mp " value =" {{ MercadoPago::initPoint() }} " >
< script >
window . location = document . getElementById ( 'mp' ) . value
</ script >
</ body >
</ html >
Respons yang dikembalikan oleh gateway pembayaran harus dikontrol dari rutenya dan ditambahkan ke file konfigurasi ( config/mercadopago.php
).
Di rute yang terkait dengan respons (dikonfigurasi dalam file konfigurasi), panggil kelas MPResponse dan gunakan injeksi ketergantungan untuk memproses respons, contoh:
<?php
. . .
use Gjae MercadoPago Contracts MPResponse ;
class MercadoPagoController extends Controller
{
public function successResponse ( MPResponse $ request )
{
. . .
}
}
Objek MPResponse yang disuntikkan akan secara otomatis menyimpan data respons untuk Anda.
Selain itu, Anda dapat mengaitkan model dengan transaksi Anda, untuk ini Anda harus masuk ke kelas model Eloquent Anda dan mengimplementasikan antarmuka HasTransaction dan sifat HasTransactions yang disertakan dalam paket:
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;
. . .
}
Setelah melakukan ini, Anda dapat meneruskan sebagai parameter kedua ke fungsi awal, sebuah objek (atau array objek) dari kelas mana pun yang mengimplementasikan antarmuka HasTransaction:
MercadoPago:: begin ( function ( $ mp ){
. . .
}, [ $ HasTransactionObjects ]);
Objek yang mengimplementasikan antarmuka HasTransaction
dan sifat HasTransactions
memiliki ekstensi transaksi yang mengembalikan kumpulan transaksi yang terkait dengan objek tersebut:
$ user = App User:: first ();
$ user -> transactions ;
Objek MPResponse yang dimasukkan ke dalam pengontrol memiliki metode getTransaction yang mengembalikan data transaksi yang diterima
public function successResponse ( MPResponse $ request )
{
$ transaction = $ request -> getTransaction ();
}
Ketika file konfigurasi memiliki opsi "local_debug" yang disetel ke true; Init_point tidak akan dikeluarkan dengan URL Mercadopago, hal ini agar pengguna tidak membuat transaksi yang tidak akan dilakukan di dalam gateway dan dapat dengan tenang menguji operasi tanpa menunggu tanggapan dari server Mercadopago tanpa perlu, ketika dia siap untuk diuji. operasi penuh baik dalam mode produksi atau kotak pasir, ubah opsi ini menjadi false