问题描述
在捕获付款时未调用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 (将#修改为@)