纯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 Try Catch异常测试
Mar 01 PHP
php split汉字
Jun 05 PHP
整理的9个实用的PHP库简介和下载
Nov 09 PHP
phpmyadmin config.inc.php配置示例
Aug 27 PHP
php中substr()函数参数说明及用法实例
Nov 15 PHP
PHP中round()函数对浮点数进行四舍五入的方法
Nov 19 PHP
PHP扩展开发入门教程
Feb 26 PHP
PHP中使用hidef扩展代替define提高性能
Apr 09 PHP
PHP闭包函数详解
Feb 13 PHP
PHP基本语法实例总结
Sep 09 PHP
docker-compose部署php项目实例详解
Jul 30 PHP
PHP使用递归按层级查找数据的方法
Nov 10 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
redis 队列操作的例子(php)
2012/04/12 PHP
php除数取整示例
2014/04/24 PHP
深入了解PHP中的Array数组和foreach
2016/11/06 PHP
删除PHP数组中头部、尾部、任意元素的实现代码
2017/04/10 PHP
用函数式编程技术编写优美的 JavaScript
2006/11/25 Javascript
10个基于Jquery的幻灯片插件教程
2010/10/29 Javascript
javaScript同意等待代码实现心得
2011/01/01 Javascript
JavaScript获取伪元素(Pseudo-Element)属性的方法技巧
2015/03/13 Javascript
JavaScript时间转换处理函数
2015/04/14 Javascript
JQuery中DOM事件冒泡实例分析
2015/06/13 Javascript
浅谈jquery设置和获得checkbox选中的问题
2016/08/19 Javascript
Vue.js学习之计算属性
2017/01/22 Javascript
jQuery源码分析之sizzle选择器详解
2017/02/13 Javascript
jquery 获取索引值在一定范围的列表方法
2018/01/25 jQuery
微信小程序实现团购或秒杀批量倒计时
2020/11/01 Javascript
Vue.js中对css的操作(修改)具体方式详解
2018/10/30 Javascript
简单理解Python中的装饰器
2015/07/31 Python
Python3.4实现远程控制电脑开关机
2018/02/22 Python
Python切片索引用法示例
2018/05/15 Python
Python加载带有注释的Json文件实例
2018/05/23 Python
基于python实现聊天室程序
2018/07/27 Python
pyqt5与matplotlib的完美结合实例
2019/06/21 Python
python子线程退出及线程退出控制的代码
2019/10/16 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
Python使用Turtle模块绘制国旗的方法示例
2021/02/28 Python
CSS实现限制字数功能当对象内文本溢出时显示省略标记
2014/08/20 HTML / CSS
英国著名的药妆网站:Escentual
2016/07/29 全球购物
PHP如何防止SQL注入
2014/05/03 面试题
经济管理专业毕业生推荐信
2013/11/11 职场文书
普罗米修斯教学反思
2014/02/06 职场文书
个人借款担保书
2014/04/02 职场文书
银行求职自荐书
2014/06/25 职场文书
婚庆公司计划书
2014/09/15 职场文书
写给领导的感谢信
2015/01/22 职场文书
高三数学复习备考教学反思
2016/02/18 职场文书
asyncio异步编程之Task对象详解
2022/03/13 Python