lyt8384/pingpp-laravel5-plus

Simple Pingpp wrapper for Laravel 5

1.1.0 2017-01-02 14:09 UTC

This package is not auto-updated.

Last update: 2024-11-19 19:18:13 UTC


README

pingxx基于laravel5的封装

Latest Stable Version Total Downloads Latest Unstable Version License

配置方法

  1. composer.json里添加如下内容,并运行composer update:
{
    "require": {
        "lyt8384/pingpp-laravel5-plus": "dev-master"
    }
}
  1. app/config/app.php文件里的providers变量下添加lyt8384\Pingpp\PingppServiceProvider::class,
  2. app/config/app.php文件里的aliases变量下添加'Pingpp' => lyt8384\Pingpp\Facades\Pingpp::class,
  3. 运行php artisan vendor:publish --provider="lyt8384\Pingpp\PingppServiceProvider"生成配置文件
  4. 修改配置文件里面的2组key
  5. 若需回调验证,请填写public_key_path注意该处是路径!,这里参考官方已改为路径,同时当前会兼容旧版本配置文件
  6. 若需要使用商户身份验证,请填写private_key_path注意该处是路径! 线上生产环境建议配置.evn来配置生产环境

使用方法

use Pingpp;

class SomeClass extends Controller {
    
    public function someFunction()
    {
    	Pingpp::Charge()->create([
            'order_no'  => '123456789',
		    'amount'    => '100',
		    'app'       => array('id' => 'app_xxxxxxxxxxxxxx'),
		    'channel'   => 'upacp',
		    'currency'  => 'cny',
		    'client_ip' => '127.0.0.1',
		    'subject'   => 'Your Subject',
		    'body'      => 'Your Body'
        ]);
    }
}
use Pingpp;

class SomeClass extends Controller {
    
    public function someFunction()
    {
    	Pingpp::RedEnvelope()->create([
            'order_no'  => '123456789',
	        'app'       => array('id' => 'APP_ID'),
	        'channel'   => 'wx_pub',
	        'amount'    => 100,
	        'currency'  => 'cny',
	        'subject'   => 'Your Subject',
	        'body'      => 'Your Body',
	        'extra'     => array(
	            'nick_name' => 'Nick Name',
	            'send_name' => 'Send Name'
	        ),
	        'recipient'   => 'Openid',
	        'description' => 'Your Description'
        ]);
    }
}

错误调用

当Pingpp调用发生错误的时候会return false,此时调用Pingpp::getError();返回具体错误内容。

接收 Webhooks 通知

直接调用Pingpp::notice(),若验证成功,会返回通知的array结构数据,若失败直接弹出错误回Pingpp。如果需要记录错误,请自行监听系统错误,详见Errors & Logging

其他使用方法见官方文档PingPlusPlus

感谢

感谢几位forked的同学的改进,当时写的很简单,无入侵式的写法,其实在接收webhooks方面,可以用Laravel自己的Events去监听处理,显得更Laravel风格。