Code Monkey home page Code Monkey logo

Comments (12)

nuryagdym avatar nuryagdym commented on July 23, 2024

Merhabalar, kart nerede tanimliysa? ve neyi true yapiyoruz. Bana verilen dokumantasyonu gore entegrasyonu yaptim, dediginiz true gonderme isini ilk defa duyuyorum.

from pos.

monurakkaya avatar monurakkaya commented on July 23, 2024

@nuryagdym Merhaba,

protected function getCommon3DFormData($withCrediCard = false)

bu fonksiyona baktiginizda $withCreditCard parametresi ile kart bilgilerini requeste dahil ediyor ya da etmiyor ama hicbir yerde bu parametre true gonderilmemis. Dolayisiyla kart bilgilerini elle tekrar requeste dahil etmemiz gerekiyor (examples/finansbank/3d) siz de oyle yapmissiniz.

dolayisiyla asagidaki kod parcasi kart bilgileri olmadan 3dform olusturuyor

$account = AccountFactory::createPayForAccount($provider, $values['merchantId'], $values['userCode'], $values['userPassword'], '3d_pay', $values['merchantPass']);
$card = new CreditCardPayFor($number, $year, $month, $cvc, $name);
$pos = PosFactory::createPosGateway($account, $this->settings);
$pos->setTestMode($values['mode'] === 'test');
$pos->prepare($order, AbstractGateway::TX_PAY, $card);
dd($pos->get3DFormData());

from pos.

nuryagdym avatar nuryagdym commented on July 23, 2024

simdi anladim demek istediginizi. 6 ay once eklemistim bu kodu, neye gore koydum o parametreyi hatirlayamadim simdi :). PayFor testlerinin hepsi calisiyor diye hatirliyorum. yani examples'deki ornekler calisan ornekleri olmasi gerekiyor

from pos.

monurakkaya avatar monurakkaya commented on July 23, 2024

3dhost ise muhtemelen kart bilgileri yollamayip, diger 3d ve 3dpay de true verip kart bilgileriyle gondermek icin olabilir:)

Bu arada yeni bir issue acmayayim vakif ile ilgili bir gelistirme plani var mi? Yoksa su an bana lazim oturup baslayacagim

from pos.

nuryagdym avatar nuryagdym commented on July 23, 2024

