Я использую Symfony и пытаюсь отправить детали платежа в PayPal, используя PayumBundle, я настроил PayumBundle и получил он работал до тех пор, пока не был перенаправлен на PayPal, но данные о платеже не отправлялись, поэтому я искал в строке и наткнулся на этот вопрос в SO, и это именно тот пустой информационный экран, который я вижу.
Глядя на документацию, на которую указывает ответ, я придумал следующий фрагмент кода, но когда я пытаюсь получить доступ к маршруту, который вызывает следующее действие prepare
. я столкнулся с ошибкой
public function prepareAction(Request $request)
{
$paymentName = 'paypal';
$storage = $this->getPayum()->getStorage('ClickTeck\featuresBundle\Entity\Orders');
/** @var \ClickTeck\featuresBundle\Entity\Orders $paymentDetails */
$paymentDetails = $storage->create();
$paymentDetails['PAYMENTREQUEST_0_CURRENCYCODE'] = 'USD';
$paymentDetails['PAYMENTREQUEST_0_AMT'] = 1500;
$storage->update($paymentDetails);
$notifyToken = $this->getTokenFactory()->createNotifyToken($paymentName, $paymentDetails);
$captureToken = $this->getTokenFactory()->createCaptureToken(
$paymentName,
$paymentDetails,
'payment_done'
);
$paymentDetails['PAYMENTREQUEST_0_NOTIFYURL'] = $notifyToken->getTargetUrl();
$paymentDetails['INVNUM'] = $paymentDetails->getId();
$storage->update($paymentDetails);
return $this->redirect($captureToken->getTargetUrl());
}
Error: Cannot use object of type ClickTeck\featuresBundle\Entity\Orders as array
Затем я попытался использовать следующее, но это приводит к другой ошибке в конце PayPal.
$paymentDetails->PAYMENTREQUEST_0_CURRENCYCODE = 'USD';
$paymentDetails->PAYMENTREQUEST_0_AMT = 1500;
This transaction cannot be processed. The amount to be charged is zero
Вот так выглядит моя сущность Order
<?php
namespace ClickTeck\featuresBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Payum\Core\Model\Order as BaseOrder;
/**
* Orders
*/
class Orders extends BaseOrder
{
/**
* @var integer
*/
protected $id;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
}
Может кто-нибудь, пожалуйста, помогите мне узнать, что это происходит? Уже 2 дня пытаюсь заставить PayumBundle работать.
Я буду очень признателен за любую помощь в этом. Как отправить реквизиты платежа в PayPal?