纯PHP代码实现支付宝批量付款


Posted in PHP onDecember 24, 2015

最近在做一个使用支付宝转账的项目,其中有需求把我难到了:批量支付成功后不知道怎么接收系统返回的通知,经过朋友帮忙,此功能实现,下面小编把具体代码整理分享给大家,供大家参考

废话不多说了,直接给大家贴php代码了,具体代码如下所示:

//批量付款异步通知处理
class Notify
{
  public $notifyParams;
  //处理成功的信息
  protected $success = [];
  //处理失败的信息
  protected $fail = [];
  //批次号
  protected $batchNo;
  public function save()
  {
    if (!is_array($this->notifyParams)) {
      return false;
    }
    $alipayNotify = new AlipayNotify();
    $alipayNotify->notifyParams = $this->notifyParams;
    $alipayNotify->partner = Yii::$app->params['Alipay.appid'];
    $alipayNotify->key = Yii::$app->params['Alipay.appKey'];
    if (!$alipayNotify->verify()) {
      return false;
    }
    $this->batchNo = $this->notifyParams['batch_no'];
    $this->parseResult();
    //转账成功的
    if (!empty($this->success)) {
      foreach ($this->success as $item) {
        //.........
      }
    }
    //转账失败的
    if (!empty($this->fail)) {
      foreach ($this->fail as $item) {
        //........
      }
    }
    return true;
  }
  //解析结果
  protected function parseResult()
  {
    if (!empty($this->notifyParams['success_details'])) {
      $suArray = explode('|', $this->notifyParams['success_details']);
      foreach ($suArray as $item) {
        $this->success[] = explode('^', $item);
      }
    }
    if (!empty($this->notifyParams['fail_detail'])) {
      $faArray = explode('|', $this->notifyParams['fail_detail']);
      foreach ($faArray as $item) {
        $this->fail[] = explode('^', $item);
      }
    }
  }
}
//用法
$model = new Notify();
$model->notifyParams = $_POST;
if ($model->save()) {
  return 'success';
}
return 'fail';

以上内容给大家讲解了纯PHP代码实现支付宝批量付款的功能,希望对大家有所帮助。

PHP 相关文章推荐
用php实现批量查询清除一句话后门的代码
Jan 20 PHP
php HandlerSocket的使用
May 02 PHP
PHP函数microtime()用法与说明
Dec 04 PHP
php利用腾讯ip分享计划获取地理位置示例分享
Jan 20 PHP
php初始化对象和析构函数的简单实例
Mar 11 PHP
php中的curl使用入门教程和常见用法实例
Apr 10 PHP
主流PHP框架的优缺点对比分析
Dec 25 PHP
10款实用的PHP开源工具
Oct 23 PHP
php服务器的系统详解
Oct 12 PHP
laravel 模型查询按照whereIn排序的示例
Oct 16 PHP
goto语法在PHP中的使用教程
Sep 17 PHP
Laravel的加密解密与哈希实例讲解
Mar 24 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
Dec 24 #PHP
4种PHP异步执行的常用方式
Dec 24 #PHP
php实现异步数据调用的方法
Dec 24 #PHP
PHP下SSL加密解密、验证、签名方法(很简单)
Jun 28 #PHP
深入浅析php json 格式控制
Dec 24 #PHP
PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
Dec 24 #PHP
盘点PHP和ASP.NET的10大对比!
Dec 24 #PHP
You might like
了解Joomla 这款来自国外的php网站管理系统
2010/03/11 PHP
搭建自己的PHP MVC框架详解
2017/08/16 PHP
记Laravel调用Gin接口调用formData上传文件的实现方法
2019/12/12 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
2020/03/27 PHP
javascript之typeof、instanceof操作符使用探讨
2013/05/19 Javascript
js单例模式的两种方案
2013/10/22 Javascript
jQuery 无限级菜单的简单实例
2014/02/21 Javascript
JavaScript Window浏览器对象模型方法与属性汇总
2015/04/20 Javascript
详细解读AngularJS中的表单验证编程
2015/06/19 Javascript
原生JavaScript编写canvas版的连连看游戏
2016/05/29 Javascript
AngularJS入门教程之控制器详解
2016/07/27 Javascript
浅谈vue后台管理系统权限控制思考与实践
2018/12/19 Javascript
jQuery实现的卷帘门滑入滑出效果【案例】
2019/02/18 jQuery
深入学习js函数的隐式参数 arguments 和 this
2019/06/24 Javascript
Node 代理访问的实现
2019/09/19 Javascript
JavaScript实现网页留言板功能
2020/11/23 Javascript
python多线程操作实例
2014/11/21 Python
python微信跳一跳系列之棋子定位颜色识别
2018/02/26 Python
opencv改变imshow窗口大小,窗口位置的方法
2018/04/02 Python
python实现while循环打印星星的四种形状
2019/11/23 Python
opencv3/C++图像像素操作详解
2019/12/10 Python
为什么python比较流行
2020/06/19 Python
Python 执行矩阵与线性代数运算
2020/08/01 Python
python爬取抖音视频的实例分析
2021/01/19 Python
Mountain Warehouse澳大利亚官网:欧洲家庭户外品牌倡导者
2016/11/20 全球购物
德国隐形眼镜店:LuckyLens
2018/07/29 全球购物
指针和引用有什么区别
2013/01/13 面试题
我看到了用指针调用函数的不同语法形式
2014/07/16 面试题
广告学毕业生求职信
2014/01/30 职场文书
公务员诚信承诺书
2014/05/26 职场文书
美术专业自荐信
2014/07/07 职场文书
小学生教师节演讲稿
2014/09/03 职场文书
2014年学校总务处工作总结
2014/12/08 职场文书
个人总结格式范文
2015/03/09 职场文书
2015年感恩母亲节的演讲稿
2015/03/18 职场文书
2015年度优秀员工获奖感言
2015/07/31 职场文书