2016-04-22 74 views
1

當我運行PHP應用程序/控制檯payum:網關:調試Payum - 特質 'Payum 核心 GatewayAwareTrait' 未找到

我有此錯誤消息

PHP Fatal error: Trait 'Payum\Core\GatewayAwareTrait' not found in /var/www/myapplication/vendor/payum/paypal-express-checkout-nvp/Payum/Paypal/ExpressCheckout/Nvp/Action/PurchaseAction.php on line 26 

有人可以幫助我瞭解什麼是錯誤?

謝謝;)

我CONTROLER:

我的應用程序提供了複發性支付訂閱

/** 
    * @Extra\Route(
    * "/prepare_recurring_payment_agreement", 
    * name="acme_paypal_express_checkout_prepare_recurring_payment_agreement" 
    *) 
    * 
    * @Extra\Template 
    */ 
    public function createAgreementAction(Request $request) 
    { 
     $gatewayName = 'paypal_express_checkout_recurring_payment_and_doctrine_orm'; 
     $subscription = $this->getWeatherForecastSubscriptionDetails($request->request->get('abo')); 

     if ($request->isMethod('POST')) { 
      $storage = $this->getPayum()->getStorage('MyApplication\UserBundle\Entity\AgreementDetails'); 
      /** @var $agreement AgreementDetails */ 
      $agreement = $storage->create(); 
      $agreement['ABO'] = $request->request->get('abo'); 
      $agreement['PAYMENTREQUEST_0_AMT'] = 0; 
      $agreement['L_BILLINGTYPE0'] = Api::BILLINGTYPE_RECURRING_PAYMENTS; 
      $agreement['L_BILLINGAGREEMENTDESCRIPTION0'] = $subscription['description']; 
      $agreement['NOSHIPPING'] = 1; 

      $storage->update($agreement); 

      $captureToken =$this->getPayum()->getTokenFactory()->createCaptureToken(
       $gatewayName, 
       $agreement, 
       'acme_paypal_express_checkout_create_recurring_payment' 
      ); 

      $agreement['RETURNURL'] = $captureToken->getTargetUrl(); 
      $agreement['CANCELURL'] = $captureToken->getTargetUrl(); 
      $agreement['INVNUM'] = $agreement->getId(); 

      $storage->update($agreement); 
      return $this->redirect($captureToken->getTargetUrl()); 
     } 
     return array(
      'subscription' => $subscription, 
      'gatewayName' => $gatewayName 
     ); 
    } 

我composer.json:

在這裏,我表示尊重payum

"php": ">=5.3.3", 
    "symfony/symfony": "2.8.*", 
    "payum/payum-bundle": "^2.0", 
    "payum/offline": "^1.2", 
    "payum/paypal-express-checkout-nvp": "^1.0", 

AppKernel.php

在這裏,我只是叫PayumBundle

new Payum\Bundle\PayumBundle\PayumBundle(), 

PHP版本:

PHP 5.5.9-1ubuntu4.16 (cli) (built: Apr 20 2016 14:31:37) 
Copyright (c) 1997-2014 The PHP Group 
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies 
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies 
+0

你可以看看在/ var/WWW /所有MyApplication /供應商/ payum /貝寶特快結帳-NVP/Payum /核心/如果GatewayAwareTrait.php存在? –

+0

確實,GatewayAwareTrait.php不存在。我不得不添加「php-http/guzzle6-adapter」:「^ 1.0」來解決依賴關係,並最終解決GatewayAwareTrait.php的添加...感謝您的幫助Olivier! – juvaone

回答

0

我回答自己:

只需加上

"php-http/guzzle6-adapter": "^1.0" 

解決依賴關係。

0

您應該添加到composer.json:

"payum/core": "^1.2", 
相關問題