cinghie / yii2-paypal
用于管理 Yii 2 项目中 PayPal 支付的 Yii2 Paypal 扩展
Requires
- php: >=5.5.0
- ext-curl: *
- ext-dom: *
- ext-hash: *
- ext-json: *
- ext-openssl: *
- ext-xmlwriter: *
- braintree/braintree_php: ^3.40.0
- braintree/braintreehttp: ^0.3.0
- cinghie/yii2-traits: @dev
- hyperwallet/sdk: ^1.3.0
- paypal/merchant-sdk-php: ^3.12.0
- paypal/rest-api-sdk-php: ^1.14.0
- yiisoft/yii2: ~2.0.14
README
Yii2 PayPal 扩展用于管理
- PayPal 支付:[PayPal](https://www.paypal.com)
- BrainTree 支付(PayPal 服务):[BrainTree](https://www.braintreepayments.com)
- HyperWallet 支付(PayPal 服务):[HyperWallet](https://www.hyperwallet.com)
安装
安装此扩展的首选方式是通过 composer。
运行以下命令
php composer.phar require cinghie/yii2-paypal "@dev"
或者将此行添加到你的 composer.json
文件的 require 部分。
"cinghie/yii2-paypal": "@dev"
PayPal
获取凭证
-
登录仪表板,并输入你的 PayPal 商业账户邮箱和密码。
-
在 REST API 应用程序部分,点击创建应用。此应用用于生成你的凭证。
-
为你的应用输入一个名称并点击创建应用。页面将显示你的沙盒应用信息,包括凭证。
注意:要显示你的生产应用信息,切换到“生产”模式。 -
复制并保存你的沙盒应用的客户端 ID 和密钥。
-
审查你的应用详情并保存你的应用。
创建沙盒账户
-
登录仪表板,并输入你的 PayPal 商业账户邮箱和密码。
注意:如果你没有商业账户,请点击注册。 -
在沙盒下,点击账户并点击创建账户。
-
要创建买家账户,选择个人账户类型。
输入这些必填项和任何可选字段,然后点击创建账户- 电子邮箱地址:一个假的或有效的电子邮箱地址。
如果你使用有效地址,当你运行测试交易时,你会收到电子邮件通知 - 密码:一个容易记住的密码,例如 12345678
- PayPal 余额:一个高金额,例如 5000
- 电子邮箱地址:一个假的或有效的电子邮箱地址。
-
要创建商家账户,选择商业账户类型,输入账户信息,然后点击创建账户
文档
文档:[PayPal PHP SDK 文档](http://paypal.github.io/PayPal-PHP-SDK/docs/)
示例:[PayPal PHP SDK 示例](http://paypal.github.io/PayPal-PHP-SDK/sample/)
沙盒:[PayPal 沙盒](https://www.sandbox.paypal.com/)
SDK PHP:[PayPal PHP SDK](https://github.com/paypal/PayPal-PHP-SDK/)
支持:[PayPal 开发者支持](https://developer.paypal.com/support/)
Wiki:[PayPal PHP SDK Wiki](https://github.com/paypal/PayPal-PHP-SDK/wiki)
配置
在通用配置文件中添加
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,
]
]
- clientid => 你的 PayPal clientId
- clientSecret => 你的 PayPal clientSecret
- isProduction => 如果你的网站处于生产模式,设置为 yes,否则为 false
- mode => 如果你的网站处于开发模式,设置为 'sandbox',在生产模式下设置为 'live'
你可以在配置数组中设置高级设置
'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',
],
在配置文件中模块部分添加
'paypal' => [
'class' => 'cinghie\paypal\Paypal',
'paypalRoles' => ['admin'],
'showTitles' => false,
],
在后端配置文件中添加
use cinghie\paypal\filters\BackendFilter as PaypalBackendFilter;
'modules' => [
'paypal' => [
'as backend' => PaypalBackendFilter::class,
],
]
在前端配置文件中添加
use cinghie\paypal\filters\FrontendFilter as PaypalFrontendFilter;
'modules' => [
'paypal' => [
'as backend' => PaypalBackendFilter::class,
],
]
BrainTree 配置
在通用配置文件中添加
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'
],
HyperWallet 配置
在通用配置文件中添加
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'
],
创建数据库模式
运行以下命令
$ 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();