mirror of
https://github.com/mewebstudio/pos.git
synced 2026-04-26 09:55:52 +03:00
[GH-ISSUE #165] Akbank 3D Pay Hosting callbackUrl Hk. #85
Labels
No labels
PayFlexV4
TROY
akbankpos
bug
duplicate
enhancement
garanti
help wanted
isbank
kuveyt
payten
posnet
pull-request
vakifbank
ziraat
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/pos#85
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @FikretCin on GitHub (Nov 2, 2023).
Original GitHub issue: https://github.com/mewebstudio/pos/issues/165
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
@nuryagdym commented on GitHub (Nov 2, 2023):
Merhabalar,
callbackUrl === failUrlolacak 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.
@FikretCin commented on GitHub (Nov 2, 2023):
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
@FikretCin commented on GitHub (Nov 3, 2023):
Sha512 versiyonunu da rica ettim ilettiler.
Hash_Versiyon_3_Dökümantasyon.pdf
@nuryagdym commented on GitHub (Nov 4, 2023):
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?
@FikretCin commented on GitHub (Nov 5, 2023):
Akbank a sorup size dönüş yapayım.
@FikretCin commented on GitHub (Nov 6, 2023):
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.
@nuryagdym commented on GitHub (Nov 7, 2023):
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.
@FikretCin commented on GitHub (Nov 7, 2023):
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.
@nuryagdym commented on GitHub (Nov 7, 2023):
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
@FikretCin commented on GitHub (Nov 7, 2023):
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.
@nuryagdym commented on GitHub (Nov 7, 2023):
evet bilgi verirseniz sevinirim, nasil bir veri gonderdiklerini merak ediyorum.
@FikretCin commented on GitHub (Nov 8, 2023):
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 === failUrltezimizin yapılabileceğini düşünüyorum sizin fikriniz nedir ?@nuryagdym
@FikretCin commented on GitHub (Nov 13, 2023):
@nuryagdym Deneme şansınız oldumu acaba ?
@nuryagdym commented on GitHub (Nov 13, 2023):
@FikretCin maalesef hayir, ama bu hafta yuksek ihtimalle bakarim.
Anlattiginiza bakilirsa
callbackUrl === failUrlyapmak mantikli olur, ve v1'i release beklemeden, bu hafta bir guncelleme cikarim@FikretCin commented on GitHub (Nov 14, 2023):
İlginiz için teşekkürler sabırsızlıkla bekliyorum
@nuryagdym commented on GitHub (Nov 20, 2023):
Merhabalar, guncellemeleri yaptim 0.16.0 versiyon olarak ciktim
@FikretCin commented on GitHub (Nov 20, 2023):
Teşekkürler ellerinize sağlık
@nuryagdym commented on GitHub (Feb 27, 2024):
@FikretCin callbackUrl'in eklenmesi baskalar icin sorun olusturmaya basladi:
https://github.com/mewebstudio/pos/issues/176
yeni bir guncellemeyle
callbackUrlverefreshTimebilgileri kaldirmayi dusunuyorum.v1.0.0'da bunu isteyen kendisi ekleyebilir, v1'i Nisan ayina kadar yayina alirim diye dusunuyorum