[GH-ISSUE #14] Finansbank PayFor Desteği #9

Closed
opened 2026-03-03 15:42:02 +03:00 by kerem · 24 comments
Owner

Originally created by @faguvenli on GitHub (Oct 7, 2020).
Original GitHub issue: https://github.com/mewebstudio/pos/issues/14

QNBFinansbank'ın yeni kullanmaya başladığı PayFor altyapısını da sisteme ekleyebilir misiniz? Eski altyapıyı kullanmayacaklarmış artık.

Originally created by @faguvenli on GitHub (Oct 7, 2020). Original GitHub issue: https://github.com/mewebstudio/pos/issues/14 QNBFinansbank'ın yeni kullanmaya başladığı PayFor altyapısını da sisteme ekleyebilir misiniz? Eski altyapıyı kullanmayacaklarmış artık.
kerem 2026-03-03 15:42:02 +03:00
Author
Owner

@nuryagdym commented on GitHub (Oct 7, 2020):

PayFor ilk defa duyuyorum. Genelde farkli POS yapilarin entegrasyonunun gelistirilmesi icin elimizde bir test yapabilmemiz icin kullanici girisleri, banka tarafinda sunucu IP'mize erisim bilgileri tarzi bilgiler lazim.
Eklenebilir bir sey, gereken bilgileri olursa bu hafta sonu bakabilirim diye dusunuyorum.
https://github.com/ahmett/payconn-qnbfinansbank buldugum bu kutuphane de guzel kodlanmis bir kutuphaneye benziyor. isterseniz bunu deneyin.

<!-- gh-comment-id:705038662 --> @nuryagdym commented on GitHub (Oct 7, 2020): PayFor ilk defa duyuyorum. Genelde farkli POS yapilarin entegrasyonunun gelistirilmesi icin elimizde bir test yapabilmemiz icin kullanici girisleri, banka tarafinda sunucu IP'mize erisim bilgileri tarzi bilgiler lazim. Eklenebilir bir sey, gereken bilgileri olursa bu hafta sonu bakabilirim diye dusunuyorum. https://github.com/ahmett/payconn-qnbfinansbank buldugum bu kutuphane de guzel kodlanmis bir kutuphaneye benziyor. isterseniz bunu deneyin.
Author
Owner

@faguvenli commented on GitHub (Oct 7, 2020):

PayFor ilk defa duyuyorum. Genelde farkli POS yapilarin entegrasyonunun gelistirilmesi icin elimizde bir test yapabilmemiz icin kullanici girisleri, banka tarafinda sunucu IP'mize erisim bilgileri tarzi bilgiler lazim.
Eklenebilir bir sey, gereken bilgileri olursa bu hafta sonu bakabilirim diye dusunuyorum.
https://github.com/ahmett/payconn-qnbfinansbank buldugum bu kutuphane de guzel kodlanmis bir kutuphaneye benziyor. isterseniz bunu deneyin.

Hocam bankanın verdiği linkte gerekli açıklamalar var ama ben beceremedim bi türlü
https://vpos.qnbfinansbank.com/Help/home

<!-- gh-comment-id:705052645 --> @faguvenli commented on GitHub (Oct 7, 2020): > PayFor ilk defa duyuyorum. Genelde farkli POS yapilarin entegrasyonunun gelistirilmesi icin elimizde bir test yapabilmemiz icin kullanici girisleri, banka tarafinda sunucu IP'mize erisim bilgileri tarzi bilgiler lazim. > Eklenebilir bir sey, gereken bilgileri olursa bu hafta sonu bakabilirim diye dusunuyorum. > https://github.com/ahmett/payconn-qnbfinansbank buldugum bu kutuphane de guzel kodlanmis bir kutuphaneye benziyor. isterseniz bunu deneyin. Hocam bankanın verdiği linkte gerekli açıklamalar var ama ben beceremedim bi türlü https://vpos.qnbfinansbank.com/Help/home
Author
Owner

@mewebstudio commented on GitHub (Oct 27, 2020):

@faguvenli işlerimin yoğunluğu sebebiyle GitHub repolarımla çok ilgilenemiyorum, bu sebeple geç cevap için de özür dilerim. PayFor altyapısıyla ilgilenmek istesem de şu sıralar bunun için vakit bulabileceğimi pek sanmıyorum. Hatta eklenmesi gereken ve İş Bankasının kullandığı başka bir pos daha var, o da olsa güzel olurdu. @nuryagdym bu repoya bolca katkı sağladı, özellikle unit testler için kendisine teşekkür ediyorum. Belki el atar da bizleri mutlu eder :)

