> 支付行为触发后,更新状态,把支付宝的交易号,支付宝回传回来的字段进行保存
> 模型
~~~
public static function notify($data)
{
$alipay = new \AlipayPay();
$verify_result = $alipay->verifyNotify();
if ($verify_result) {
$out_trade_no = $data['extra_common_param']; //商户订单号
$trade_no = $data['trade_no']; //支付宝交易号
$trade_status = $data['trade_status']; //交易状态
$status = Order::PAYFAILED;
if ($trade_status == 'TRADE_FINISHED' || $trade_status == 'TRADE_SUCCESS') {
$status = Order::PAYSUCCESS;
$order_info = Order::find()->where('orderid = :oid', [':oid' => $out_trade_no])->one();
if (!$order_info) {
return false;
}
if ($order_info->status == Order::CHECKORDER) {
Order::updateAll(['status' => $status, 'tradeno' => $trade_no, 'tradeext' => json_encode($data)], 'orderid = :oid', [':oid' => $order_info->orderid]);
} else {
return false;
}
}
return true;
} else {
return false;
}
}
~~~