⚝
One Hat Cyber Team
⚝
Your IP:
18.117.172.251
Server IP:
162.254.39.145
Server:
Linux premium289.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
Server Software:
LiteSpeed
PHP Version:
8.2.28
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
favoaysf
/
public_html
/
vendor
/
srmklive
/
paypal
/
View File Name :
README.md
# Laravel PayPal [](LICENSE.md) [](https://packagist.org/packages/srmklive/paypal) [](https://packagist.org/packages/srmklive/paypal) [](https://github.styleci.io/repos/43671533?branch=v2.0)  [](https://coveralls.io/github/srmklive/laravel-paypal?branch=v3.0) [](https://scrutinizer-ci.com/g/srmklive/laravel-paypal/?branch=v3.0) - [Documentation](#introduction) - [Usage](#usage) - [Support](#support) <a name="introduction"></a> ## Documentation The documentation for the package can be viewed by clicking the following link: [https://laravel-paypal.readthedocs.io/en/latest/](https://laravel-paypal.readthedocs.io/en/latest/) The old documentation can be found at the following link: [https://srmklive.github.io/laravel-paypal/docs.html](https://srmklive.github.io/laravel-paypal/docs.html) <a name="usage"></a> ## Usage Following are some ways through which you can access the paypal provider: ```php // Import the class namespaces first, before using it directly use Srmklive\PayPal\Services\PayPal as PayPalClient; $provider = new PayPalClient; // Through facade. No need to import namespaces $provider = \PayPal::setProvider(); ``` <a name="usage-paypal-api-configuration"></a> ## Configuration File The configuration file **paypal.php** is located in the **config** folder. Following are its contents when published: ```php return [ 'mode' => env('PAYPAL_MODE', 'sandbox'), // Can only be 'sandbox' Or 'live'. If empty or invalid, 'live' will be used. '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'), // Can only be 'Sale', 'Authorization' or 'Order' 'currency' => env('PAYPAL_CURRENCY', 'USD'), 'notify_url' => env('PAYPAL_NOTIFY_URL', ''), // Change this accordingly for your application. 'locale' => env('PAYPAL_LOCALE', 'en_US'), // force gateway language i.e. it_IT, es_ES, en_US ... (for express checkout only) 'validate_ssl' => env('PAYPAL_VALIDATE_SSL', true), // Validate SSL when creating api client. ]; ``` ## Override PayPal API Configuration You can override PayPal API configuration by calling `setApiCredentials` method: ```php $config = [ 'mode' => 'live', 'live' => [ 'client_id' => 'PAYPAL_LIVE_CLIENT_ID', 'client_secret' => 'PAYPAL_LIVE_CLIENT_SECRET', 'app_id' => 'PAYPAL_LIVE_APP_ID', ], 'payment_action' => 'Sale', 'currency' => 'USD', 'notify_url' => 'https://your-site.com/paypal/notify', 'locale' => 'en_US', 'validate_ssl' => true, ]; $provider->setApiCredentials($config); ``` <a name="usage-paypal-get-access-token"></a> ## Get Access Token After setting the PayPal API configuration by calling `setApiCredentials` method. You need to get access token before performing any API calls ```php $provider->getAccessToken(); ``` <a name="usage-currency"></a> ## Set Currency By default, the currency used is `USD`. If you wish to change it, you may call `setCurrency` method to set a different currency before calling any respective API methods: ```php $provider->setCurrency('EUR'); ``` <a name="usage-helpers"></a> ## Helper Methods > Please note that in the examples below, the call to `addPlanTrialPricing` is optional and it can be omitted when you are creating subscriptions without trial period. > `setReturnAndCancelUrl()` is optional. If you set urls you have to use real domains. e.g. localhost, project.test does not work. ### Create Recurring Daily Subscription ```php $response = $provider->addProduct('Demo Product', 'Demo Product', 'SERVICE', 'SOFTWARE') ->addPlanTrialPricing('DAY', 7) ->addDailyPlan('Demo Plan', 'Demo Plan', 1.50) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', 'john@example.com', '2021-12-10'); ``` ### Create Recurring Weekly Subscription ```php $response = $provider->addProduct('Demo Product', 'Demo Product', 'SERVICE', 'SOFTWARE') ->addPlanTrialPricing('DAY', 7) ->addWeeklyPlan('Demo Plan', 'Demo Plan', 30) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', 'john@example.com', '2021-12-10'); ``` ### Create Recurring Monthly Subscription ```php $response = $provider->addProduct('Demo Product', 'Demo Product', 'SERVICE', 'SOFTWARE') ->addPlanTrialPricing('DAY', 7) ->addMonthlyPlan('Demo Plan', 'Demo Plan', 100) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', 'john@example.com', '2021-12-10'); ``` ### Create Recurring Annual Subscription ```php $response = $provider->addProduct('Demo Product', 'Demo Product', 'SERVICE', 'SOFTWARE') ->addPlanTrialPricing('DAY', 7) ->addAnnualPlan('Demo Plan', 'Demo Plan', 600) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', 'john@example.com', '2021-12-10'); ``` ### Create Recurring Subscription with Custom Intervals ```php $response = $provider->addProduct('Demo Product', 'Demo Product', 'SERVICE', 'SOFTWARE') ->addCustomPlan('Demo Plan', 'Demo Plan', 150, 'MONTH', 3) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', 'john@example.com', '2021-12-10'); ``` ### Create Subscription by Existing Product & Billing Plan ```php $response = $this->client->addProductById('PROD-XYAB12ABSB7868434') ->addBillingPlanById('P-5ML4271244454362WXNWU5NQ') ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', 'john@example.com', $start_date); ``` <a name="support"></a> ## Support This version supports Laravel 6 or greater. * In case of any issues, kindly create one on the [Issues](https://github.com/srmklive/laravel-paypal/issues) section. * If you would like to contribute: * Fork this repository. * Implement your features. * Generate pull request.