Closed FikretCin closed 11 months ago
Merhabalar,
callbackUrl === failUrl
olacak sekilde guncellesek ise yarar mi? Diger turlu order'a callbackUrl diye yeni parametre eklenmesi gerekecek.
Dokumantasyon da eski, yeni sha512 hashlemeye gore ornek yok.
Uygunsa bu hafta sonu eklerim.
Genelde zaten çoğu sistem ok ve fail i tek url kullanıyor, gelen response a göre redirectlerini gerçekleştiriyor. Bence zararı olmayacaktır dediğiniz gibi güncellerseniz sorun hallolur
Sha512 versiyonunu da rica ettim ilettiler.
callbackUrl ekleyerek test ortamda 3D Pay Hosting odeme denedim, bir turlu bu callbackUrl'e call yada redirect yaptiramadim.
Test ortamda 3D onay sayfada bu islemler mevcut:
Hangi durumlarda callbackUrl'a redirect veya istek gondermesi gerekir?
Akbank a sorup size dönüş yapayım.
Akbank tarafından cevap geldi.
Merhaba,
CallbackURL'li ye sonuç gönderilmeden önce 3D tarayıcının kapatılması gibi iletişim aksaklıklarında sipariş sonucunun üye işyerine gönderilmesi için kullanılır. Bu durumda sizin callback için bir URL adres eklemeniz gereklidir. Log kontrolü yapıyorsanız loglardan kontrol edebilirsiniz. Veya arayüzden kontrol sağlayabilirsiniz.
İyi çalışmalar.
Merhaba, o zaman bu durumun reproduce edilmesi zor olur. Anladigim kadariyla, callbackUrl'a banka istek gonderir, failUrl'a redirect yaptigi gibi redirect yapmaz. O yuzden ekstra ayri bir URL eklenmesi gerekiyor, failUrl ile ayni olmasi mantikli olmaz.
Bu tarz durumlar icin V1.0.0 versiyonda destek ekledim, ama hala bitmedi, bu yil sonuna kadar biter diye dusunuyorum. O zamana kadar beklemenizi rica ediyorum.
Benim şahsi görüşüm v1 e daha sağlıklı ekleme yapabilmeniz için bence şimdiden callbackUrl === failUrl olarak ekliyelim. Bir süre kullanalım bankadan ve son kullanıcılardan aldığımız dönüşler callbackin nasıl bir yapıda olması gerektiği bilgisini bize gösterecektir yanlış bir yöntemse v1 i daha stabil kılmak adına geliştirme olur, yok sıkıntı çıkartmazsa bu şekilde kalır.
v1'de bu tur ozel degerleri dynamic olarak (kutuphaneyi guncellemeye gerek kalmadan) eklenebilinecek.
Bu yuzden stability sorunu olusmaz. Ornek:
https://github.com/mewebstudio/pos/blob/refactoring-08/examples/_common-codes/3d/form.php#L58-L74
Güzel geliştirme elinize sağlık, ben yinede denemek istiyorum frokladığım projede deneyip bir süre callbackUrl === failUrl olarak kullanacağım dilerseniz sizede bilgi veririm. Şimdilik yapacak bişi kalmadı görüşmek üzere ilginiz için teşekkürler.
evet bilgi verirseniz sevinirim, nasil bir veri gonderdiklerini merak ediyorum.
Yaptığım işlemleri ve gelen verileri adım adım iletiyorum.
expose.dev üzerinden bir live server kurdum.
mews/pos kurulumunu yaptım.
akbank (ESTv3) konfigürasyonunu yaptım.
fail ve success urllere aşağıdaki iki urli atadım.
'success_url' => 'https://zfnxulyr5i.sharedwithexpose.com/ok.php', 'fail_url' => https://zfnxulyr5i.sharedwithexpose.com/fail.php',
vendor\mews\pos\src\DataMapper\EstV3PosRequestDataMapper.php dosyasındaki create3DFormData methoduna aşağıdaki eklemeyi yaptım
$data['inputs']['callbackUrl'] = 'https://zfnxulyr5i.sharedwithexpose.com/callback.php';
3D sayfasına gittim Yes butonuna basıp tarayıcıyı kapadım, tekrarladım No butonuna basarak 3-4 kez tekrarladım ve expose ekranından callbacke gelecek verileri takip ettim.
Aldığım yanıtlar şu şekilde Başarılı işlem : $postParameters = [ 'TranType' => 'Auth', 'mdErrorMsg' => 'Y-status/Challenge authentication via ACS: https://3ds-acs.test.modirum.com/mdpayacs/creq;token=285795591.1699467309._SD6LWcUpcH', 'Email' => 'mail@customer.com', 'clientid' => '700655000200', 'Ecom_Payment_Card_ExpDate_Year' => '26', 'EXTRA_HOSTDATE' => '1108-211515', 'eci' => '05', 'EXTRA_MERCHANTID' => '655000200', 'merchantName' => 'İşbank 3d_pay Store', 'PAResSyntaxOK' => 'true', 'xid' => 'LVYh/MzhC/7NFHAmvHZ5yaLnbD4=', 'md' => '454671:F08524A0B3C4AE53269BF833C353CB09A98078AA3D64DD463A5FA98B7E537208:4014:##700655000200', 'callbackUrl' => 'https://zfnxulyr5i.sharedwithexpose.com/callback.php', 'HostRefNum' => '331200739550', 'maskedCreditCard' => '4546 71 ** 7894', 'dsId' => '1', 'rnd' => 'zh/G2AnBFzH0864gjS2k', 'encoding' => 'ISO-8859-9', 'version' => '2.0', 'HASH' => '8vuyPVytrNuoZYvJMeWG4sKCLH62+JvzEgEcbMKsqLDMsG1sV1JNKgq2EuJeVCUSbL1KhMo+nj4jGYSqlvGbOg==', 'cavv' => 'ABABAEg5kwAAAABllJMSdVWUGZE=', 'EXTRA_AVSAPPROVE' => 'Y', 'txstatus' => 'Y', 'SettleId' => '2647', 'okUrl' => 'https://zfnxulyr5i.sharedwithexpose.com/ok.php', 'firmaadi' => 'John Doe', 'EXTRA_TERMINALID' => '00655020', 'ErrMsg' => '', 'Ecom_Payment_Card_ExpDate_Month' => '12', 'failUrl' => 'https://zfnxulyr5i.sharedwithexpose.com/fail.php', 'oid' => '1699467299', 'ProcReturnCode' => '00', 'sID' => '1', 'PAResVerified' => 'true', 'ACQBIN' => '406456', 'digest' => 'digest', 'MaskedPan' => '454671***7894', 'currency' => '949', 'callbackCall' => 'true', 'lang' => 'tr', 'TransId' => '23312VPOH10152', 'EXTRA_CARDISSUER' => 'ZİRAAT BANKASI', 'amount' => '1.01', 'AuthCode' => 'P50847', 'payResults_dsId' => '1', 'mdStatus' => '1', 'EXTRA_CARDBRAND' => 'VISA', 'ReturnOid' => '1699467299', 'Response' => 'Approved', 'acqStan' => '739550', 'EXTRA_TRXDATE' => '20231108 21:15:14', 'storetype' => '3d_pay_hosting', 'merchantID' => '700655000200', 'clientIp' => '212.154.94.36', 'EXTRA_AVSERRORCODEDETAIL' => 'avshatali-avshatali-avshatali-avshatali-', 'taksit' => '', 'hashAlgorithm' => 'ver3', 'TRANID' => '', 'NATIONALIDNO' => ' ', ];
Hatalı işlem: $postParameters = [ 'mdErrorMsg' => 'Guvenlik Kodu hatali.', 'clientid' => '700655000200', 'Email' => 'mail@customer.com', 'Ecom_Payment_Card_ExpDate_Year' => '26', 'ErrMsg' => 'Guvenlik Kodu hatali.', 'Ecom_Payment_Card_ExpDate_Month' => '12', 'failUrl' => 'https://zfnxulyr5i.sharedwithexpose.com/fail.php', 'oid' => '1699467027', 'ProcReturnCode' => '99', 'merchantName' => 'İşbank 3d_pay Store', 'xid' => '3XuvyGRbQ6Vzz8vm+ZOvmd/+Ay0=', 'currency' => '949', 'callbackUrl' => 'https://zfnxulyr5i.sharedwithexpose.com/callback.php', 'MaskedPan' => '454671*7894', 'callbackCall' => 'true', 'lang' => 'tr', 'HASHPARAMS' => 'clientid:oid:rnd:', 'amount' => '1.01', 'maskedCreditCard' => '4546 71 **** 7894', 'mdStatus' => '7', 'rnd' => 'p53APJWHf8nEWilbSdBs', 'encoding' => 'ISO-8859-9', 'ErrCode' => '3D-1004', 'HASH' => 'bnuFNpc1jKDPSRfdWIitoalkmrc=', 'Response' => 'Error', 'islemtipi' => 'Auth', 'HASHPARAMSVAL' => '7006550002001699467027p53APJWHf8nEWilbSdBs', 'storetype' => '3d_pay_hosting', 'clientIp' => '212.154.94.36', 'taksit' => '', 'okUrl' => 'https://zfnxulyr5i.sharedwithexpose.com/ok.php', 'firmaadi' => 'John Doe', 'NATIONALIDNO' => ' ', ];
Bu işlemler sonucu callbackUrl === failUrl
tezimizin yapılabileceğini düşünüyorum sizin fikriniz nedir ?
@nuryagdym
@nuryagdym Deneme şansınız oldumu acaba ?
@FikretCin maalesef hayir, ama bu hafta yuksek ihtimalle bakarim.
Anlattiginiza bakilirsa callbackUrl === failUrl
yapmak mantikli olur, ve v1'i release beklemeden, bu hafta bir guncelleme cikarim
İlginiz için teşekkürler sabırsızlıkla bekliyorum
Merhabalar, guncellemeleri yaptim 0.16.0 versiyon olarak ciktim
Teşekkürler ellerinize sağlık
@FikretCin callbackUrl'in eklenmesi baskalar icin sorun olusturmaya basladi: https://github.com/mewebstudio/pos/issues/176
yeni bir guncellemeyle callbackUrl
ve refreshTime
bilgileri kaldirmayi dusunuyorum.
v1.0.0'da bunu isteyen kendisi ekleyebilir, v1'i Nisan ayina kadar yayina alirim diye dusunuyorum
Merhabalar;
Akbank 3D pay hosting kullanımında kullanıcı 3D sayfasına çıktıktan sonra şifre onayını verince yada vazgeçince fail yada ok urle nadirde olsa herhangi bir bildirim gelmiyor ve işlem yarıda kalıyor. Sorun tüm kullanıcılarda yaşanmasada yaklaşık 100 ödemede 1 yaşanmaktadır. Akbanka ticket açıp sorunu anlattık düzeltmemizi istedikleri noktayı belirttiler.
Akbank Gateway ile istek gönderirken okUrl ve failUrl e ek olarak callbackurl eklememizi istediler.
ilgili dökümanıda ekte iletiyorum
Nestpay_Entegrasyon_Dokumani_3D_PayHosting.pdf