纯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入门之连接mysql数据库的一个类
Apr 21 PHP
处理单名多值表单的详解
Jun 08 PHP
浅析php过滤html字符串,防止SQL注入的方法
Jul 02 PHP
php获取从百度搜索进入网站的关键词的详细代码
Jan 08 PHP
php使用wordwrap格式化文本段落的方法
Mar 17 PHP
php array_walk_recursive 使用自定的函数处理数组中的每一个元素
Nov 16 PHP
PHP的PDO事务与自动提交
Jan 24 PHP
PHP chr()函数讲解
Feb 11 PHP
laravel-admin 在列表页添加自定义按钮的例子
Sep 30 PHP
laravel 查询数据库获取结果实现判断是否为空
Oct 24 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
Apr 14 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
Feb 27 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
收音机怀古---春雷3P7图片欣赏
2021/03/02 无线电
解析php中反射的应用
2013/06/18 PHP
php教程之魔术方法的使用示例(php魔术函数)
2014/02/12 PHP
PHP Echo字符串的连接格式
2016/03/07 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
2016/12/14 PHP
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
JQuery 图片延迟加载并等比缩放插件
2009/11/09 Javascript
js综合应用实例简单的表格统计
2013/09/03 Javascript
js判断两个日期是否相等的方法
2013/09/10 Javascript
javascript获取ckeditor编辑器的值(实现代码)
2013/11/18 Javascript
jQuery菜单插件superfish使用指南
2015/04/21 Javascript
jQuery实现可以控制图片旋转角度效果(附demo源码下载)
2016/01/27 Javascript
实例剖析AngularJS框架中数据的双向绑定运用
2016/03/04 Javascript
详解原生JavaScript实现jQuery中AJAX处理的方法
2016/05/10 Javascript
使用Bootstrap框架制作查询页面的界面实例代码
2016/05/27 Javascript
jQuery使用方法
2017/02/04 Javascript
详细讲解vue2+vuex+axios
2017/05/27 Javascript
Node.js  REPL (交互式解释器)实例详解
2017/08/06 Javascript
angular.js和vue.js中实现函数去抖示例(debounce)
2018/01/18 Javascript
通过js给网页加上水印背景实例
2019/06/17 Javascript
JavaScript进阶(二)词法作用域与作用域链实例分析
2020/05/09 Javascript
[03:05]DOTA2英雄基础教程 嗜血狂魔
2013/12/10 DOTA
python版opencv摄像头人脸实时检测方法
2018/08/03 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
2020/02/25 Python
python使用建议与技巧分享(二)
2020/08/17 Python
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
机关会计岗位职责
2014/04/08 职场文书
大学社团招新的通讯稿
2014/09/10 职场文书
学校联谊协议书
2014/09/16 职场文书
道路交通事故人身损害赔偿协议书
2014/11/19 职场文书
2014大学生学生会工作总结
2014/12/19 职场文书
演讲开场白台词大全
2015/05/29 职场文书
Python基础学习之奇异的GUI对话框
2021/05/27 Python
利用Python第三方库实现预测NBA比赛结果
2021/06/21 Python
深入讲解数据库中Decimal类型的使用以及实现方法
2022/02/15 MySQL
台积电称即便经济低迷也没有降价的计划
2022/04/21 数码科技