İyi çalışmalar.

<!-- gh-comment-id:717590972 --> @mewebstudio commented on GitHub (Oct 27, 2020): @faguvenli işlerimin yoğunluğu sebebiyle GitHub repolarımla çok ilgilenemiyorum, bu sebeple geç cevap için de özür dilerim. PayFor altyapısıyla ilgilenmek istesem de şu sıralar bunun için vakit bulabileceğimi pek sanmıyorum. Hatta eklenmesi gereken ve İş Bankasının kullandığı başka bir pos daha var, o da olsa güzel olurdu. @nuryagdym bu repoya bolca katkı sağladı, özellikle unit testler için kendisine teşekkür ediyorum. Belki el atar da bizleri mutlu eder :) İyi çalışmalar.
Author
Owner

@nuryagdym commented on GitHub (Oct 28, 2020):

:), dedigim gibi ortam lazim bana, Firma olarak Finansbanka basvurup gereken bilgilerin alip bana iletilmesi lazim. Baska turlu gelistirme sansimiz yok.

<!-- gh-comment-id:717921126 --> @nuryagdym commented on GitHub (Oct 28, 2020): :), dedigim gibi ortam lazim bana, Firma olarak Finansbanka basvurup gereken bilgilerin alip bana iletilmesi lazim. Baska turlu gelistirme sansimiz yok.
Author
Owner

@mewebstudio commented on GitHub (Oct 28, 2020):

@nuryagdym konuyla ilgili QNB FinansBank sanal pos desteğe mail gönderdim. Test ortamı ve dökümanlar hakkında yardımcı olup olamayacaklarını sordum. Olumlu bir yanıt alırsam gönderdikleri bilgileri paylaşırım.

<!-- gh-comment-id:718008636 --> @mewebstudio commented on GitHub (Oct 28, 2020): @nuryagdym konuyla ilgili QNB FinansBank sanal pos desteğe mail gönderdim. Test ortamı ve dökümanlar hakkında yardımcı olup olamayacaklarını sordum. Olumlu bir yanıt alırsam gönderdikleri bilgileri paylaşırım.
Author
Owner

@nuryagdym commented on GitHub (Oct 28, 2020):

Ben konusmustum destekle, test ortami icin firma olarak sanal POS icin basvurulmasi gerekiyormus, baska turlu olmaz dediler.

<!-- gh-comment-id:718041068 --> @nuryagdym commented on GitHub (Oct 28, 2020): Ben konusmustum destekle, test ortami icin firma olarak sanal POS icin basvurulmasi gerekiyormus, baska turlu olmaz dediler.
Author
Owner

@faguvenli commented on GitHub (Oct 28, 2020):

Bende bütün dokümanlar var. Hatta ben işimi görecek kadar kısmını da yazdım. Yarın ofise gidince elimdekileri paylaşabilirim.

<!-- gh-comment-id:718053532 --> @faguvenli commented on GitHub (Oct 28, 2020): Bende bütün dokümanlar var. Hatta ben işimi görecek kadar kısmını da yazdım. Yarın ofise gidince elimdekileri paylaşabilirim.
Author
Owner

@mewebstudio commented on GitHub (Oct 28, 2020):

Desteğe yazdığım maili cevapladılar ve test ortamıyla birlikte, test kullanıcı bilgisi ve dökümanları ilettiler :)
@nuryagdym sizi takibe aldım. Dökümanları mail adresinize iletebilirim.

<!-- gh-comment-id:718192332 --> @mewebstudio commented on GitHub (Oct 28, 2020): Desteğe yazdığım maili cevapladılar ve test ortamıyla birlikte, test kullanıcı bilgisi ve dökümanları ilettiler :) @nuryagdym sizi takibe aldım. Dökümanları mail adresinize iletebilirim.
Author
Owner

@faguvenli commented on GitHub (Oct 29, 2020):

