instalación
usando composer
composer require tepuilabs/payment-processors
de forma opcional puedes publicar el archivo de configuración:
php artisan vendor:publish --provider="Tepuilabs\PaymentProcessors\PaymentProcessorsServiceProvider" --tag="config"
el contenido del archivo de configuración es el siguiente:
return [
'mercadopago' => [
'base_uri' => env('MERCADOPAGO_BASE_URI'),
'key' => env('MERCADOPAGO_KEY'),
'secret' => env('MERCADOPAGO_SECRET'),
'base_currency' => env('MERCADOPAGO_BASE_CURRENCY'),
'class' => \Tepuilabs\PaymentProcessors\Services\MercadoPagoService::class,
],
'paypal' => [
'base_uri' => env('PAYPAL_BASE_URI'),
'client_id' => env('PAYPAL_CLIENT_ID'),
'client_secret' => env('PAYPAL_CLIENT_SECRET'),
'return_url' => env('PAYPAL_RETURN_URL'),
'cancel_url' => env('PAYPAL_CANCEL_URL'),
'class' => \Tepuilabs\PaymentProcessors\Services\PayPalService::class,
],
];
como usar
Mercado pago
Primero debes seguir las indicaciones de mercado libre para hacer la integración de cliente luego de eso, sigue los pasos abajo descritos:
> NOTA: esta implementación no está pensada para cobros en cuotas
// usa el facade
use Tepuilabs\PaymentProcessors\Facades\PaymentProcessors;
// luego crea la instancia de la clase a usar
$mercadopago = PaymentProcessors::resolveService('mercadopago');
// necesitamos:
// $cardNetwork: visa / mastercard
// $cardToken: token de la tarjeta
// $amount: monto a cobrar
// $userEmail: correo del usuario
$mercadopago->handlePayment('visa', 'ff8080814c11e237014c1ff593b57b4d', 177, 'test@test.com');
respuesta
{
"status": "approved",
"status_detail": "accredited",
"id": 3055677,
"date_approved": "2019-02-23T00:01:10.000-04:00",
"payer": {
...
},
"payment_method_id": "visa",
"payment_type_id": "credit_card",
"refunds": [],
...
}
PayPal
Para usar paypal solamente debemos usar dos metodos:
// usa el facade
use Tepuilabs\PaymentProcessors\Facades\PaymentProcessors;
// luego crea la instancia de la clase a usar
$paypal = PaymentProcessors::resolveService('paypal');
// necesitamos:
// $amoun: el monto a cobrar
// $currency: el id de la moneda a cobrar, por defecto es USD
// este método hace una redirección a paypal
$paypal->handlePayment(200);
// el otro método que debemos usar es
$paypal->handleApproval();
// este método retorna toda la infromación del pago de ser aceptado por el usuario
// o retorna un array vacio
Esto es idea original de @JuanDMeGon, tomada de su curso en Udemy de Procesa pagos con Laravel y las mejores plataformas de pagos.
Muchas gracias Juan por tu trabajo y esfuerzo!!
Discussion (2)
en la opción de mercado pago, cuando envío la petición, como hago para ver si funcionó, sale en blanco nomas, quiero ver la respuesta y si se graba la compra en mercadopago?
Hola Alex, el paquete recibió un cambio recientemente y puede que lo que esté acá escrito no sea del todo cierto.
Para responder tu pregunta lo que tienes que hacer es algo como esto:
Y ya con eso puedes hacer todo lo que necesites hacer en tu aplicación.
Te invito a pasar por el repo y revisar los cambios recientes: github.com/TepuiLABS/payment-proce...