[GH-ISSUE #269] KuveytPos ödeme miktarı tutarı uyuşmuyor #144

Closed
opened 2026-03-03 15:43:29 +03:00 by kerem · 9 comments
Owner

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

  • Bu konuda zaten bir hata bildirimi olmadığından eminim.
  • Hatayı yeniden oluşturmak için gereken detayları ekledim.
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 - [x] Bu konuda zaten bir hata bildirimi olmadığından eminim. - [x] Hatayı yeniden oluşturmak için gereken detayları ekledim.
kerem 2026-03-03 15:43:29 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@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.

<!-- gh-comment-id:2817874126 --> @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.
Author
Owner

@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

<!-- gh-comment-id:2817882451 --> @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](https://github.com/user-attachments/files/19831264/3D-Secure-Model-Kurulum-Dokumani.pdf) elimde olan güncel döküman
Author
Owner

@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ı.

<!-- gh-comment-id:2818883287 --> @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ı.
Author
Owner

@mhmtpacal commented on GitHub (Apr 21, 2025):

Şuanda ben aktif olarak kullanıyorum bu şekilde bir hata almadım, daha detaylı bakacağım

<!-- gh-comment-id:2819033048 --> @mhmtpacal commented on GitHub (Apr 21, 2025): Şuanda ben aktif olarak kullanıyorum bu şekilde bir hata almadım, daha detaylı bakacağım
Author
Owner

@nuryagdym commented on GitHub (Apr 21, 2025):

Tesekkurler @themelogy.
DisplayAmount degeri 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 Amount degeri integer olmasi gerekiyor.

Burda urldecode satirdan sonra gelen XML string veriyi kontrol eder misin, orda da flaot mi degerler?

Bunlarin gonderdigi float deger yuzunde hash fail ediyorsa sistemlerinde ciddi bir sorun var.

<!-- gh-comment-id:2819239657 --> @nuryagdym commented on GitHub (Apr 21, 2025): Tesekkurler @themelogy. `DisplayAmount` degeri 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 `Amount` degeri integer olmasi gerekiyor. Burda `urldecode` satirdan sonra gelen XML string veriyi kontrol eder misin, orda da flaot mi degerler? Bunlarin gonderdigi `float` deger yuzunde hash fail ediyorsa sistemlerinde ciddi bir sorun var.
Author
Owner

@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.

<!-- gh-comment-id:2819347177 --> @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.
Author
Owner

@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.

<!-- gh-comment-id:2820237157 --> @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: https://github.com/mewebstudio/pos/blob/9b6438f32eb22be1cde394f2a4d64518f454175d/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.
Author
Owner

@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.

<!-- gh-comment-id:2820532845 --> @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.
Author
Owner

@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.

<!-- gh-comment-id:2838612301 --> @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.
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#144
No description provided.