Hocam ben kendi işimi görecek kadar bir kısmını 3D Secure için yazdım. Sizin yazdığınız pakete uydurmak için diğer kısımlarını ekleyebilirsiniz. Class'ın içine yazdığım methodları buraya gönderiyorum. Belki yardımcı olur.

public function __construct($config, $account, array $currencies)
{
$this->config = $config;
$this->account = $account;
$this->currencies = $currencies;

    $this->url = isset($this->config['urls'][$this->account->env]) ?
        $this->config['urls'][$this->account->env] :
        $this->config['urls']['production'];

    return $this;
}

public function get3DFormData()
{
    $data = [];

    if ($this->order) {
        $this->order->hash = $this->create3DHash();
    }

    $inputs = [
        'MbrId' => $this->mbrId,
        'MerchantID' => $this->account->client_id,
        'UserCode' => $this->account->username,
        'UserPass' => $this->account->password,
        'OrderId' => $this->order->id,
        'SecureType' => '3DPay',
        'TxnType' => $this->type,
        'PurchAmount' => $this->order->amount,
        'InstallmentCount' => $this->order->installment,
        'Currency' => $this->order->currency,
        'CardHolderName' => $this->card->name,
        'Pan' => $this->card->number,
        'Expiry' => $this->card->month . $this->card->year,
        'Cvv2' => $this->card->cvv,
        'OkUrl' => $this->order->success_url,
        'FailUrl' => $this->order->fail_url,
        'Rnd' => $this->order->rand,
        'Hash' => $this->order->hash,
        'MOTO' => 0,
        'Lang' => 'TR',
    ];


    $data = [
        'gateway' => $this->url,
        'inputs' => $inputs
    ];

    return $data;

}

public function create3DHash()
{

    $hash_str = $this->mbrId . $this->order->id . $this->order->amount . $this->order->success_url . $this->order->fail_url . $this->type . $this->order->installment . $this->order->rand. $this->account->merchant_pass;

    return base64_encode(pack('H*', sha1($hash_str)));
}

public function check3DHash($data) {

    $return = false;
    $hash_str = $this->account->client_id . $this->account->merchant_pass . $data['OrderId'] . $data['AuthCode'] . $data['ProcReturnCode'] . $data['3DStatus'] . $data['ResponseRnd'] . $this->account->username;
    $hash = base64_encode(pack('H*', sha1($hash_str)));
    if($hash == $data['ResponseHash']) {
        $return = true;
    }
    return $return;
}

public function prepare($order, $card = null)
{
    $this->type = $this->types['pay'];
    if (isset($order->transaction)) {
        if (array_key_exists($order->transaction, $this->types)) {
            $this->type = $this->types[$order->transaction];
        } else {
            dd('Unsupported transaction type');
        }
    }
    $this->order = $order;
    $this->card = $card;
}

public function payment($card)
{
    $this->card = $card;
    $this->make3DPayPayment();
    return $this;
}

