当前位置:首页 > PHP教程 > php高级应用 > 列表

纯PHP代码实现支付宝批量付款

发布:smiling 来源: PHP粉丝网  添加日期:2021-07-01 16:28:48 浏览: 评论:0 

最近在做一个使用支付宝转账的项目,其中有需求把我难到了:批量支付成功后不知道怎么接收系统返回的通知,经过朋友帮忙,此功能实现,下面小编把具体代码整理分享给大家,供大家参考。

废话不多说了,直接给大家贴php代码了,具体代码如下所示:

  1. //批量付款异步通知处理 
  2. class Notify 
  3.   public $notifyParams
  4.   //处理成功的信息 
  5.   protected $success = []; 
  6.   //处理失败的信息 
  7.   protected $fail = []; 
  8.   //批次号 
  9.   protected $batchNo
  10.   public function save() 
  11.   { 
  12.     if (!is_array($this->notifyParams)) { 
  13.       return false; 
  14.     } 
  15.     $alipayNotify = new AlipayNotify(); 
  16.     $alipayNotify->notifyParams = $this->notifyParams; 
  17.     $alipayNotify->partner = Yii::$app->params['Alipay.appid']; 
  18.     $alipayNotify->key = Yii::$app->params['Alipay.appKey']; 
  19.     if (!$alipayNotify->verify()) { 
  20.       return false; 
  21.     } 
  22.     $this->batchNo = $this->notifyParams['batch_no']; 
  23.     $this->parseResult(); 
  24.     //转账成功的 
  25.     if (!emptyempty($this->success)) { 
  26.       foreach ($this->success as $item) { 
  27.         //......... 
  28.       } 
  29.     } 
  30.     //转账失败的 
  31.     if (!emptyempty($this->fail)) { 
  32.       foreach ($this->fail as $item) { 
  33.         //........ 
  34.       } 
  35.     } 
  36.     return true; 
  37.   } 
  38.   //解析结果 
  39.   protected function parseResult() 
  40.   { 
  41.     if (!emptyempty($this->notifyParams['success_details'])) { 
  42.       $suArray = explode('|'$this->notifyParams['success_details']); 
  43.       foreach ($suArray as $item) { 
  44.         $this->success[] = explode('^'$item); 
  45.       } 
  46.     } 
  47.     if (!emptyempty($this->notifyParams['fail_detail'])) { 
  48.       $faArray = explode('|'$this->notifyParams['fail_detail']); 
  49.       foreach ($faArray as $item) { 
  50.         $this->fail[] = explode('^'$item); 
  51.       } 
  52.     } 
  53.   } 
  54. //用法 
  55. $model = new Notify(); 
  56. $model->notifyParams = $_POST
  57. if ($model->save()) { 
  58.   return 'success'
  59. return 'fail'

以上内容给大家讲解了纯PHP代码实现支付宝批量付款的功能,希望对大家有所帮助。

Tags: PHP支付宝批量付款

分享到: