纯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
Dec 14 PHP
PHP5中新增stdClass 内部保留类
Jun 13 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
Jul 03 PHP
xml在joomla表单中的应用详解分享
Jul 19 PHP
如何在PHP中使用正则表达式进行查找替换
Jun 13 PHP
php结合js实现点击超链接执行删除确认操作
Oct 31 PHP
一个完整的PHP类包含的七种语法说明
Jun 04 PHP
PHP中substr函数字符串截取用法分析
Jan 07 PHP
php实现图片缩略图的方法
Mar 29 PHP
php使用curl通过代理获取数据的实现方法
May 16 PHP
ThinkPHP和UCenter接口冲突的解决方法
Jul 25 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
php 错误处理经验分享
2011/10/11 PHP
最新版本PHP 7 vs HHVM 多角度比较
2016/02/14 PHP
基于PHP微信红包的算法探讨
2016/07/21 PHP
[原创]js获取数组任意个不重复的随机数组元素
2010/03/15 Javascript
JS 获取鼠标左右键的键值方法
2014/10/11 Javascript
jQuery 插件开发指南
2014/11/14 Javascript
JavaScript将一个数组插入到另一个数组的方法
2015/03/19 Javascript
jQuery ajax时间差导致的变量赋值问题分析
2016/01/22 Javascript
jQuery的deferred对象使用详解
2016/09/25 Javascript
全屏滚动插件fullPage.js使用实例解析
2016/10/21 Javascript
JS实现PC手机端和嵌入式滑动拼图验证码三种效果
2017/02/15 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
2017/04/10 jQuery
React Native中导航组件react-navigation跨tab路由处理详解
2017/10/31 Javascript
使用use注册Vue全局组件和全局指令的方法
2018/03/08 Javascript
详解webpack模块化管理和打包工具
2018/04/21 Javascript
Vue axios设置访问基础路径方法
2018/09/19 Javascript
JavaScript监听一个DOM元素大小变化
2020/04/26 Javascript
浅谈Python实现Apriori算法介绍
2017/12/20 Python
详解Django中间件执行顺序
2018/07/16 Python
基于Python实现定时自动给微信好友发送天气预报
2018/10/25 Python
python Popen 获取输出,等待运行完成示例
2019/12/30 Python
带你学习Python如何实现回归树模型
2020/07/16 Python
CSS3的常见transformation图形变化用法小结
2016/05/13 HTML / CSS
HTML5本地存储之IndexedDB
2017/06/16 HTML / CSS
韩国三大免税店之一:THE GRAND 中文免税店
2016/07/21 全球购物
The Body Shop美体小铺西班牙官网:天然化妆品
2019/06/21 全球购物
职专应届生求职信
2013/11/16 职场文书
优秀英语专业毕业生求职信
2013/11/23 职场文书
优秀老员工获奖感言
2014/02/15 职场文书
学生打架检讨书
2014/10/20 职场文书
开会通知
2015/04/20 职场文书
铁人观后感
2015/06/16 职场文书
CSS 文字装饰 text-decoration & text-emphasis 详解
2021/04/06 HTML / CSS
Python自然语言处理之切分算法详解
2021/04/25 Python
Python中如何处理常见报错
2022/01/18 Python
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS