纯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分页显示制作详细讲解
Oct 09 PHP
mysq GBKl乱码
Nov 28 PHP
PHP 多进程 解决难题
Jun 22 PHP
PHP之生成GIF动画的实现方法
Jun 07 PHP
PHP操作Memcache实例介绍
Jun 14 PHP
从PHP的源码中深入了解stdClass类
Apr 18 PHP
PHP输出日历表代码实例
Mar 27 PHP
php中引用符号(&)的使用详细介绍
Dec 06 PHP
Laravel源码解析之路由的使用和示例详解
Sep 27 PHP
php 调用百度sms来发送短信的实现示例
Nov 02 PHP
PHP中用Trait封装单例模式的实现
Dec 18 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
Mar 30 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中的超全局变量
2006/10/09 PHP
PHP三元运算符的结合性介绍
2012/01/10 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
2016/11/14 PHP
javascript oop开发滑动(slide)菜单控件
2010/08/25 Javascript
jquery Moblie入门—hello world的示例代码学习
2013/01/08 Javascript
浅谈JavaScript中定义变量时有无var声明的区别
2014/08/18 Javascript
Avalon中文长字符截取、关键字符隐藏、自定义过滤器
2016/05/18 Javascript
JavaScript 数组的深度复制解析
2016/11/02 Javascript
使用puppeteer爬取网站并抓出404无效链接
2018/12/20 Javascript
微信小程序 腾讯地图SDK 获取当前地址实现解析
2019/08/12 Javascript
详解vue 命名视图
2019/08/14 Javascript
Vue数字输入框组件的使用方法
2019/10/19 Javascript
[05:09]2016国际邀请赛中国区预选赛淘汰赛首日精彩回顾
2016/06/29 DOTA
[01:02:00]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第三场 1月24日
2021/03/11 DOTA
python格式化字符串实例总结
2014/09/28 Python
python3序列化与反序列化用法实例
2015/05/26 Python
利用python将xml文件解析成html文件的实现方法
2017/12/22 Python
Python 批量刷博客园访问量脚本过程解析
2019/08/30 Python
python科学计算之narray对象用法
2019/11/25 Python
python3.8下载及安装步骤详解
2020/01/15 Python
python词云库wordCloud使用方法详解(解决中文乱码)
2020/02/17 Python
关于python3.9安装wordcloud出错的问题及解决办法
2020/11/02 Python
专门出售各种儿童读物的网站:Put Me In The Story
2016/08/07 全球购物
美国香薰蜡烛品牌:PADDYWAX
2018/10/06 全球购物
新闻专业学生的自我评价
2014/02/13 职场文书
春季运动会广播稿大全
2014/02/19 职场文书
教师廉洁自律承诺书
2014/05/26 职场文书
保安公司服务承诺书
2014/05/28 职场文书
党的群众路线教育实践活动整改落实情况自查报告
2014/10/28 职场文书
2014年话务员工作总结
2014/11/19 职场文书
南京南京观后感
2015/06/02 职场文书
2015初中政教处工作总结
2015/07/21 职场文书
2015年度个人工作总结报告
2015/10/24 职场文书
技术入股合作协议书
2016/03/21 职场文书
Flutter集成高德地图并添加自定义Maker的实践
2022/04/07 Java/Android
Java实现扫雷游戏详细代码讲解
2022/05/25 Java/Android