Documentación
Uso
Apoyo
Importante
Laravel 11 será la última versión compatible con v3.0. Se está trabajando activamente en la versión 4 y se lanzará a finales de octubre de 2024. Para la versión 4, se introducen los siguientes cambios:
Se requiere PHP 8.1+.
Se requiere Laravel 10 y posteriores.
Integración del SDK JS de PayPal.
Complemento Symfony.
La documentación del paquete se puede ver haciendo clic en el siguiente enlace:
https://laravel-paypal.readthedocs.io/en/latest/
La documentación antigua se puede encontrar en el siguiente enlace:
https://srmklive.github.io/laravel-paypal/docs.html
A continuación se muestran algunas formas a través de las cuales puede acceder al proveedor de PayPal:
// Primero importe los espacios de nombres de clase, antes de usarlos directamenteuse SrmklivePayPalServicesPayPal as PayPalClient;$provider = new PayPalClient;// A través de fachada. No es necesario importar espacios de nombres$provider = PayPal::setProvider();
El archivo de configuración paypal.php se encuentra en la carpeta de configuración . A continuación se detalla su contenido cuando se publica:
return ['mode' => env('PAYPAL_MODE', 'sandbox'), // Solo puede ser 'sandbox' o 'live'. Si está vacío o no es válido, se utilizará 'live'.'sandbox' => ['client_id' => env('PAYPAL_SANDBOX_CLIENT_ID', ''),'client_secret' => env('PAYPAL_SANDBOX_CLIENT_SECRET', ''),'app_id ' => 'APP-80W284485P519543T', ],'live' => ['client_id' => env('PAYPAL_LIVE_CLIENT_ID', ''),'client_secret' => env('PAYPAL_LIVE_CLIENT_SECRET', ''),'app_id' => env('PAYPAL_LIVE_APP_ID', ' '), ],'paypal_action' => env('PAYPAL_PAYMENT_ACTION', 'Sale'), // Solo puede ser 'Venta', 'Autorización' o 'Pedido''moneda' => env('PAYPAL_CURRENCY', 'USD'), 'notify_url' => env('PAYPAL_NOTIFY_URL', ''), // Cambie esto según corresponda para su aplicación.'locale' => env('PAYPAL_LOCALE', 'en_US'), // forzar el idioma de la puerta de enlace, es decir, it_IT, es_ES, en_US ... (solo para pago rápido)'validate_ssl' => env('PAYPAL_VALIDATE_SSL', true), // Validar SSL cuando creando cliente API.];
Puede anular la configuración de la API de PayPal llamando al método setApiCredentials
:
$config = ['mode' => 'live','live' => ['client_id' => 'PAYPAL_LIVE_CLIENT_ID','client_secret' => 'PAYPAL_LIVE_CLIENT_SECRET','app_id' => 'PAYPAL_LIVE_APP_ID', ],'paid_action' => 'Venta','currency' => 'USD','notify_url' => 'https://your-site.com/paypal/notify','locale' => 'en_US', 'validate_ssl' => verdadero, ];$proveedor->setApiCredentials($config);
Después de establecer la configuración de la API de PayPal llamando al método setApiCredentials
. Debe obtener el token de acceso antes de realizar cualquier llamada a la API.
$proveedor->getAccessToken();
Por defecto, la moneda utilizada es USD
. Si desea cambiarlo, puede llamar al método setCurrency
para establecer una moneda diferente antes de llamar a cualquier método API respectivo:
$proveedor->setCurrency('EUR');
Tenga en cuenta que en los ejemplos siguientes, la llamada a
addPlanTrialPricing
es opcional y se puede omitir cuando crea suscripciones sin período de prueba.
setReturnAndCancelUrl()
es opcional. Si configura URL, debe utilizar dominios reales. por ejemplo, localhost, project.test no funciona.
$respuesta = $proveedor->addProduct('Producto de demostración', 'Producto de demostración', 'SERVICIO', 'SOFTWARE') ->addPlanTrialPricing('DÍA', 7) ->addDailyPlan('Plan de demostración', 'Plan de demostración', 1.50) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', '2021-12-10');
$respuesta = $proveedor->addProduct('Producto de demostración', 'Producto de demostración', 'SERVICIO', 'SOFTWARE') ->addPlanTrialPricing('DÍA', 7) ->addWeeklyPlan('Plan de demostración', 'Plan de demostración', 30) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', '2021-12-10');
$respuesta = $proveedor->addProduct('Producto de demostración', 'Producto de demostración', 'SERVICIO', 'SOFTWARE') ->addPlanTrialPricing('DÍA', 7) ->addMonthlyPlan('Plan de demostración', 'Plan de demostración', 100) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', '2021-12-10');
$respuesta = $proveedor->addProduct('Producto de demostración', 'Producto de demostración', 'SERVICIO', 'SOFTWARE') ->addPlanTrialPricing('DÍA', 7) ->addAnnualPlan('Plan de demostración', 'Plan de demostración', 600) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', '2021-12-10');
$respuesta = $proveedor->addProduct('Producto de demostración', 'Producto de demostración', 'SERVICIO', 'SOFTWARE') ->addCustomPlan('Plan de demostración', 'Plan de demostración', 150, 'MES', 3) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', '2021-12-10');
$respuesta = $this->cliente->addProductById('PROD-XYAB12ABSB7868434') ->addBillingPlanById('P-5ML4271244454362WXNWU5NQ') ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', $fecha_inicio);
Esta versión es compatible con Laravel 6 o superior.
En caso de cualquier problema, cree uno en la sección Problemas.
Si desea contribuir:
Bifurca este repositorio.
Implemente sus funciones.
Generar solicitud de extracción.