2017 © Pedro Peláez
 

project mbupay

image

winwin/mbupay

  • Monday, August 21, 2017
  • by wenbinye
  • Repository
  • 3 Watchers
  • 3 Stars
  • 0 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

中信银行支付接口

安装

使用 composer:, (*1)

$ composer require winwin/mbupay

配置

调用接口需要先创建 payment 对象:, (*2)

use winwin\mbupay\Config;
use winwin\mbupay\payment\Payment;

$payment = new Payment(new Config([
    'appid' => $appid,
    'secret' => $secret,
    'mch_id' => $merchant_id,
]));

创建订单

use winwin\mbupay\payment\Order;

$result = $payment->prepare(new Order([
    'method' => 'mbupay.wxpay.jsapi',
    'body' => '支付1分',
    'total_fee' => 1,
    'out_trade_no' => date('ymdHis') . mt_rand(1000, 9999),
    'notify_url' => 'http://example.org/notify',
    'openid' => $openid,
]));

处理支付异步通知

$response = $payment->handleNotify(function($notify, $successful) {
    // 处理逻辑
    return true;
});
echo $response->getBody();

handleNotify 接收一个回调函数,该回调函数接收两个参数,这两个参数分别为: - $notify 为封装了通知信息的数组对象,可以使用对象或者数组形式来读取通知内容,比如:$notify->total_fee 或者 $notify['total_fee']。 - $successful 用于判断用户是否付款成功了, (*3)

回调函数返回 false 或者一个具体的错误消息,那么系统会在稍后再次继续通知你,直到你明确的告诉它:“我已经处理完成了”,在函数里 return true; 代表处理完成。, (*4)

handleNotify 返回值 $response 是一个 PSR-7 Response 对象。, (*5)

调试

如果需要打印 http 请求日志,可使用 PSR-3 实现库,例如 Monolog :, (*6)

use Monolog\Logger;
use Monolog\Handler\StreamHandler;
$logger = new Logger('WinwinPay');
$logger->pushHandler(new StreamHandler('php://stderr', Logger::DEBUG));

$payment->setLogger($logger);

The Versions

21/08 2017