纯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的网址
Nov 25 PHP
PHP ? EasyUI DataGrid 资料存的方式介绍
Nov 07 PHP
PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
Mar 06 PHP
php fsockopen伪造post与get方法的详解
Jun 14 PHP
php获取网页请求状态程序示例
Jun 17 PHP
php获取CSS文件中图片地址并下载到本地的方法
Dec 02 PHP
php实现高效获取图片尺寸的方法
Dec 12 PHP
PHP将session信息存储到数据库的类实例
Mar 04 PHP
php验证邮箱和ip地址最简单方法汇总
Oct 30 PHP
PHP XML和数组互相转换详解
Oct 26 PHP
使用laravel的migrate创建数据表的方法
Sep 30 PHP
解决laravel-admin 自己新建页面里 js 需要刷新一次的问题
Oct 03 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中ob_flush和flush的区别
2014/11/27 PHP
php字符串截取函数mb_substr用法实例分析
2019/06/25 PHP
JXTree对象,读取外部xml文件数据,生成树的函数
2007/04/02 Javascript
一些不错的js函数ajax
2008/08/20 Javascript
Jquery 基础学习笔记
2009/05/29 Javascript
用Javascript评估用户输入密码的强度实现代码
2011/11/30 Javascript
JQuery入门——用映射方式绑定不同事件应用示例
2013/02/05 Javascript
js 字符串转换成数字的三种方法
2013/03/23 Javascript
js如何实现点击标签文字,文字在文本框出现
2015/08/05 Javascript
使用jQuery+EasyUI实现CheckBoxTree的级联选中特效
2015/12/06 Javascript
Angular ng-class详解及实例代码
2016/09/19 Javascript
学习Node.js模块机制
2016/10/17 Javascript
用AngularJS来实现监察表单按钮的禁用效果
2016/11/02 Javascript
js阻止移动端页面滚动的两种方法
2017/01/25 Javascript
Vue.js的复用组件开发流程完整记录
2018/11/29 Javascript
浅谈layui使用模板引擎动态渲染元素要注意的问题
2019/09/14 Javascript
Node.js API详解之 string_decoder用法实例分析
2020/04/29 Javascript
[13:56]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第一场
2018/04/06 DOTA
[01:12:44]VG vs Mineski Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
[36:20]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.17
2020/12/18 DOTA
Python中处理unchecked未捕获异常实例
2015/01/17 Python
python3实现读取chrome浏览器cookie
2016/06/19 Python
深入理解Django自定义信号(signals)
2018/10/15 Python
python gdal安装与简单使用
2019/08/01 Python
Django 响应数据response的返回源码详解
2019/08/06 Python
python计算导数并绘图的实例
2020/02/29 Python
Python 如何调试程序崩溃错误
2020/08/03 Python
Python学习之time模块的基本使用
2021/01/17 Python
Reebok俄罗斯官方网上商店:购买锐步运动服装和鞋子
2016/09/26 全球购物
EJB与JAVA BEAN的区别
2016/08/29 面试题
J2EE中常用的名词进行解释
2015/11/09 面试题
党支部对照检查材料
2014/08/25 职场文书
小班下学期个人总结
2015/02/12 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书
《时代广场的蟋蟀》读后感:真挚友情,温暖世界!
2020/01/08 职场文书
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP