0

我正在尝试创建一个自定义网关并遵循了许多不同的文档。昨天我发现了新的 Payum/Skeleton 并从它开始并遵循了这个例子。尽管重定向到捕获页面时出现问题,但出现以下两个异常:

致命错误:不支持未捕获的异常“Payum\Core\Exception\RequestNotSupportedException”和消息“请求捕获{模型:身份}”。确保“Payum\Core\Model\Payment”的存储扩展已注册到网关。确保存储查找方法返回 id 为“5678ff3e481ba”的实例。确保网关支持请求并且有支持此请求的操作(该方法返回 true)。可能存在错误,因此请在问题跟踪器上查找相关问题。在第 57 行的 /home/vagrant/code/payumdibs/vendor/payum/core/Payum/Core/Exception/RequestNotSupportedException.php

Payum\Core\Exception\RequestNotSupportedException:不支持请求捕获{模型:身份}。确保“Payum\Core\Model\Payment”的存储扩展已注册到网关。确保存储查找方法返回 id 为“5678ff3e481ba”的实例。确保网关支持请求并且有支持此请求的操作(该方法返回 true)。可能存在错误,因此请在问题跟踪器上查找相关问题。在第 57 行的 /home/vagrant/code/payumdibs/vendor/payum/core/Payum/Core/Exception/RequestNotSupportedException.php

我使用了 x-debug 并发现当 CaptureAction::supports 被调用时,$request->getModel() 不是 \ArrayAccess 的实例,因此返回 false。

使用标准支付网关时一切正常,但使用自定义则不行。

我的配置:

$payum = (new PayumBuilder())
        ->addDefaultStorages()
        ->addGatewayFactory('paypal', new \Acme\Paypal\PaypalGatewayFactory([]))
        ->addGateway('offline', [
            'factory' => 'offline',
        ])->addGateway('paypal', [
            'factory' => 'paypal',
            'sandbox' => true,
        ])->getPayum();

任何人都有任何想法出了什么问题?

4

1 回答 1

0

在 Maksim Kotlyar 的评论中得到了答案。 https://github.com/Payum/Payum/issues/452

于 2016-01-04T08:50:20.410 回答