【发布时间】:2017-09-04 14:27:36
【问题描述】:
我将 Symfony 与 PayumBundle 和 payum-redsys 一起使用,以便通过西班牙 Redsys 网关接受付款。
每次付款尝试后(无论成功与否),Redsys 都会向 url 发送通知。我想捕捉这个通知并根据它的有效负载采取行动(支付成功了吗?哪个订单号?等等)。例如,假设支付成功,我想在数据库中将相应的订单标记为已支付,否则我想记录错误。比如:
if ($paymentSuccessful) {
$order = $orderRep->find($notif['Ds_Order']);
$order->setDatePaid($notif['Ds_Date']);
$em->flush();
} else {
$logger->error('Failed payment for order ' . $notif['Ds_Order']);
}
如果我让 Payum 使用其默认的 NotifyController 处理通知请求,它会执行自动令牌验证、参数解码等,这是完美的但是我看不到如何执行我的自己的自定义操作(见上面的代码),因此是这个问题的标题。
【问题讨论】: