2017-05-09 76 views
0

我使用信用卡已經設置了payum Paypal Rest. Credit card purchase到我的支付laravel應用,可謂萬事俱備,但它給了我的異常,如:Laravel payum和PayPal休息

的模型Payum \寶\休息\存儲Model \ PaymentDetails不是 註冊。有以下型號的存儲: Payum \ Core \ Model \ Payment,Payum \ Core \ Model \ ArrayObject, Payum \ Core \ Model \ Payout。

AppServiceProvider.php

//For payment gateway... 
$this->app->resolving('payum.builder', function(\Payum\Core\PayumBuilder $payumBuilder) { 
    $payumBuilder 
    // this method registers filesystem storages, consider to change them to something more 
    // sophisticated, like eloquent storage 
    ->addDefaultStorages() 
    //->getPayum(); 
    ->addGateway('paypal_ec', [ 
     'factory' => 'paypal_express_checkout', 
     'username' => config('payment.paypalusername'), 
     'password' => config('payment.paypalpassword'), 
     'signature' => config('payment.paypalsignature'), 
     'sandbox' => true 
    ]) 
    ->addGateway('paypalRest', [ 
     'factory' => 'paypal_rest', 
     'client_id' => config('payment.paypalclientid'), 
     'client_secret' => config('payment.paypalsecret'), 
     'config_path' => '%kernel.root_dir%/config/sdk_config.ini' 
    ]);     
}); 

prepare.php

$storage = $this->getPayum()->getStorage('Payum\Paypal\Rest\Model\PaymentDetails'); 
$payment = $storage->create(); 
. 
. 
. 

,我需要爲模型Payum\Paypal\Rest\Model\PaymentDetails註冊存儲?

回答

0

Payum Paypal其餘的擴展uses a model從官方貝寶的SDK庫。有默認情況下沒有儲存它,你提供一個:

<?php 

/** @var \Payum\Core\Storage\StorageInterface $storage */ 
$storage; 

$payumBuilder->addStorage('Payum\Paypal\Rest\Model\PaymentDetails', $storage); 

什麼,你也可以做的是創建一個支持從Payum核心,在行動陣列和ArrayObject的模型自己捕捉的動作,你會得到數據從數組中將其設置爲Paypal Rest模型,並使用它進行子請求。然後將數據從模型返回到數組。

我必須承認,這個擴展是很早以前創建的,作爲概念證明,並且很長一段時間沒有更新。例如,最好使用基本模型(來自Payum核心)。