Skip to content

Osub/pingpp-php

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pingpp PHP SDK

简介

lib 文件夹下是 PHP SDK 文件,
example 文件夹里面是简单的接入示例,该示例仅供参考。

版本要求

PHP 版本 5.3 及以上

安装

使用 Composer

在你自己的 composer.json 中添加以下代码

{
  "require": {
    "pingplusplus/pingpp-php": "dev-master"
  }
}

然后执行

composer install

使用 Composer 的 autoload 引入

require_once('vendor/autoload.php');

手动引入

require_once('/path/to/pingpp-php/init.php');

接入方法

初始化

\Pingpp\Pingpp::setApiKey('YOUR-KEY');

支付

$ch = \Pingpp\Charge::create(
    array(
        'order_no'  => '123456789',
        'app'       => array('id' => 'YOUR-APP-ID'),
        'channel'   => 'alipay',
        'amount'    => 100,
        'client_ip' => '127.0.0.1',
        'currency'  => 'cny',
        'subject'   => 'Your Subject',
        'body'      => 'Your Body',
        'extra'     => $extra
    )
);

查询

\Pingpp\Charge::retrieve('CHARGE_ID');
\Pingpp\Charge::all(array('limit' => 5));

退款

$ch = \Pingpp\Charge::retrieve('CHARGE_ID');
$re = $ch->refunds->create(array('description' => 'Refund Description');

退款查询

$ch = \Pingpp\Charge::retrieve('CHARGE_ID');
$ch->refunds->retrieve('REFUND_ID');
$ch = \Pingpp\Charge::retrieve('CHARGE_ID');
$ch->refunds->all(array('limit' => 5));

微信红包

\Pingpp\RedEnvelope::create(
    array(
        'order_no'  => '123456789',
        'app'       => array('id' => 'YOUR-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\RedEnvelope::retrieve('RED_ID');

查询微信红包列表

\Pingpp\RedEnvelope::all(array('limit' => 5));

微信公众号获取签名

如果使用微信 JS-SDK 来调起支付,需要在创建 charge 后,获取签名(signature),传给 HTML5 SDK。

$jsapi_ticket_arr = \Pingpp\WxpubOAuth::getJsapiTicket($wx_app_id, $wx_app_secret);
$ticket = $jsapi_ticket_arr['ticket'];

正常情况下,jsapi_ticket 的有效期为 7200 秒。由于获取 jsapi_ticket 的 api 调用次数非常有限,频繁刷新 jsapi_ticket 会导致 api 调用受限,影响自身业务,开发者必须在自己的服务器全局缓存 jsapi_ticket

下面方法中 $url 是当前网页的 URL,不包含 # 及其后面部分

$signature = \Pingpp\WxpubOauth::getSignature($charge, $ticket, $url);

然后在 HTML5 SDK 里调用

pingpp.createPayment(charge, callback, signature, false);

event 查询

\Pingpp\Event::retrieve('EVT_ID');

event 列表查询

\Pingpp\Event::all(array('type' => 'charge.succeeded'));

详细信息请参考 API 文档

微信企业付款

\Pingpp\Transfer::create(
    array(
           'amount'   => 100,
           'order_no'  => '123456d7890',
           'currency'  => 'cny',
           'channel'   => 'wx_pub',
           'app'       => array('id' => 'YOUR-APP-ID'),
           'type'      => 'b2c',
           'recipient' => 'o9zpMs9jIaLynQY9N6yxcZ',
           'description'=>'testing',
           'extra'=>array('user_name'=>'User Name', 'force_check'=>true)

       )
);

查询指定 transfer

\Pingpp\Transfer::retrieve('TR_ID');

查询 transfer 列表

\Pingpp\Transfer::all(array('limit' => 5));

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%