mirror of
https://github.com/mewebstudio/pos.git
synced 2026-04-26 09:55:52 +03:00
[GH-ISSUE #269] KuveytPos ödeme miktarı tutarı uyuşmuyor #144
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#144
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 @themelogy on GitHub (Apr 21, 2025).
Original GitHub issue: https://github.com/mewebstudio/pos/issues/269
Hatanın özeti
Test ortamında 574.00 tutarlı bir bedel ödemesi gönderdiğimde 3D doğrulama ekranında 5740.00 TL olarak görünmeye başladı. Geçen hafta bir güncellemede yaptılar sanırım.
Banka ismi
Kuveyt
Gateway PHP sınıfı
KuveytPos
İşlem Tipi
MODEL_3D_SECURE ödeme
Kütüphane versiyonu
No response
Checks
@nuryagdym commented on GitHub (Apr 21, 2025):
Merhabalar,
Elinizde guncel KuveytPos dokumantasyonu varsa paylasir misiniz?
547.00 -> 54700.00 olark gozukmesini anlarim ama 547.00 -> 5470.00 olarak gozukmesi mantikli gelmiyor.
@themelogy commented on GitHub (Apr 21, 2025):
Evet banada mantıklı gelmiyor bu yüzden Kuveyt Bankasına bu konuda talepde bulundum. Cevap bekliyorum.
3D-Secure-Model-Kurulum-Dokumani.pdf elimde olan güncel döküman
@themelogy commented on GitHub (Apr 21, 2025):
Ödeme isteği yaptıktan sonra 3D doğrulama ekranında 5470.00 olarak görünüyor. Bu durumu kendilerine ilettim ve benden request/response göndermemi istediler. Gönderdim ve cevap bekliyorum.
Ödeme isteği başlatılırken giden değerler amount: 54700 displayAmount: 54700 olarak görünüyor. 3D doğrulama yaptıktan sonra dönen değerlerde amount: 54700.0 ve displayAmount: 54700.0 olarak geliyor. Bu durum otorizasyon hatasına da yol açıyor. Bu sebeple bir yerde değişiklik yapınca otorizasyona onay verdi. Değişiklikler şöyle:
KuveytPosRequestDataMapper.php (96-97)
'Amount' => $responseData['VPosMessage']['Amount'], 'DisplayAmount' => $responseData['VPosMessage']['Amount'],'Amount' => intval($responseData['VPosMessage']['Amount']), 'DisplayAmount' => intval($responseData['VPosMessage']['Amount']),bu şekilde bir ekleme yaptım ve hash hatası artık kalmadı.
@mhmtpacal commented on GitHub (Apr 21, 2025):
Şuanda ben aktif olarak kullanıyorum bu şekilde bir hata almadım, daha detaylı bakacağım
@nuryagdym commented on GitHub (Apr 21, 2025):
Tesekkurler @themelogy.
DisplayAmountdegeri ne tam olarak degeri nasil olmasi gerektigini bilmiyorum. Eger Amount ile ayni olmasi gerekiyorsa niye 2 tane deger istemisler, ayni degilse ne farki olacagi hakkinda dokumantasyonlarinda bilgi vermemisler.Response'da float deger gelmesi sacmalik. Dokumantasyonlarina gore
Amountdegeri integer olmasi gerekiyor.Burda
urldecodesatirdan sonra gelen XML string veriyi kontrol eder misin, orda da flaot mi degerler?Bunlarin gonderdigi
floatdeger yuzunde hash fail ediyorsa sistemlerinde ciddi bir sorun var.@themelogy commented on GitHub (Apr 21, 2025):
Rica ederim @nuryagdym
Bu durum test modunda aldığım bir durum. Live mode için test etmedim. Belki live modda çalışıyor olabilir.
@nuryagdym commented on GitHub (Apr 22, 2025):
Kuveytpos'da 3D form verisini olusturmak icin bankaya istek gonderiyoruz. Donen cevap form icni HTML string.
Diger API'larla ayni olsun diye HTML string parse edip array'e donusturuyorum. Bu zamana kadar bu duzgun calisiyordu.
Kod burda:
github.com/mewebstudio/pos@9b6438f32e/src/Serializer/KuveytPosSerializer.php (L87)Bu parser kodda 574.0 -> 5740.0 donusturecek bir kod bulamadim. Yani bu parse buna sebep mi degil mi emin degilim.
@themelogy commented on GitHub (Apr 22, 2025):
@nuryagdym kodlarda bir sorun yok. Sorun Kuveyt Bankasının test modunda 3d doğrulamadan sonra gönderdiği bilgilerde 5740.0 olarak göndermesidir.
@themelogy commented on GitHub (Apr 29, 2025):
Kuveyt Bankası cevap:
İlgili sorunu inceledik. Test kart özelinde gerçekleşen bir durumdur. Normal şartlarda 100 ile çarpılarak kullanılan amount parametresi acs ekranında 10 ile çarpılmış gibi gösteriliyor. Ancak işlemin son durumunda XML içerisinde gönderdiğiniz tutar ile işlem gerçekleşmektedir. Prod ortamda böyle bir sorun mevcut değildir.
ACS ekranı kart bankası ve BKM tarafı tarafından yönetildiği için incelemelerimiz devam etmektedir. İşlemin gerçek tutar ile tamamlandığını test işlemini tamamlayarak görebilirsiniz.