yasinkuyu / omnipay-nestpay

NestPay (EST) (İş Bankası, Akbank, Finansbank, Denizbank, Kuveytturk, Halkbank, Anadolubank, ING Bank, Citibank, Cardplus, Ziraat Bankası) gateway for Omnipay payment processing library
MIT License
66 stars 31 forks source link

omnipay/common 2.4 sonrasında hata #2

Closed irfanevrens closed 8 years ago

irfanevrens commented 8 years ago

"omnipay/common": "~2.0" kullanıldığı için şuan aktif olarak 2.5 versiyonunu yüklemekte ve aşağıdaki hatayı vermekte.

Class must be declared abstract or implement methods 'completeAuthorize', 'deleteCard', 'completePurchase', 'createCard', 'updateCard'

yasinkuyu commented 8 years ago

Merhaba,

Neden 2.5'i kullanmak istiyorsunuz? 2.0 stabil çalışıyor.

"require": { "omnipay/common": "~2.0" },

Eğer versiyonu manuel tanımlamadıysanız komut satırına aşağıdaki komutu yazarak 2.0 yükleyerek sorunsuz çalıştırabilirsiniz.

composer require yasinkuyu/omnipay-nestpay:~2.0

Örnek uygulama

paytest.php

require DIR . '/vendor/autoload.php';

use Omnipay\Omnipay;

$gateway = Omnipay::create('NestPay');

$gateway->setBank("denizbank"); $gateway->setUserName("DENIZTEST"); $gateway->setClientId("800100000"); $gateway->setPassword("DENIZTEST123"); $gateway->setTestMode(TRUE);

$options = [ 'number' => '5406675406675403', 'expiryMonth' => '12', 'expiryYear' => '2017', 'cvv' => '000', 'email' => 'yasinkuyu@gmail.com', 'firstname' => 'Yasin', 'lastname' => 'Kuyu' ];

try {

$response = $gateway->purchase(
[
    //'installment'  => '', # Taksit
    //'moneypoints'  => 1.00, // Set money points (Maxi puan gir)
    'amount'        => 12.00,
    'type'          => 'Auth',
    'orderid'       => 'ORDER-3651233',
    'card'          => $options
]
)->send();

if ($response->isSuccessful()) {
    echo "Successful";

} elseif ($response->isRedirect()) {
    $response->redirect();

} else {
    exit($response->getMessage());
}

} catch (\Exception $e) { exit('Sorry, there was an error processing your payment. Please try again later.'); }

irfanevrens commented 8 years ago

~2.0 olunca ve composer update yapınca 2.5'i yüklüyor. sanırım ~ işaretinden kaynaklı bir durum. Bir de kuveytturk kendi sistemini kullanıyormuş. Buradaki kuveytturk eskide kalmış olabilir mi. Bunu ilgili firmaya sordum şöyle bir cevap verdiler;

Merhaba İrfan Bey,

Artık tarafımızdan Kuveyt Türk Sanal Pos desteği verilmemektedir. 
Banka kendi altyapısını kullanmaya başladı.

Konu ile ilgili bankayla iletişime geçebilirsiniz.

İyi çalışmalar dilerim.

Enes Malik ÖZBELLİ
Asseco SEE Teknoloji A.Ş.
yasinkuyu commented 8 years ago

Yukarıda dediğim şekilde yaparsanız 2.5 güncellenmez. Boş bir klasörü komut satırında açın ve bu komutu yazın

composer require yasinkuyu/omnipay-nestpay:~2.0

Kararlı sürüm 2.0 resmi sitesinde ve github sayfasında o şekilde yer alıyor.

yasinkuyu commented 8 years ago

Kuveyttürk'ün veya diğer bankaların sanal pos ve test kullanıcı bilgilerini gönderebilirseniz müsait bir zamanda entegrasyon hazırlayabilirim.

irfanevrens commented 8 years ago

composer require yasinkuyu/omnipay-nestpay:~2.0 bu komut yasinkuyu/omnipay-nestpay paketinin içindeki composer.json'da omnipay/common paketini şuanda v2.5.0 olarak yüklüyor. Çünkü composer.json içinde;

"require": {
    "omnipay/common": "~2.0"
},

Buradaki ~2.0 ibaresi omnipay/common paketinin 2.5.0 versiyonunu yükletiyor.

Diğer konuya gelince, omnipay-kuveytturk gibi ayrı bir paket olacak sanırım değil mi?