simdi hatirladim, bu eskiden kalan bir kod. Payfor'i ornekleri yaparken basitlestirdim, ondan oyle kalmis.
Kisacasi eskinden (ornek olarak examples'daki akbank ornegine bakabilirisniz), test orneklerinde

  1. index.php'de kredi kart bilgilerini aliyor
  2. bu data form.php'ye gidiyor, form.php butun gelen datalari form'a basiyor, ve js code otomatik submit yaptiriyordu.
    bu tur ornekte lazimdi orasi. Payfor orneklerindeyse,index.php ve form.php isini payment-form.php yapiyor (js kullanmadan). o yuzden o parametreyi kullanmadim orneklerde.

Eski yontem, ornegin kredi kart bilgisi direk bankaya gitmesin, once sunucuma gitsin gibi ihtiyac oldugunda kullanilabilir.

from pos.

nuryagdym avatar nuryagdym commented on July 23, 2024

Vakifbankin kullandigi sistemi bilmiyorum. dokumantasyon ve test ortami verirseniz gelistirebilirim.

from pos.

monurakkaya avatar monurakkaya commented on July 23, 2024

simdi hatirladim, bu eskiden kalan bir kod. Payfor'i ornekleri yaparken basitlestirdim, ondan oyle kalmis.
Kisacasi eskinden (ornek olarak examples'daki akbank ornegine bakabilirisniz), test orneklerinde

  1. index.php'de kredi kart bilgilerini aliyor
  2. bu data form.php'ye gidiyor, form.php butun gelen datalari form'a basiyor, ve js code otomatik submit yaptiriyordu.
    bu tur ornekte lazimdi orasi. Payfor orneklerindeyse,index.php ve form.php isini payment-form.php yapiyor (js kullanmadan). o yuzden o parametreyi kullanmadim orneklerde.

Eski yontem, ornegin kredi kart bilgisi direk bankaya gitmesin, once sunucuma gitsin gibi ihtiyac oldugunda kullanilabilir.

fakat su an

$pos->prepare($order, AbstractGateway::TX_PAY, $card);
$pos->get3DFormData();

bu kod, akbankta calistigi gibi calismiyor. Bu kodda kart bilgileri gelmiyor :

Array
        (
            [gateway] => https://vpostest.qnbfinansbank.com/Gateway/Default.aspx
            [inputs] => Array
                (
                    [MbrId] => 5
                    [MerchantID] => 085300000009704
                    [UserCode] => QNB_API_KULLANICI_3DPAY
                    [OrderId] => 202105100016
                    [Lang] => tr
                    [SecureType] => 3DPay
                    [TxnType] => Auth
                    [PurchAmount] => 40
                    [InstallmentCount] => 0
                    [Currency] => 949
                    [OkUrl] => https://www.base.test/index.php?route=extension/payment/pos/callback&token=l1IaPWqLwuWJy8Pn
                    [FailUrl] => https://www.base.test/index.php?route=extension/payment/pos/callback&token=l1IaPWqLwuWJy8Pn
                    [Rnd] => 0.41451700 1620658410
                    [Hash] => Mtjh0BrhFheUEKPahBt9N6ggmMM=
                )

        )

Fakat gerekli guncellemeyi yaptigimizda geliyor:

Array
        (
            [gateway] => https://vpostest.qnbfinansbank.com/Gateway/Default.aspx
            [inputs] => Array
                (
                    [MbrId] => 5
                    [MerchantID] => 085300000009704
                    [UserCode] => QNB_API_KULLANICI_3DPAY
                    [OrderId] => 202105100016
                    [Lang] => tr
                    [SecureType] => 3DPay
                    [TxnType] => Auth
                    [PurchAmount] => 40
                    [InstallmentCount] => 0
                    [Currency] => 949
                    [OkUrl] => https://www.base.test/index.php?route=extension/payment/pos/callback&token=l1IaPWqLwuWJy8Pn
                    [FailUrl] => https://www.base.test/index.php?route=extension/payment/pos/callback&token=l1IaPWqLwuWJy8Pn
                    [Rnd] => 0.41451700 1620658410
                    [Hash] => Mtjh0BrhFheUEKPahBt9N6ggmMM=
                    [CardHolderName] => MEHMET ONUR AKKAYA
                    [Pan] => 4155650100416111
                    [Expiry] => 1224
                    [Cvv2] => 123
                )

        )

)

from pos.

nuryagdym avatar nuryagdym commented on July 23, 2024

olabilir, akbank examples kodu calisiyor mu? yani akbank icin akbank ornegine, QNB icin payfor ornek koda gore yapilmasi gerekyor.
Akbank'taki ornek kodu da, Payfor ornek calistigi sekilde guncelleyebilirisniz. bunun icin kutuphanede guncelleme yapmaya gerek yok, sadece payfor'daki ornege bakarak yol alabilirisniz.

from pos.

monurakkaya avatar monurakkaya commented on July 23, 2024

Tam anlatamadim olayi sanirim.

Bir sistem dusunun 20 bankanin sanal posu var. Hepsinde kart bilgilerini onden sunucuya post edip 3d formu olusturup on tarafa basiyorum. Hepsinin 3d_formu form viewi ayni ve calisiyor. fakat payfor icin ek olarak kart bilgilerini tekrar girmemiz gerekiyor.

Ben eger $pos->prepare() metoduna $card gondermissem kart bilgilerini otomatik inject etmesini bekliyorum forma. Tipki diger gatewaylerde oldugu gibi. Ama yapmiyor. dolayisiyla hic bir anlami olmuyor su asamada. Kutuphanenin butunlugu kaybolmus oluyor.

Examples a bakmiyorum. readme'de projenin tum gatewaylerde ortak olmasi gereken $pos-> get3DFormData() metodunun bana; bankaya post edilecek tum parametreleri vermesi gerekiyorken payfor vermiyor. bunun icin kutuphanede guncelleme yapmak gerekiyor.

Ozetle:

Yanlis kullanmiyorsam durum bu. prepare metoduna gonderdigim cardin hicbir anlami yok. 3d form datayi aldiktan sonra card inputlarini forma tekrar elimle girmem gerekiyor ki dogru bir sekilde transaction baslasin.

Daha fazla uzatmayayim siz de contributor sunuz sonucta :) Emekleriniz icin tesekkurler. Forklar devam ederim ben.

Iyi calismalar.

from pos.

nuryagdym avatar nuryagdym commented on July 23, 2024

simdi dediginizi anladim, haklsiniz, duzeltmeleri yaptim, testlerini de yapip merge request'i acma bu haftayi alabilir.
Payfor standart kullanima uygun yapmistim, genelde o sekilde calisiyor odeme yontemler, yani kredi kart websitenin bulundugu sunucuya gonderilmiyor. Ama baktigimda bir tek Yapi Kredi (posNet) farkli calisiyormus. PosNet'te once websitenin bulundugu sunucuya gonderilmesi zorunluymus.

from pos.

monurakkaya avatar monurakkaya commented on July 23, 2024

Benimki biraz spesifik bir senaryo olabilir elbette. Genelde herkes tek sanal pos kullaniyor. Tesekkur ederim

Vakif dokumantasyonu: https://gitlab.com/bdogru/vakifbanksanalpos/-/tree/master/vak%C4%B1fbankdangelen

Kolay gelsin

from pos.

nuryagdym avatar nuryagdym commented on July 23, 2024

tmm, vakifbankada bakarim, tesekkurler

from pos.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.