Я использую 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
Вот как выглядит мое упорядоченное сущность
<?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?