纯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 02 PHP
PHP form 表单传参明细研究
Jul 17 PHP
PHP分页函数代码(简单实用型)
Dec 02 PHP
PHP中使用mktime获取时间戳的一个黑色幽默分析
May 31 PHP
PHP 抽象方法与抽象类abstract关键字介绍及应用
Oct 16 PHP
php创建多级目录的方法
Mar 24 PHP
php实现给二维数组中所有一维数组添加值的方法
Feb 04 PHP
PHP 中使用explode()函数切割字符串为数组的示例
May 06 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
Dec 21 PHP
thinkPHP5框架实现基于ajax的分页功能示例
Jun 12 PHP
php实现单笔转账到支付宝功能
Oct 09 PHP
详解Laravel服务容器的优势
May 29 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
PHP常用代码大全(新手入门必备)
2010/06/29 PHP
PHP header函数分析详解
2011/08/06 PHP
PHPEXCEL 使用小记
2013/01/06 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
2014/12/19 PHP
php数组函数array_walk用法示例
2016/05/26 PHP
JavaScript 事件参考手册
2008/12/24 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
JS随机生成不重复数据的实例方法
2013/07/17 Javascript
JS判断两个时间大小的示例代码
2014/01/28 Javascript
iframe实用操作锦集
2014/04/22 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
深入浅出ES6之let和const命令
2016/08/25 Javascript
jQuery实现简易的输入框字数计数功能示例
2017/01/16 Javascript
vue.js开发环境安装教程
2017/03/17 Javascript
AngularJS遍历获取数组元素的方法示例
2017/11/11 Javascript
浅析Visual Studio Code断点调试Vue
2018/02/27 Javascript
Easyui 去除jquery-easui tab页div自带滚动条的方法
2019/05/10 jQuery
vue实现动态给id赋值,点击事件获取当前点击的元素的id操作
2020/11/09 Javascript
python搭建简易服务器分析与实现
2012/12/15 Python
Python中针对函数处理的特殊方法
2014/03/06 Python
Python实现简单字典树的方法
2016/04/29 Python
Python如何获取系统iops示例代码
2016/09/06 Python
深入理解Python中的*重复运算符
2017/10/28 Python
tensorflow实现softma识别MNIST
2018/03/12 Python
python 调用钉钉机器人的方法
2019/02/20 Python
实例讲解CSS3中Transform的perspective属性的用法
2016/04/22 HTML / CSS
CSS3 实现的缩略图悬停效果
2020/12/09 HTML / CSS
LA MER海蓝之谜美国官网:传奇面霜
2016/08/27 全球购物
Structs界面控制层技术
2013/10/11 面试题
男方父母证婚词
2014/01/12 职场文书
信息技术培训感言
2014/03/06 职场文书
大连导游词
2015/02/12 职场文书
幽默导游词开场白
2015/05/29 职场文书
golang中的并发和并行
2021/05/08 Golang
自从在 IDEA 中用了热部署神器 JRebel 之后,开发效率提升了 10(真棒)
2021/06/26 Java/Android
Python集合的基础操作
2021/11/01 Python