我正在尝试在sylius上实现Paypal REST付款方式,并且出现以下错误:
Request GetStatus{model: ArrayObject} is not supported. Make sure the gateway supports the requests and there is an action which supports this request (The method returns true). There may be a bug, so look for a related issue on the issue tracker.
通过一些研究,我发现这是因为Paypal余款支付的存储空间配置错误(参见Payum Paypal Rest config_path的响应)。
因此,我尝试修改网关的配置,如以下代码所示:
payum:
storages:
Payum\Paypal\Rest\Model\PaymentDetails:
filesystem:
storage_dir: '%kernel.root_dir%/Resources/payments'
id_property: idStorage
gateways:
paypal_rest:
factory: paypal_rest
client_id: foo
client_secret: bar
config_path: '%kernel.root_dir%/config/sdk_config.ini'
sandbox: true
没有任何变化,我仍然遇到相同的错误。
因此,在Paypal Rest GetStatus请求中,我尝试转储该请求以了解为什么不支持该请求。该请求必须是GetStatusInterface的实例(这是我的情况),$request->getModel()
必须是Payment的实例,但我有一个ArrayObject。这是模型的完整转储:
#model: ArrayObject {#4410 ▼
#input: null
flag::STD_PROP_LIST: false
flag::ARRAY_AS_PROPS: false
iteratorClass: "ArrayIterator"
storage: []
}
我想我的存储没有正确配置,因为它是空的,但我不明白为什么,因为我在config.yml文件中做了。
希望有人有解决方案;)