如何解决捕获付款时未调用ConvertPaymentAction操作
在捕获付款时未调用ConvertPaymentAction操作。
复制步骤 我在PaymentGatewayFactory.PHP中注册ConvertPayment操作,如下所示:
// PaymentGatewayFactory.PHP
protected function populateConfig(ArrayObject $config)
{
$config->defaults([
.....,'payum.action.convert_payment' => new ConvertPaymentAction(),......
]);
}
// ConvertPaymentAction.PHP
public function execute($request)
{
RequestNotSupportedException::assertSupports($this,$request);
/** @var PaymentInterface $payment */
$payment = $request->getSource();
/** @var OrderInterface $order */
$order = $payment->getorder();
$details = ArrayObject::ensureArrayObject($payment->getDetails());
$details['amount'] = $payment->getAmount();
$details['currency'] = $payment->getCurrencyCode();
$details['orderId'] = $order->getNumber();
$details['customer'] = [
'email' => $order->getCustomer()->getEmail()
];
$request->setResult((array) $details);
}
public function supports($request)
{
dd($request);
return
$request instanceof Convert &&
$request->getSource() instanceof PaymentInterface &&
$request->getTo() == 'array'
;
}
}
我做错了吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。