纯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中防止SQL注入攻击和XSS攻击的两个简单方法
Apr 15 PHP
php url地址栏传中文乱码解决方法集合
Jun 25 PHP
解析php中array_merge与array+array的区别
Jun 21 PHP
discuz免激活同步登入代码修改方法(discuz同步登录)
Dec 24 PHP
PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
Jul 23 PHP
php将数组转换成csv格式文件输出的方法
Mar 14 PHP
php.ini中的request_order推荐设置
May 10 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
Sep 23 PHP
yii2实现分页,带搜索的分页功能示例
Jan 07 PHP
php实现数据库的增删改查
Feb 26 PHP
php获取ip及网址的简单方法(必看)
Apr 01 PHP
PHP发送邮件确认验证注册功能示例【修改别人邮件类】
Nov 09 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
PHP6 mysql连接方式说明
2009/02/09 PHP
ThinkPHP分页类使用详解
2014/03/05 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
2019/10/11 PHP
PHP mkdir创建文件夹实现方法解析
2020/11/13 PHP
一个不错的仿携程自定义数据下拉选择select
2014/09/01 Javascript
javascript自动生成包含数字与字符的随机字符串
2015/02/09 Javascript
JS中的eval 为什么加括号
2016/04/13 Javascript
js HTML5手机刮刮乐代码
2020/09/29 Javascript
自带气泡提示的vue校验插件(vue-verify-pop)
2017/04/07 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
2017/07/03 Javascript
了解在JavaScript中将值转换为字符串的5种方法
2019/06/06 Javascript
《javascript设计模式》学习笔记三:Javascript面向对象程序设计单例模式原理与实现方法分析
2020/04/07 Javascript
浅谈vue中使用编辑器vue-quill-editor踩过的坑
2020/08/03 Javascript
我所理解的JavaScript中的this指向
2020/09/04 Javascript
微信小程序实现登录注册功能
2020/12/29 Javascript
[18:20]DOTA2 HEROS教学视频教你分分钟做大人-昆卡
2014/06/11 DOTA
[03:07]2015国际邀请赛选手档案EHOME.rOtK 是什么让他落泪?
2015/07/31 DOTA
python爬虫入门教程之糗百图片爬虫代码分享
2014/09/02 Python
python在windows和linux下获得本机本地ip地址方法小结
2015/03/20 Python
Python的mysql数据库的更新如何实现
2017/07/31 Python
django 将model转换为字典的方法示例
2018/10/16 Python
python解析命令行参数的三种方法详解
2019/11/29 Python
Python中lru_cache的使用和实现详解
2021/01/25 Python
HTML5 贪吃蛇游戏实现思路及源代码
2013/09/03 HTML / CSS
HTML5+lufylegend实现游戏中的卷轴
2016/02/29 HTML / CSS
法国高保真音响和家庭影院商店:Son Video
2019/04/26 全球购物
俄罗斯一家时尚女装商店:Charuel
2019/12/04 全球购物
乌克兰机票、铁路和巴士票、酒店搜索、保险:Tickets.ua
2020/01/11 全球购物
PHP面试题及答案一
2012/06/18 面试题
党员思想汇报材料
2014/12/19 职场文书
教师考核评语大全
2014/12/31 职场文书
党章党规党纪学习心得体会
2016/01/14 职场文书
初二英语教学反思
2016/02/15 职场文书
bat批处理之字符串操作的实现
2022/03/16 Python
人工智能深度学习OpenAI baselines的使用方法
2022/05/20 Python