Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Akbank-Pos : Amount Alanı patterne uymuyor hatası #249

Closed
3 tasks done
semihyilmaz opened this issue Oct 28, 2024 · 10 comments · Fixed by #266
Closed
3 tasks done

Akbank-Pos : Amount Alanı patterne uymuyor hatası #249

semihyilmaz opened this issue Oct 28, 2024 · 10 comments · Fixed by #266
Labels
akbankpos bug Something isn't working

Comments

@semihyilmaz
Copy link

Information Description
Kütüphane versiyonu 1.4.2
Gateway ismi Akbank-Pos
Banka ismi Akbank

Sorunuz

Mevcut tüm bankalarda sorun yok. Sadece yeni Akbank Pos'ta bu dönüşü alıyorum.

{"txnCode":"3000","responseCode":null,"responseMessage":"VPS-3001 - amount alan\u0131 patterne uymamaktad\u0131r.","merchantSafeId":null,"terminalSafeId":null,"hashParams":null,"hash":null}

Sabit amount göndermeme rağmen durum bu. Daha önce yaşayan oldu mu?

Göndermeden önce kontroller

  • Bu konuda zaten bir hata bildirimi olmadığından emin olun. Bakınız: hata bildirimleri
  • Dökümantasyonu okudum, araştırdım ve konuyla ilgili bilgileri bulamadım. dökümantasyon
  • İlgili örnek kodları kontrol ettim ve konuyla ilgili bilgileri bulamadım. örnek kodlar
@semihyilmaz
Copy link
Author

Tutarı (float) $amount verdiğim içinmiş. Bilgilerinize.

@nuryagdym
Copy link
Collaborator

@semihyilmaz sorunu sebebini anlamadim. Dokumantsayonlarina gore zaten float bekliyorlar:
https://sanalpos-prep.akbank.com/#requestResponseMessageParams

float verilmesi sorunsa, kutuphanede duzeltilmesi gerekiyor, dokumantasyonlarini guncellemeleri gerekiyor.

Ben en son denedigimde bu tarz sorun yoktu.

@semihyilmaz
Copy link
Author

@nuryagdym Diğer bankalarda ve hali hazırda,ben kendi order[] kodum içerisinde (float) tip dönüşümü yapıyordum.
Akbank-Pos için düzenlemeye gittiğimde bu kısma kızıp, belirttiğim uyarıyı veriyormuş. Ben kendi order[] içerisinde (float) dönüşümümü kaldırdığımda sorun çözüldü.

@nuryagdym
Copy link
Collaborator

nuryagdym commented Oct 28, 2024

kodunda nasil bilmiyorum ama $order['amount'] = 14.99; // ya da 10.0 calismazi lazim.

Farkli gatewayler icin de aynisi gecerli olmasi gerekiyor. Butun bankalarda icin $order['amount'] float olarak tanimlanmasi gerekiyor.

@semihyilmaz
Copy link
Author

$amount=$request->amount;
'amount'=>(float)number_format($amount,2,'.',''), //ui tarafından gelen binlik ayraçları engelliyorum 1.004,03 'ü => 1004,03

@nuryagdym
Copy link
Collaborator

nuryagdym commented Oct 28, 2024

neyse, kutuphane sorunu degil bu.
ayrica bu islem hata verir:

$amount = '1.004,03';
number_format($amount, 2, '.', '');

number_formatin ilk paramtresi float olmasi gerekiyor:
https://www.php.net/manual/en/function.number-format.php

Kutuphane icin ise $order['amount'] = 1004.03; deger olmasi gerekiyor.

@sekizlipenguen
Copy link

@nuryagdym söyle bir olay var 5 yazınca float ya da double 5.0 çektiği için sorun yaşıyoruz. number_format($data['totalPrice'], 2, '.', '') ise direk 5 tl 5.00 string haline getirdiği için akbank-pos bu doğru gidiyor. order hazırlarken 'amount' => number_format($data['totalPrice'], 2, '.', ''), şeklinde hazırlamak sorunu çözüyor kısaca.

@nuryagdym nuryagdym reopened this Feb 18, 2025
@nuryagdym
Copy link
Collaborator

Sorunu buldum, 5 yada 5.0'i 5.00 olarak gondermemiz gerekiyor. Testlerimde hep 10.01 sekilde sayi gonderdigimden bu sorun ile karsilasmamisim.

@nuryagdym nuryagdym added bug Something isn't working akbankpos labels Feb 18, 2025
@nuryagdym nuryagdym linked a pull request Feb 18, 2025 that will close this issue
nuryagdym added a commit that referenced this issue Feb 18, 2025
…patterne-uymuyor-hatasi

fix issue #249 - AkbankPos invalid amount pattern
@nuryagdym
Copy link
Collaborator

master branch'de sorun giderildi. v1.6.0 ile yayina alinacak.

amount degeri icin her zamanki gibi float bir deger kullanabileceksiniz.

$order['amount'] = 10.0; // ya da 10

@sekizlipenguen
Copy link

sekizlipenguen commented Feb 18, 2025 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
akbankpos bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants