我正在使用 Payum Laravel Package 0.11.1,并面临错误Request GetHumanStatus{model: ArrayObject} is not supported on payment done controller:
$status = new GetHumanStatus($token);
$payment->execute($status);
即:我从 PaypalController 重定向到
return $captureToken->getTargetUrl();
到http://myapp.local:8000/app/payment_done?payum_token=_lLGI4Mxk-UKX4FNUiyq0j94IrY_iLjRoMZfWc8Bdg0
我可以在我的存储中看到文件payum-model-_lLGI4Mxk-UKX4FNUiyq0j94IrY_iLjRoMZfWc8Bdg0和payum-model-5417d0934a306
$token 结果来自
$request = \App::make('request');
$request->attributes->set('payum_token', $payum_token);
$token = $this->getHttpRequestVerifier()->verify($request);
给我结果:
$token->getDetails() = Payum\Core\Model\ArrayObject#5417d0934a306
$token->getHash() = _lLGI4Mxk-UKX4FNUiyq0j94IrY_iLjRoMZfWc8Bdg0
$token->getPaymentName() = paypal-pro
如果我尝试使用无效的 payum_token 到达 payment_done 控制器,则会出现错误:找不到带有哈希的令牌。_lLGI4Mxk-UKX4FNUiyq0j94IrY_iLjRoMZfWc8Bdg1
如果我使用有效令牌尝试它,则Request GetHumanStatus{model: ArrayObject} is not supported。正如我在存储具有等效 $token 详细信息数组对象 ID 的令牌时看到的,我猜我的 $payments 没有在 config.php 上正确构建。