纯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在特殊字符前加斜杠的实现代码
Jul 17 PHP
php防止站外远程提交表单的方法
Oct 20 PHP
php判断类是否存在函数class_exists用法分析
Nov 14 PHP
PHP中mysql_field_type()函数用法
Nov 24 PHP
php中http与https跨域共享session的解决方法
Dec 20 PHP
php采集中国代理服务器网的方法
Jun 16 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
Dec 19 PHP
php自定义函数实现汉字转换utf8编码的方法
Sep 29 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
Nov 04 PHP
php中this关键字用法分析
Dec 07 PHP
laravel学习笔记之模型事件的几种用法示例
Aug 15 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
Dec 16 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 Switch 语句之学习笔记
2013/09/21 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
2016/02/15 PHP
js函数使用技巧之 setTimeout(function(){},0)
2009/02/09 Javascript
JQuery 获得绝对,相对位置的坐标方法
2010/02/09 Javascript
用js解决数字不能换行问题
2010/08/10 Javascript
什么是DOM(Document Object Model)文档对象模型
2012/03/05 Javascript
js获取URL的参数的方法(getQueryString)示例
2013/09/29 Javascript
javascript 控制input只允许输入的各种指定内容
2014/06/19 Javascript
jQuery垂直多级导航菜单代码分享
2015/08/18 Javascript
纯JS前端实现分页代码
2016/06/21 Javascript
jQuery实现下拉菜单的实例代码
2017/06/19 jQuery
node.js环境搭建图文详解
2018/09/19 Javascript
react-native滑动吸顶效果的实现过程
2019/06/03 Javascript
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
2019/11/01 Javascript
微信小程序图片右边加两行文字的代码
2020/04/23 Javascript
Javascript节流函数throttle和防抖函数debounce
2020/12/03 Javascript
[03:52]DOTA2英雄基础教程 酒仙
2013/12/23 DOTA
[46:21]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
python设置windows桌面壁纸的实现代码
2013/01/28 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
2019/05/07 Python
python使用time、datetime返回工作日列表实例代码
2019/05/09 Python
Python画图实现同一结点多个柱状图的示例
2019/07/07 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
2019/08/12 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
2020/02/25 Python
Python+Xlwings 删除Excel的行和列
2020/12/19 Python
英国领先的男士美容护发用品公司:Mankind
2016/08/31 全球购物
番木瓜健康和保健产品第一大制造商:Herbal Papaya
2017/04/25 全球购物
汽车机修工岗位职责
2014/03/06 职场文书
优秀少先队辅导员先进事迹材料
2014/05/18 职场文书
大学生学习计划书
2014/09/15 职场文书
幼儿园中秋节活动总结
2015/03/23 职场文书
书法社团活动总结
2015/05/07 职场文书
成事在人观后感
2015/06/16 职场文书
周一早安温馨问候祝福语!
2019/07/15 职场文书
评估“风险”创业计划的几大要点
2019/08/12 职场文书