Я использую CakePHP 3.2. Я должен интегрировать платежный шлюз CCAvenue на свой веб-сайт.
я использую https://github.com/kishanio/CCAvenue-PHP-Library библиотека для интеграции CCAvenue на моем сайте.
Но установка через композитор не работает
composer require kishanio/ccavenue
Итак, я скачал и распаковал все файлы в
/vendor/CCAvenue-PHP-Library-master
путь к Payment.php
/vendor/CCAvenue-PHP-Library-master/src/Payment.php
И в контроллер, Я делаю как
<?php
namespace App\Controller;
use App\Controller\AppController;
use Cake\Event\Event;
require_once(ROOT.'/vendor/CCAvenue-PHP-Library-master/src/Payment.php');
use Kishanio\CCAvenue\Payment as CCAvenueClient;
class OrdersController extends AppController
{
public function paymentViaPaymentGateway($invoice = null)
{
$payble_amount = 500;
$ccavenue = new CCAvenueClient('key', 'id', 'redirect');
// set details
$ccavenue->setAmount($payble_amount);
$ccavenue->setOrderId($invoice);
$ccavenue->setBillingName($getOrder->user_address->name);
$ccavenue->setBillingAddress($getOrder->user_address->line_1);
$ccavenue->setBillingCity($getOrder->user_address->city);
$ccavenue->setBillingZip($getOrder->user_address->postal);
$ccavenue->setBillingState($getOrder->user_address->state);
$ccavenue->setBillingCountry('India');
$ccavenue->setBillingEmail($this->Auth->user('email'));
$ccavenue->setBillingTel($this->Auth->user('mobile'));
$ccavenue->setBillingNotes($invoice);
// copy all the billing details to shipping details
$ccavenue->billingSameAsShipping();
// get encrypted data to be passed
$data = $ccavenue->getEncryptedData();
// merchant id to be passed along the param
$merchant = $ccavenue->getMerchantId();
$this->set('data', $data);
$this->set('merchant', $merchant);
}
}
Utils.php
находится в том же каталоге, что и Payment.php
и Payment.php содержит
namespace Kishanio\CCAvenue;
use Kishanio\CCAvenue\Utils;
а также Utils.php
содержит
namespace Kishanio\CCAvenue;
use Kishanio\CCAvenue\Payment;
Но это дает ошибку как
Неустранимая ошибка: класс ‘Kishanio \ CCAvenue \ Utils’ не найден в
/path_to/vendor/CCAvenue-PHP-Library-master/src/Payment.php на линии
243
содержимое Payment.php, на которое указывает ошибка.
public function getEncryptedData() {
$utils = new Utils( $this ); // line 243
$merchant_data = $this->getMerchantData( $utils->getChecksum() );
return $utils->encrypt($merchant_data,$this->getWorkingKey());
}
Задача ещё не решена.
Других решений пока нет …