定制 cinghie/yii2-paypal 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

cinghie/yii2-paypal

Composer 安装命令:

composer require cinghie/yii2-paypal

包简介

Yii2 Paypal to manage Paypal Payments on your Yii 2 project

README 文档

README

License Latest Stable Version Latest Release Date Latest Commit Total Downloads

Yii2 PayPal Extension to manage:

Installation

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"

PayPal

Get credentials

  1. Log into Dashboard and type your PayPal business account email and password.

  2. In the REST API apps section, click Create App. The purpose of this app is to generate your credentials.

  3. 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.

  4. Copy and save the client ID and secret for your sandbox app.

  5. Review your app details and save your app.

Create sandbox accounts

  1. Log into Dashboard and type your PayPal business account email and password.
    Note: If you do not have a business account, click Sign Up.

  2. Under Sandbox, click Accounts and click Create Account.

  3. To create the buyer account, select the personal account type.
    Type these required and any optional fields and click Create Account:

    • Email Address: A fake or valid email address.
      If you use a valid address, you receive email notifications when you run test transactions
    • Password: An easy-to-remember password, such as 12345678
    • PayPal Balance: A high amount, such as 5000
  4. To create the merchant account, select the business account type, type account information, and click Create Account

Documentation

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

Configuration

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,
    ]
    
]
  • clientid => your PayPal clientId
  • clientSecret => your PayPal clientSecret
  • isProduction => set yes if your site is on Production Mode, false otherwise
  • mode => set 'sandbox' if your site is on Development Mode, or 'live' on Production Mode

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,
    ],  

]

BrainTreee Configuration

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'
],

HyperWallet Configuration

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'
],

Create database schema

Run the following command:

$ php yii migrate/up --migrationPath=@vendor/cinghie/yii2-paypal/migrations

Use Component

\Yii::$app->braintree;
\Yii::$app->hyperwallet;
\Yii::$app->paypal;

Use Demo (Only in Sandbox mode)

$demo = new \cinghie\paypal\models\Demo();
$demo->payByCreditCardDemo();
$demo->payByPaypalDemo();

cinghie/yii2-paypal 适用场景与选型建议

cinghie/yii2-paypal 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2.42k 次下载、GitHub Stars 达 3, 最近一次更新时间为 2015 年 07 月 08 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「payments」 「paypal」 「yii2 paypal」 「yii2 payments」 「yii2 paypal payments」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 cinghie/yii2-paypal 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 cinghie/yii2-paypal 我们能提供哪些服务?
定制开发 / 二次开发

基于 cinghie/yii2-paypal 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 2.42k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 17
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 2
  • Forks: 6
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2015-07-08