A5下载文章资讯

分类分类

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

2015-12-25 09:45作者:fang

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

废话不多说了,直接给大家贴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代码实现支付宝批量付款的功能,希望对大家有所帮助。

 

展开全部

相关

说两句网友评论
    我要跟贴
    取消