최근 Alipay를 사용하여 송금하는 프로젝트를 진행하고 있는데, 어려운 요구 사항이 있습니다. 일괄 결제가 성공한 후 시스템에서 반환된 알림을 어떻게 받을 수 있는지 모르겠습니다. 친구의 도움으로 이 기능이 실현됩니다. 편집자가 아래의 특정 코드를 구성하고 공유합니다. 여기에는 참고용이 있습니다.
더 이상 고민하지 않고 특정 코드만 게시하겠습니다.
//批量付款异步通知处理 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코드로 Alipay 일괄결제를 구현하는 기능에 대해 설명드렸습니다.
위 내용은 관련 측면을 포함하여 Alipay 일괄 결제를 구현하는 순수 PHP 코드를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.