tobess / laravel-pingpp
Pingpp wrapper for Laravel 5
1.0.1
2017-09-28 08:16 UTC
Requires
- php: >=5.4.0
- ext-curl: *
- illuminate/support: ~5.0
- laravel/framework: 5.*
This package is not auto-updated.
Last update: 2025-05-11 08:39:49 UTC
README
pingxx基于laravel5的封装
配置方法
- 在
composer.json
里添加如下内容,并运行composer update
:
{ "require": { "tobess/laravel-pingpp": "dev-master" } }
- 在
app/config/app.php
文件里的providers变量下添加Tobess\Pingpp\PingppServiceProvider::class,
- 在
app/config/app.php
文件里的aliases变量下添加'Pingpp' => Tobess\Pingpp\Facades\Pingpp::class,
- 运行
php artisan vendor:publish
生成配置文件 - 修改配置文件里面的2组key
- 若需回调验证,请填写
public_key_path
,注意该处是路径!,这里参考官方已改为路径,同时当前会兼容旧版本配置文件 - 若需要使用商户身份验证,请填写
private_key_path
,注意该处是路径! 线上生产环境建议配置.evn
来配置生产环境
使用方法
use Pingpp; class SomeClass extends Controller { public function someFunction() { \Pingpp\Charge::create( array( // 请求参数字段规则,请参考 API 文档:https://www.pingxx.com/api#api-c-new 'subject' => 'Your Subject', 'body' => 'Your Body', 'amount' => $amount, // 订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100) 'order_no' => $orderNo, // 推荐使用 8-20 位,要求数字或字母,不允许其他字符 'currency' => 'cny', 'extra' => $extra, 'channel' => $channel, // 支付使用的第三方支付渠道取值,请参考:https://www.pingxx.com/api#api-c-new 'client_ip' => $_SERVER['REMOTE_ADDR'], // 发起支付请求客户端的 IP 地址,格式为 IPV4,如: 127.0.0.1 'app' => array('id' => APP_ID) ) ); } }
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
感谢
感谢几位forked的同学的改进,当时写的很简单,无入侵式的写法,其实在接收webhooks方面,可以用Laravel自己的Events去监听处理,显得更Laravel风格。