public function make3DPayPayment()
{

    $this->request = Request::createFromGlobals();
    $status = 'declined';

//TODO: burdayım. neden status declined dönüyor ona bakacam.
if ($this->check3DHash($this->request->request->all()) && (string)$this->request->get('ProcReturnCode') == '00') {
if(in_array($this->request->get('3DStatus'), [1,2,3,4])) {
$status = 'approved';
}
}

    $transaction_security = 'MPI fallback';
    if ($this->request->get('3DStatus') == '1') {
        $transaction_security = 'Full 3D Secure';
    } elseif (in_array($this->request->get('3DStatus'), [2, 3, 4])) {
        $transaction_security = 'Half 3D Secure';
    }

    $this->response = (object) [
        'status' => $status,
        'request' => $this->request
    ];

    return $this;
}
<!-- gh-comment-id:718380850 --> @faguvenli commented on GitHub (Oct 29, 2020): Hocam ben kendi işimi görecek kadar bir kısmını 3D Secure için yazdım. Sizin yazdığınız pakete uydurmak için diğer kısımlarını ekleyebilirsiniz. Class'ın içine yazdığım methodları buraya gönderiyorum. Belki yardımcı olur. public function __construct($config, $account, array $currencies) { $this->config = $config; $this->account = $account; $this->currencies = $currencies; $this->url = isset($this->config['urls'][$this->account->env]) ? $this->config['urls'][$this->account->env] : $this->config['urls']['production']; return $this; } public function get3DFormData() { $data = []; if ($this->order) { $this->order->hash = $this->create3DHash(); } $inputs = [ 'MbrId' => $this->mbrId, 'MerchantID' => $this->account->client_id, 'UserCode' => $this->account->username, 'UserPass' => $this->account->password, 'OrderId' => $this->order->id, 'SecureType' => '3DPay', 'TxnType' => $this->type, 'PurchAmount' => $this->order->amount, 'InstallmentCount' => $this->order->installment, 'Currency' => $this->order->currency, 'CardHolderName' => $this->card->name, 'Pan' => $this->card->number, 'Expiry' => $this->card->month . $this->card->year, 'Cvv2' => $this->card->cvv, 'OkUrl' => $this->order->success_url, 'FailUrl' => $this->order->fail_url, 'Rnd' => $this->order->rand, 'Hash' => $this->order->hash, 'MOTO' => 0, 'Lang' => 'TR', ]; $data = [ 'gateway' => $this->url, 'inputs' => $inputs ]; return $data; } public function create3DHash() { $hash_str = $this->mbrId . $this->order->id . $this->order->amount . $this->order->success_url . $this->order->fail_url . $this->type . $this->order->installment . $this->order->rand. $this->account->merchant_pass; return base64_encode(pack('H*', sha1($hash_str))); } public function check3DHash($data) { $return = false; $hash_str = $this->account->client_id . $this->account->merchant_pass . $data['OrderId'] . $data['AuthCode'] . $data['ProcReturnCode'] . $data['3DStatus'] . $data['ResponseRnd'] . $this->account->username; $hash = base64_encode(pack('H*', sha1($hash_str))); if($hash == $data['ResponseHash']) { $return = true; } return $return; } public function prepare($order, $card = null) { $this->type = $this->types['pay']; if (isset($order->transaction)) { if (array_key_exists($order->transaction, $this->types)) { $this->type = $this->types[$order->transaction]; } else { dd('Unsupported transaction type'); } } $this->order = $order; $this->card = $card; } public function payment($card) { $this->card = $card; $this->make3DPayPayment(); return $this; } public function make3DPayPayment() { $this->request = Request::createFromGlobals(); $status = 'declined'; //TODO: burdayım. neden status declined dönüyor ona bakacam. if ($this->check3DHash($this->request->request->all()) && (string)$this->request->get('ProcReturnCode') == '00') { if(in_array($this->request->get('3DStatus'), [1,2,3,4])) { $status = 'approved'; } } $transaction_security = 'MPI fallback'; if ($this->request->get('3DStatus') == '1') { $transaction_security = 'Full 3D Secure'; } elseif (in_array($this->request->get('3DStatus'), [2, 3, 4])) { $transaction_security = 'Half 3D Secure'; } $this->response = (object) [ 'status' => $status, 'request' => $this->request ]; return $this; }
Author
Owner

@nuryagdym commented on GitHub (Oct 29, 2020):

merhaba @mewebstudio, belgeleri nuryagdy@mustapayev.com epostama gonderebilirsiniz.

<!-- gh-comment-id:718824993 --> @nuryagdym commented on GitHub (Oct 29, 2020): merhaba @mewebstudio, belgeleri nuryagdy@mustapayev.com epostama gonderebilirsiniz.
Author
Owner

@mewebstudio commented on GitHub (Oct 29, 2020):

@nuryagdym mailinize ilettim.

<!-- gh-comment-id:718895705 --> @mewebstudio commented on GitHub (Oct 29, 2020): @nuryagdym mailinize ilettim.
Author
Owner

@nuryagdym commented on GitHub (Nov 1, 2020):

PayFor ekledim, tum modullerini calistirdim. Code refactoring yapip PR yaparim. en gec onumizdeki hafta sonuna hazir olur

<!-- gh-comment-id:720099059 --> @nuryagdym commented on GitHub (Nov 1, 2020): PayFor ekledim, tum modullerini calistirdim. Code refactoring yapip PR yaparim. en gec onumizdeki hafta sonuna hazir olur
Author
Owner

