纯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生成QRcode实例
Sep 22 PHP
php中将一个对象保存到Session中的方法
Mar 13 PHP
php之static静态属性与静态方法实例分析
Jul 30 PHP
Yii2框架实现注册和登录教程
Sep 30 PHP
php+mysql查询实现无限下级分类树输出示例
Oct 03 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
Dec 23 PHP
PDO操作MySQL的基础教程(推荐)
Aug 18 PHP
Laravel中9个不经常用的小技巧汇总
Apr 16 PHP
laravel 修改.htaccess文件 重定向public的解决方法
Oct 12 PHP
laravel框架如何设置公共头和公共尾
Oct 22 PHP
Laravel框架下的Contracts契约详解
Mar 17 PHP
50个优秀经典PHP算法大集合 附源码
Aug 26 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 多进程 解决难题
2009/06/22 PHP
PHP 伪静态技术原理以及突破原理实现介绍
2013/07/12 PHP
解决Yii2邮件发送结果返回成功,但接收不到邮件的问题
2017/05/23 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
2019/01/28 PHP
jquery使用ColorBox弹出图片组浏览层实例演示
2013/03/14 Javascript
JS批量修改PS中图层名称的方法
2014/01/26 Javascript
基于AngularJs + Bootstrap + AngularStrap相结合实现省市区联动代码
2016/05/30 Javascript
使用three.js 画渐变的直线
2016/06/05 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
2016/12/07 Javascript
AngularJS基于ui-route实现深层路由的方法【路由嵌套】
2016/12/14 Javascript
使用JQ完成表格隔行换色的简单实例
2017/08/25 Javascript
Webpack devServer中的 proxy 实现跨域的解决
2018/06/15 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
js的各种数据类型判断的介绍
2019/01/19 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
2019/01/28 Javascript
实例分析javascript中的异步
2020/06/02 Javascript
vue基础知识--axios合并请求和slot
2020/06/04 Javascript
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
Python处理文本文件中控制字符的方法
2017/02/07 Python
python读文件保存到字典,修改字典并写入新文件的实例
2018/04/23 Python
PyQt5+requests实现车票查询工具
2019/01/21 Python
Python3 Tkinter选择路径功能的实现方法
2019/06/14 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
2020/02/11 Python
蒂芙尼澳大利亚官方网站:Tiffany&Co. Australia
2017/08/27 全球购物
IGK Hair官网:喷雾、洗发水、护发素等
2020/11/03 全球购物
.NET初级开发工程师面试题(包括Javascript)
2012/08/22 面试题
Python的两道面试题
2013/06/29 面试题
医院门卫岗位职责
2013/12/30 职场文书
影视动画专业个人的自我评价
2013/12/31 职场文书
学徒工职责
2014/03/06 职场文书
安全生产承诺书
2014/03/26 职场文书
总经理人事任命书
2014/06/05 职场文书
党的群众路线剖析材料
2014/10/09 职场文书
2015年幼儿教师个人工作总结
2015/05/20 职场文书
2016年世界人口日宣传活动总结
2016/04/05 职场文书
2019年第四季度财务部门工作计划
2019/11/02 职场文书