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