Yii2 PayPal Extension to manage:
The preferred way to install this extension is through composer.
Either run
php composer.phar require cinghie/yii2-paypal "@dev"
or add this line to the require section of your composer.json
file.
"cinghie/yii2-paypal": "@dev"
Log into Dashboard and type your PayPal business account email and password.
In the REST API apps section, click Create App. The purpose of this app is to generate your credentials.
Type a name for your app and click Create App. The page shows your sandbox app information, which includes your credentials.
Note: To show your live app information, toggle to Live.
Copy and save the client ID and secret for your sandbox app.
Review your app details and save your app.
Log into Dashboard and type your PayPal business account email and password.
Note: If you do not have a business account, click Sign Up.
Under Sandbox, click Accounts and click Create Account.
To create the buyer account, select the personal account type.
Type these required and any optional fields and click Create Account:
To create the merchant account, select the business account type, type account information, and click Create Account
Documentation: http://paypal.github.io/PayPal-PHP-SDK/docs/
Sample: http://paypal.github.io/PayPal-PHP-SDK/sample/
Sandbox: https://www.sandbox.paypal.com/
SDK PHP: https://github.com/paypal/PayPal-PHP-SDK/
Support: https://developer.paypal.com/support/
Wiki: https://github.com/paypal/PayPal-PHP-SDK/wiki
Add in your common configuration file:
use cinghie\paypal\components\Paypal as PaypalComponent;
use cinghie\paypal\Paypal as PaypalModule;
'components' => [
'paypal' => [
'class' => 'cinghie\paypal\components\Paypal',
'clientId' => 'YOUR_CLIENT_ID',
'clientSecret' => 'YOUR_CLIENT_SECRET',
'isProduction' => false,
'config' => [
'mode' => 'sandbox', // 'sandbox' (development mode) or 'live' (production mode)
]
]
],
'modules' => [
'paypal' => [
'class' => PaypalModule::class,
'paypalRoles' => ['admin'],
'showTitles' => false,
]
]
You can set advanced settings in config array:
'config' => [
'mode' => 'sandbox', // 'sandbox' (development mode) or 'live' (production mode)
'http.ConnectionTimeOut' => 30,
'http.Retry' => 1,
'log.LogEnabled' => YII_DEBUG ? 1 : 0,
'log.FileName' => '@runtime/logs/paypal.log',
'log.LogLevel' => 'ERROR',
],
Add in your configuration file, in module section:
'paypal' => [
'class' => 'cinghie\paypal\Paypal',
'paypalRoles' => ['admin'],
'showTitles' => false,
],
Add in your backend configuration file:
use cinghie\paypal\filters\BackendFilter as PaypalBackendFilter;
'modules' => [
'paypal' => [
'as backend' => PaypalBackendFilter::class,
],
]
Add in your frontend configuration file:
use cinghie\paypal\filters\FrontendFilter as PaypalFrontendFilter;
'modules' => [
'paypal' => [
'as backend' => PaypalBackendFilter::class,
],
]
Add in your common configuration file:
use cinghie\paypal\components\Braintree as BraintreeComponent;
'braintree' => [
'class' => BraintreeComponent::class,
'environment' => 'sandbox',
'merchantId' => 'your_merchant_id',
'publicKey' => 'your_public_key',
'privateKey' => 'your_private_key'
],
Add in your common configuration file:
use cinghie\paypal\components\Hyperwallet as HyperwalletComponent;
'hyperwallet' => [
'class' => HyperwalletComponent::class,
'username' => 'HYPERWALLET_SERVER',
'password' => 'HYPERWALLET_PASSWORD',
'token' => 'HYPERWALLET_PROGRAM_TOKEN',
'server' => 'https://sandbox.hyperwallet.com'
],
Run the following command:
$ php yii migrate/up --migrationPath=@vendor/cinghie/yii2-paypal/migrations
\Yii::$app->braintree;
\Yii::$app->hyperwallet;
\Yii::$app->paypal;
$demo = new \cinghie\paypal\models\Demo();
$demo->payByCreditCardDemo();
$demo->payByPaypalDemo();
Comments