@mewebstudio commented on GitHub (Nov 3, 2020):

@nuryagdym harika, kolay gelsin :)

<!-- gh-comment-id:721337964 --> @mewebstudio commented on GitHub (Nov 3, 2020): @nuryagdym harika, kolay gelsin :)
Author
Owner

@nuryagdym commented on GitHub (Nov 8, 2020):

bendeki branch'e push ettim yayinda. 3DModel odeme de 3D authorization basarili durumda da ProcReturnCode 00 yerine V033 . bankaya yazdim cevap geldiginde duzeltmeleri yapip PR olustururum.

<!-- gh-comment-id:723560337 --> @nuryagdym commented on GitHub (Nov 8, 2020): bendeki branch'e push ettim yayinda. 3DModel odeme de 3D authorization basarili durumda da `ProcReturnCode` *00* yerine *V033* . bankaya yazdim cevap geldiginde duzeltmeleri yapip PR olustururum.
Author
Owner

@mewebstudio commented on GitHub (Nov 10, 2020):

Elinize sağlık, versiyonladım pos v0.4.4

<!-- gh-comment-id:724363530 --> @mewebstudio commented on GitHub (Nov 10, 2020): Elinize sağlık, versiyonladım [pos v0.4.4](https://github.com/mewebstudio/pos/releases/tag/0.4.4)
Author
Owner

@mewebstudio commented on GitHub (Nov 13, 2020):

Issue'yu artık kapatıyorum. Bu konuyla ilgili herhangi bir şey olursa tekrar açarsınız.

<!-- gh-comment-id:726970196 --> @mewebstudio commented on GitHub (Nov 13, 2020): Issue'yu artık kapatıyorum. Bu konuyla ilgili herhangi bir şey olursa tekrar açarsınız.
Author
Owner

@faguvenli commented on GitHub (Nov 13, 2020):

Destekleriniz için çok teşekkür ederim

<!-- gh-comment-id:727005948 --> @faguvenli commented on GitHub (Nov 13, 2020): Destekleriniz için çok teşekkür ederim
Author
Owner

@MehmetUluc commented on GitHub (May 29, 2021):

Selamlar, payfor hata verdi bugün denedim. Finansbankla da görüştüm bana ilettikleri URL ile paketteki urller birbirini tumuyordu bunun yanısıra Guzzle'dan body olarak gönderdiğimizde karşı taraftan 500 error hatası dönüyordu. Guzzle'da body yerine form_data gönderdiğimde sıkıntısız işlem sıkıntısız gerçekleşti ancak bu sefer de response farklıydı, ben kabaca bazı düzeltmeler yaparak çalıştırdım. Kodu refactor ederek göndermeye çalışırım.

<!-- gh-comment-id:850736834 --> @MehmetUluc commented on GitHub (May 29, 2021): Selamlar, payfor hata verdi bugün denedim. Finansbankla da görüştüm bana ilettikleri URL ile paketteki urller birbirini tumuyordu bunun yanısıra Guzzle'dan body olarak gönderdiğimizde karşı taraftan 500 error hatası dönüyordu. Guzzle'da body yerine form_data gönderdiğimde sıkıntısız işlem sıkıntısız gerçekleşti ancak bu sefer de response farklıydı, ben kabaca bazı düzeltmeler yaparak çalıştırdım. Kodu refactor ederek göndermeye çalışırım.
Author
Owner

@nuryagdym commented on GitHub (May 29, 2021):

Evet, en son calisiyordu, bir seyler degistirmisler. Paketteki test URLler ile test ettigimde 3D odemede bu hatayi veriyor:

Fatal error: Uncaught GuzzleHttp\Exception\ServerException: Server error: `POST https://vpostest.qnbfinansbank.com/Gateway/XmlGate.aspx` resulted in a `500 Internal Server Error` response: <html> <head> <title> _404 </title> </head> <div class="main"> <h3> 404 </h3> </div> (truncated...) in /var/www/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:113 Stack trace: #0 /var/www/vendor/guzzlehttp/guzzle/src/Middleware.php(65): GuzzleHttp\Exception\RequestException::create(Object(GuzzleHttp\Psr7\Request), Object(GuzzleHttp\Psr7\Response)) #1 /var/www/vendor/guzzlehttp/promises/src/Promise.php(204): GuzzleHttp\Middleware::GuzzleHttp\{closure}(Object(GuzzleHttp\Psr7\Response)) #2 /var/www/vendor/guzzlehttp/promises/src/Promise.php(153): GuzzleHttp\Promise\Promise::callHandler(1, Object(GuzzleHttp\Psr7\Response), NULL) #3 /var/www/vendor/guzzlehttp/promises/src/TaskQueue.php(48): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}() #4 /var/www/vendor/guzzlehttp/promises/src/P in /var/www/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php on line 113

@faguvenli en son siz kullaniyordunuzu diye biliyorum PayFor'yu. bu sorunu yasiyor musunuz?

<!-- gh-comment-id:850809947 --> @nuryagdym commented on GitHub (May 29, 2021): Evet, en son calisiyordu, bir seyler degistirmisler. Paketteki test URLler ile test ettigimde 3D odemede bu hatayi veriyor: ``` Fatal error: Uncaught GuzzleHttp\Exception\ServerException: Server error: `POST https://vpostest.qnbfinansbank.com/Gateway/XmlGate.aspx` resulted in a `500 Internal Server Error` response: <html> <head> <title> _404 </title> </head> <div class="main"> <h3> 404 </h3> </div> (truncated...) in /var/www/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:113 Stack trace: #0 /var/www/vendor/guzzlehttp/guzzle/src/Middleware.php(65): GuzzleHttp\Exception\RequestException::create(Object(GuzzleHttp\Psr7\Request), Object(GuzzleHttp\Psr7\Response)) #1 /var/www/vendor/guzzlehttp/promises/src/Promise.php(204): GuzzleHttp\Middleware::GuzzleHttp\{closure}(Object(GuzzleHttp\Psr7\Response)) #2 /var/www/vendor/guzzlehttp/promises/src/Promise.php(153): GuzzleHttp\Promise\Promise::callHandler(1, Object(GuzzleHttp\Psr7\Response), NULL) #3 /var/www/vendor/guzzlehttp/promises/src/TaskQueue.php(48): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}() #4 /var/www/vendor/guzzlehttp/promises/src/P in /var/www/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php on line 113 ``` @faguvenli en son siz kullaniyordunuzu diye biliyorum PayFor'yu. bu sorunu yasiyor musunuz?
Author
Owner

@faguvenli commented on GitHub (May 29, 2021):

ben payfor apiyi kullanıyorum. karttan çekim yapmak istediğimde limitimin üstünde bir işlem denediğimde herhangi bir hata vermedi. Kart Limiti Yetersiz uyarısını sorunsuz bir şekilde ekrana basıyor.
Sistem canlıda olduğu için gerçek bir alışveriş deneyemedim ama limit yetersiz dediğine göre tahminimce çekimi de sorunsuz bir şekilde gerçekleştiriyordur.
sizdeki 500 hatası veren yerde cep telefonuna 3d kontrol mesajı gelmeden önce mi hata veriyor yoksa sonra mı?

<!-- gh-comment-id:850846364 --> @faguvenli commented on GitHub (May 29, 2021): ben payfor apiyi kullanıyorum. karttan çekim yapmak istediğimde limitimin üstünde bir işlem denediğimde herhangi bir hata vermedi. Kart Limiti Yetersiz uyarısını sorunsuz bir şekilde ekrana basıyor. Sistem canlıda olduğu için gerçek bir alışveriş deneyemedim ama limit yetersiz dediğine göre tahminimce çekimi de sorunsuz bir şekilde gerçekleştiriyordur. sizdeki 500 hatası veren yerde cep telefonuna 3d kontrol mesajı gelmeden önce mi hata veriyor yoksa sonra mı?
Author
Owner

@faguvenli commented on GitHub (May 29, 2021):

benim config dosyasındaki payfor ayarları şu şekilde:
'qnbfinansbank-payfor' => [
'name' => 'QNBFinansbank-PayFor',
'class' => Mews\Pos\Gateways\PayForPos::class,
'urls' => [
'production' => 'https://vpos.qnbfinansbank.com/Gateway/XMLGate.aspx',
'test' => 'https://vpostest.qnbfinansbank.com/Gateway/XmlGate.aspx',
'gateway' => [
'production' => 'https://vpos.qnbfinansbank.com/Gateway/Default.aspx',
'test' => 'https://vpostest.qnbfinansbank.com/Gateway/Default.aspx',
],
'gateway_3d_host' => [
'production' => 'https://vpos.qnbfinansbank.com/Gateway/3DHost.aspx',
'test' => 'https://vpostest.qnbfinansbank.com/Gateway/3DHost.aspx',
],
]
]

<!-- gh-comment-id:850847390 --> @faguvenli commented on GitHub (May 29, 2021): benim config dosyasındaki payfor ayarları şu şekilde: 'qnbfinansbank-payfor' => [ 'name' => 'QNBFinansbank-PayFor', 'class' => Mews\Pos\Gateways\PayForPos::class, 'urls' => [ 'production' => 'https://vpos.qnbfinansbank.com/Gateway/XMLGate.aspx', 'test' => 'https://vpostest.qnbfinansbank.com/Gateway/XmlGate.aspx', 'gateway' => [ 'production' => 'https://vpos.qnbfinansbank.com/Gateway/Default.aspx', 'test' => 'https://vpostest.qnbfinansbank.com/Gateway/Default.aspx', ], 'gateway_3d_host' => [ 'production' => 'https://vpos.qnbfinansbank.com/Gateway/3DHost.aspx', 'test' => 'https://vpostest.qnbfinansbank.com/Gateway/3DHost.aspx', ], ] ]
Author
Owner

@nuryagdym commented on GitHub (May 29, 2021):

bende hata 3d onay ekranindan geri websiteye yonlendirdiginde yapiyor. orda PayFor gateway kodu 3D authentication barili olup olmadigini kontrol edip, Finansbanka odemenin tamamlanmasi icin bir istek gonderiyor. o istek patliyor nedense.

<!-- gh-comment-id:850881787 --> @nuryagdym commented on GitHub (May 29, 2021): bende hata 3d onay ekranindan geri websiteye yonlendirdiginde yapiyor. orda PayFor gateway kodu 3D authentication barili olup olmadigini kontrol edip, Finansbanka odemenin tamamlanmasi icin bir istek gonderiyor. o istek patliyor nedense.
Author
Owner

@MehmetUluc commented on GitHub (May 29, 2021):

bende hata 3d onay ekranindan geri websiteye yonlendirdiginde yapiyor. orda PayFor gateway kodu 3D authentication barili olup olmadigini kontrol edip, Finansbanka odemenin tamamlanmasi icin bir istek gonderiyor. o istek patliyor nedense.

Evet bende de burada patlıyor, dediğim gibi sorunu çözdüm. En kısa zamanda paylaşırım.

<!-- gh-comment-id:850887970 --> @MehmetUluc commented on GitHub (May 29, 2021): > bende hata 3d onay ekranindan geri websiteye yonlendirdiginde yapiyor. orda PayFor gateway kodu 3D authentication barili olup olmadigini kontrol edip, Finansbanka odemenin tamamlanmasi icin bir istek gonderiyor. o istek patliyor nedense. Evet bende de burada patlıyor, dediğim gibi sorunu çözdüm. En kısa zamanda paylaşırım.
Author
Owner

@nuryagdym commented on GitHub (May 30, 2021):

@MehmetUluc musteride calisiyorsa, var olani degistirmek yerine yeni bir Gateway olusturup (belki PayForPos'u extend eder) o sekilde ilerlemeniz iyi olur. zaten anladigim kadariyla API URL'ler farkli. Anladigim kadariyla Yapikredinin PosNet'inin de 2 tur URL'i var, ikisi farkli sekilde calisiyor

<!-- gh-comment-id:850993954 --> @nuryagdym commented on GitHub (May 30, 2021): @MehmetUluc musteride calisiyorsa, var olani degistirmek yerine yeni bir Gateway olusturup (belki PayForPos'u extend eder) o sekilde ilerlemeniz iyi olur. zaten anladigim kadariyla API URL'ler farkli. Anladigim kadariyla Yapikredinin PosNet'inin de 2 tur URL'i var, ikisi farkli sekilde calisiyor
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/pos#9
No description provided.