Documentation
Usage
Soutien
Important
Laravel 11 sera la dernière version prise en charge pour la v3.0. La v4 est en cours de développement et sera publiée d'ici fin octobre 2024. Pour la v4, voici les changements introduits :
PHP 8.1+ requis.
Laravel 10 et versions ultérieures requis.
Intégration du SDK PayPal JS.
Plugin Symfony.
La documentation du package peut être consultée en cliquant sur le lien suivant :
https://laravel-paypal.readthedocs.io/en/latest/
L'ancienne documentation est disponible au lien suivant :
https://srmklive.github.io/laravel-paypal/docs.html
Voici quelques moyens par lesquels vous pouvez accéder au fournisseur Paypal :
// Importez d'abord les espaces de noms de classe, avant de les utiliser directement, utilisez SrmklivePayPalServicesPayPal as PayPalClient;$provider = new PayPalClient;// Via façade. Pas besoin d'importer des espaces de noms$provider = PayPal::setProvider();
Le fichier de configuration paypal.php se trouve dans le dossier config . Voici son contenu une fois publié :
return ['mode' => env('PAYPAL_MODE', 'sandbox'), // Ne peut être que 'sandbox' ou 'live'. S'il est vide ou invalide, 'live' sera utilisé.'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', ' '), ],'payment_action' => env('PAYPAL_PAYMENT_ACTION', 'Sale'), // Ne peut être que 'Vente', 'Autorisation' ou 'Commande''currency' => env('PAYPAL_CURRENCY', 'USD'), 'notify_url' => env('PAYPAL_NOTIFY_URL', ''), // Modifiez ceci en conséquence pour votre application.'locale' => env('PAYPAL_LOCALE', 'en_US'), // forcer la langue de la passerelle, c'est-à-dire it_IT, es_ES, en_US ... (pour le paiement express uniquement)'validate_ssl' => env('PAYPAL_VALIDATE_SSL', true ), // Valider SSL lors de la création du client API.];
Vous pouvez remplacer la configuration de l'API PayPal en appelant la méthode setApiCredentials
:
$config = ['mode' => 'live','live' => ['client_id' => 'PAYPAL_LIVE_CLIENT_ID','client_secret' => 'PAYPAL_LIVE_CLIENT_SECRET','app_id' => 'PAYPAL_LIVE_APP_ID', ],'payment_action' => 'Vente','currency' => 'USD','notify_url' => 'https://votre-site.com/paypal/notify','locale' => 'en_US', 'validate_ssl' => vrai, ];$provider->setApiCredentials($config);
Après avoir défini la configuration de l'API PayPal en appelant la méthode setApiCredentials
. Vous devez obtenir un jeton d'accès avant d'effectuer des appels API
$provider->getAccessToken();
Par défaut, la devise utilisée est USD
. Si vous souhaitez le modifier, vous pouvez appeler la méthode setCurrency
pour définir une devise différente avant d'appeler les méthodes API respectives :
$provider->setCurrency('EUR');
Veuillez noter que dans les exemples ci-dessous, l'appel à
addPlanTrialPricing
est facultatif et peut être omis lorsque vous créez des abonnements sans période d'essai.
setReturnAndCancelUrl()
est facultatif. Si vous définissez des URL, vous devez utiliser des domaines réels. par exemple localhost, project.test ne fonctionne pas.
$response = $provider->addProduct('Produit de démonstration', 'Produit de démonstration', 'SERVICE', 'LOGICIEL') ->addPlanTrialPricing('JOUR', 7) ->addDailyPlan('Plan Démo', 'Plan Démo', 1.50) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', '2021-12-10');
$response = $provider->addProduct('Produit de démonstration', 'Produit de démonstration', 'SERVICE', 'LOGICIEL') ->addPlanTrialPricing('JOUR', 7) ->addWeeklyPlan('Plan démo', 'Plan démo', 30) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', '2021-12-10');
$response = $provider->addProduct('Produit de démonstration', 'Produit de démonstration', 'SERVICE', 'LOGICIEL') ->addPlanTrialPricing('JOUR', 7) ->addMonthlyPlan('Plan démo', 'Plan démo', 100) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', '2021-12-10');
$response = $provider->addProduct('Produit de démonstration', 'Produit de démonstration', 'SERVICE', 'LOGICIEL') ->addPlanTrialPricing('JOUR', 7) ->addAnnualPlan('Plan Démo', 'Plan Démo', 600) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', '2021-12-10');
$response = $provider->addProduct('Produit de démonstration', 'Produit de démonstration', 'SERVICE', 'LOGICIEL') ->addCustomPlan('Plan Démo', 'Plan Démo', 150, 'MOIS', 3) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', '2021-12-10');
$response = $this->client->addProductById('PROD-XYAB12ABSB7868434') ->ajouterBillingPlanById('P-5ML4271244454362WXNWU5NQ') ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', $start_date);
Cette version prend en charge Laravel 6 ou supérieur.
En cas de problème, veuillez en créer un dans la section Problèmes.
Si vous souhaitez contribuer :
Forkez ce référentiel.
Implémentez vos fonctionnalités.
Générez une pull request.