[GH-ISSUE #261] Merhaba güncel main branch ile compose ettiğim lib de farklılık var. #139

Closed
opened 2026-03-03 15:43:26 +03:00 by kerem · 7 comments
Owner

Originally created by @hasirciogluhq on GitHub (Jan 25, 2025).
Original GitHub issue: https://github.com/mewebstudio/pos/issues/261

Information Description
Kütüphane versiyonu
Gateway ismi
Banka ismi

Sorunuz

Merhaba;
public function get3DFormData(array $order, string $paymentModel, string $txType, ?CreditCardInterface $creditCard = null, bool $createWithoutCard = true): array;

bu tanımlama main branchdan clone ettiğim kod ile composer kendi php projeme implement ettiğim kod arasında fark var.

  1. resim güncel repo. takiben 2 ve 3 benim implement ettiklerim (composer install ile)

Image

Image

Image

(doldurunuz)

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
Originally created by @hasirciogluhq on GitHub (Jan 25, 2025). Original GitHub issue: https://github.com/mewebstudio/pos/issues/261 | Information | Description | |--------------|---------| | Kütüphane versiyonu | | | Gateway ismi| | | Banka ismi| | ## Sorunuz Merhaba; public function get3DFormData(array $order, string $paymentModel, string $txType, ?CreditCardInterface $creditCard = null, bool $createWithoutCard = true): array; bu tanımlama main branchdan clone ettiğim kod ile composer kendi php projeme implement ettiğim kod arasında fark var. 1. resim güncel repo. takiben 2 ve 3 benim implement ettiklerim (composer install ile) ![Image](https://github.com/user-attachments/assets/6e3686b9-a683-4eed-822d-aa011e6bf1ad) ![Image](https://github.com/user-attachments/assets/0c1c8f0a-9590-4cf6-97d5-3656e8a17f89) ![Image](https://github.com/user-attachments/assets/6e835023-a660-476b-a69a-7b638e899417) _(doldurunuz)_ ## Göndermeden önce kontroller * [ ] Bu konuda zaten bir hata bildirimi olmadığından emin olun. Bakınız: [hata bildirimleri](https://github.com/mewebstudio/pos/issues) * [ ] Dökümantasyonu okudum, araştırdım ve konuyla ilgili bilgileri bulamadım. [dökümantasyon](https://github.com/mewebstudio/pos/blob/master/README.md) * [ ] İlgili örnek kodları kontrol ettim ve konuyla ilgili bilgileri bulamadım. [örnek kodlar](https://github.com/mewebstudio/pos/tree/master/examples)
kerem closed this issue 2026-03-03 15:43:26 +03:00
Author
Owner

@nuryagdym commented on GitHub (Jan 25, 2025):

Merhabalar, bir sonraki versiyonda bu parametre eklenecek, guncel dokumantasyona bakarak ilerleyebilirsiniz.
Iki turlu de sorunsuz calisir.

<!-- gh-comment-id:2613845501 --> @nuryagdym commented on GitHub (Jan 25, 2025): Merhabalar, bir sonraki versiyonda bu parametre eklenecek, guncel dokumantasyona bakarak ilerleyebilirsiniz. Iki turlu de sorunsuz calisir.
Author
Owner

@hasirciogluhq commented on GitHub (Jan 25, 2025):

Teşekkür ederim sizin paylaştığınız main repo da hata yok test modunda çalışıyor. Kendi bilgilermi eklediğim zaman TDS_SYSTEM_ERROR alıyorum hiçbir açıklaması yok sizce bu neden olmuş olabilir ? (Gereken parametreler doğru) ek oalrak 2 farklı proje kurdum tekrar kod yazdım yok hepsinde TDS_SYSTEM_err... alıyorum.

<!-- gh-comment-id:2613866820 --> @hasirciogluhq commented on GitHub (Jan 25, 2025): Teşekkür ederim sizin paylaştığınız main repo da hata yok test modunda çalışıyor. Kendi bilgilermi eklediğim zaman TDS_SYSTEM_ERROR alıyorum hiçbir açıklaması yok sizce bu neden olmuş olabilir ? (Gereken parametreler doğru) ek oalrak 2 farklı proje kurdum tekrar kod yazdım yok hepsinde TDS_SYSTEM_err... alıyorum.
Author
Owner

@nuryagdym commented on GitHub (Jan 25, 2025):

bilemedim, debug edilmesi gerekiyor.

Anladigim kadariyla KuveytPos ile 3D secure odemeye yapmaya calisiyorsun.
Bu satirin altinda:
github.com/mewebstudio/pos@a1c744b28d/src/Gateways/KuveytPos.php (L250)

response icerigini $response->getBody()->getContents(); paylasir misin. Epostama iletsen de olur.

<!-- gh-comment-id:2613943231 --> @nuryagdym commented on GitHub (Jan 25, 2025): bilemedim, debug edilmesi gerekiyor. Anladigim kadariyla KuveytPos ile 3D secure odemeye yapmaya calisiyorsun. Bu satirin altinda: https://github.com/mewebstudio/pos/blob/a1c744b28d4bea9f5d4094ceb93ffc2f909084da/src/Gateways/KuveytPos.php#L250 response icerigini `$response->getBody()->getContents();` paylasir misin. Epostama iletsen de olur.
Author
Owner

@hasirciogluhq commented on GitHub (Jan 25, 2025):

Tabiki, Eposta yanıtlayınca issue hem de size mail geliyor zaten.

İsteğiniz kısmın htmlspecailchars(xx) şeklinde çıktısı;

bu kısımda bir hata gözükmüyor. 3d den dönünce hata olarak dönüyor.

Image

<!DOCTYPE html SYSTEM 'about:legacy-compat'>
<html class='no-js' lang='en' xmlns='http://www.w3.org/1999/xhtml'>
  <head>
    <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
    <meta charset='utf-8'/>
    <title>3D Secure Processing</title>
  </head>
  <body>
    <div id='main'>
      <div id='content'>
        <div id='order' style='text-align: center;'>
          <img src='https://emvtds.bkm.com.tr/static/img/preloader.gif' alt='Please wait..'/>
          <div id='formdiv'>
            <script type='text/javascript'>
              function hideAndSubmitTimed(formid) {
                var timer = setTimeout(function() { hideAndSubmit(formid) }, 10);
              }

              function hideAndSubmit(formid) {
                var formx = document.getElementById(formid);
                if (formx != null) {
                  formx.style.visibility = 'hidden';
                  formx.submit();
                }
              }
            </script>
            <div>
              <form id='threeDSServerWebFlowStartForm' name='threeDSServerWebFlowStartForm' method='POST' action='https://emvtds.bkm.com.tr/tds/resultFlow'>
                <input type='hidden' name='threeDSServerWebFlowStart' value='eyJhbGciOiJIUzI1NiJ9.ewogICJ0aHJlZURTU2VydmVyV2ViRmxvd1N0YXJ0IiA6IHsKICAgICJhY3F1aXJlcklEIiA6ICIyMDUiLAogICAgInRocmVlRFNTZXJ2ZXJUcmFuc0lEIiA6ICIzZDI1ZTYxNi1mODY2LTQzMjctYTJmOC1hMTk5YmRmZjVjYzAiLAogICAgInRocmVlRFNSZXF1ZXN0b3JUcmFuc0lEIiA6ICJmN2QwNjZmYy1iYmZhLTQ5OWMtYTYzMS01YjllNWJhZWM1OTYiLAogICAgInRpbWVab25lIiA6ICJVVEMrMDM6MDAiLAogICAgInRpbWVTdGFtcCIgOiAiMjAyNTAxMjUxNTI2MzciLAogICAgInZlcnNpb24iIDogIjEuMS4wIgogIH0KfQ.kYqpKAYDHTE1hXiNDTeIEMJzcTyh9Fxe1b5jhvYJIMA'/>
                <input type='hidden' name='browserColorDepth' value=''/>
                <input type='hidden' name='browserScreenHeight' value=''/>
                <input type='hidden' name='browserScreenWidth' value=''/>
                <input type='hidden' name='browserTZ' value=''/>
                <input type='hidden' name='browserJavascriptEnabled' value=''/>
                <input type='hidden' name='browserJavaEnabled' value=''/>
                <input type='hidden' name='browserLanguage' value=''/>
                <script type='text/javascript'>
                  hideAndSubmitTimed('threeDSServerWebFlowStartForm');
                </script>
                <script type='text/javascript'>
                  function collectBrowserInformation(formid) {
                    var form = document.getElementById(formid);
                    if (form != null) {
                      if (form['browserJavascriptEnabled'] != null) {
                        // if this script runs js is enabled
                        form['browserJavascriptEnabled'].value = "true";
                      }
                      if (form['browserJavaEnabled'] != null) {
                        form['browserJavaEnabled'].value = navigator.javaEnabled();
                      }
                      if (form['browserColorDepth'] != null) {
                        form['browserColorDepth'].value = screen.colorDepth;
                      }
                      if (form['browserScreenHeight'] != null) {
                        form['browserScreenHeight'].value = screen.height;
                      }
                      if (form['browserScreenWidth'] != null) {
                        form['browserScreenWidth'].value = screen.width;
                      }
                      var timezoneOffsetField = form['browserTZ'];
                      if (timezoneOffsetField != null) {
                        timezoneOffsetField.value = new Date().getTimezoneOffset();
                      }
                      if (form['browserLanguage'] != null) {
                        form['browserLanguage'].value = navigator.language;
                      }
                    }
                  }
                  collectBrowserInformation('threeDSServerWebFlowStartForm');
                </script>
                <noscript>
                  <div align='center'>
                    <b>Javascript is turned off or not supported!</b> <br/>
                  </div>
                </noscript>
                <input type='submit' name='submitBtn' value='Please click here to continue'/>
              </form>
            </div>
          </div>
        </div>
        <div id='content-footer'>
          <br/>
        </div>
      </div>
    </div>
  </body>
</html>
<!-- gh-comment-id:2613950927 --> @hasirciogluhq commented on GitHub (Jan 25, 2025): Tabiki, Eposta yanıtlayınca issue hem de size mail geliyor zaten. İsteğiniz kısmın htmlspecailchars(xx) şeklinde çıktısı; **bu kısımda bir hata gözükmüyor. 3d den dönünce hata olarak dönüyor.** ![Image](https://github.com/user-attachments/assets/afb63a85-6b91-4460-b0a8-3fb89a800655) ```html <!DOCTYPE html SYSTEM 'about:legacy-compat'> <html class='no-js' lang='en' xmlns='http://www.w3.org/1999/xhtml'> <head> <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/> <meta charset='utf-8'/> <title>3D Secure Processing</title> </head> <body> <div id='main'> <div id='content'> <div id='order' style='text-align: center;'> <img src='https://emvtds.bkm.com.tr/static/img/preloader.gif' alt='Please wait..'/> <div id='formdiv'> <script type='text/javascript'> function hideAndSubmitTimed(formid) { var timer = setTimeout(function() { hideAndSubmit(formid) }, 10); } function hideAndSubmit(formid) { var formx = document.getElementById(formid); if (formx != null) { formx.style.visibility = 'hidden'; formx.submit(); } } </script> <div> <form id='threeDSServerWebFlowStartForm' name='threeDSServerWebFlowStartForm' method='POST' action='https://emvtds.bkm.com.tr/tds/resultFlow'> <input type='hidden' name='threeDSServerWebFlowStart' value='eyJhbGciOiJIUzI1NiJ9.ewogICJ0aHJlZURTU2VydmVyV2ViRmxvd1N0YXJ0IiA6IHsKICAgICJhY3F1aXJlcklEIiA6ICIyMDUiLAogICAgInRocmVlRFNTZXJ2ZXJUcmFuc0lEIiA6ICIzZDI1ZTYxNi1mODY2LTQzMjctYTJmOC1hMTk5YmRmZjVjYzAiLAogICAgInRocmVlRFNSZXF1ZXN0b3JUcmFuc0lEIiA6ICJmN2QwNjZmYy1iYmZhLTQ5OWMtYTYzMS01YjllNWJhZWM1OTYiLAogICAgInRpbWVab25lIiA6ICJVVEMrMDM6MDAiLAogICAgInRpbWVTdGFtcCIgOiAiMjAyNTAxMjUxNTI2MzciLAogICAgInZlcnNpb24iIDogIjEuMS4wIgogIH0KfQ.kYqpKAYDHTE1hXiNDTeIEMJzcTyh9Fxe1b5jhvYJIMA'/> <input type='hidden' name='browserColorDepth' value=''/> <input type='hidden' name='browserScreenHeight' value=''/> <input type='hidden' name='browserScreenWidth' value=''/> <input type='hidden' name='browserTZ' value=''/> <input type='hidden' name='browserJavascriptEnabled' value=''/> <input type='hidden' name='browserJavaEnabled' value=''/> <input type='hidden' name='browserLanguage' value=''/> <script type='text/javascript'> hideAndSubmitTimed('threeDSServerWebFlowStartForm'); </script> <script type='text/javascript'> function collectBrowserInformation(formid) { var form = document.getElementById(formid); if (form != null) { if (form['browserJavascriptEnabled'] != null) { // if this script runs js is enabled form['browserJavascriptEnabled'].value = "true"; } if (form['browserJavaEnabled'] != null) { form['browserJavaEnabled'].value = navigator.javaEnabled(); } if (form['browserColorDepth'] != null) { form['browserColorDepth'].value = screen.colorDepth; } if (form['browserScreenHeight'] != null) { form['browserScreenHeight'].value = screen.height; } if (form['browserScreenWidth'] != null) { form['browserScreenWidth'].value = screen.width; } var timezoneOffsetField = form['browserTZ']; if (timezoneOffsetField != null) { timezoneOffsetField.value = new Date().getTimezoneOffset(); } if (form['browserLanguage'] != null) { form['browserLanguage'].value = navigator.language; } } } collectBrowserInformation('threeDSServerWebFlowStartForm'); </script> <noscript> <div align='center'> <b>Javascript is turned off or not supported!</b> <br/> </div> </noscript> <input type='submit' name='submitBtn' value='Please click here to continue'/> </form> </div> </div> </div> <div id='content-footer'> <br/> </div> </div> </div> </body> </html> ```
Author
Owner

@nuryagdym commented on GitHub (Jan 25, 2025):

Bu asamada sorun yok gibi, eskiden bu asamada TDS_SYSTEM_ERROR hatasi olusmustu.

ayni yerde, bir sonraki istekte banktan bu hata geliyordur.
TDS_SYSTEM_ERROR hatanin goruntusunu, varsa exception stack trace'ni paylasir misin.
$_POST icinde bilgileri bankadan geldiyse onlari da.

<!-- gh-comment-id:2613972246 --> @nuryagdym commented on GitHub (Jan 25, 2025): Bu asamada sorun yok gibi, eskiden bu asamada TDS_SYSTEM_ERROR hatasi olusmustu. ayni yerde, bir sonraki istekte banktan bu hata geliyordur. TDS_SYSTEM_ERROR hatanin goruntusunu, varsa exception stack trace'ni paylasir misin. $_POST icinde bilgileri bankadan geldiyse onlari da.
Author
Owner

@nuryagdym commented on GitHub (Jan 25, 2025):

Son 2 log satirindan anladigim kadariyla, 3D dogrulama asamasinda hata olusuyor.
Eger bu kod test ortamda calisiyorsa banka sorman gerekiyor. Kodda hata goremedim.

Bankadan AuthenticationResponse response'u

    "ResponseCode": "888",
    "ResponseMessage": "TDS_SYSTEM_ERROR",

hata ile donuyor. Siparis id'ni (236241712) belirterek bankaya sorar misin.

Paylastigin loglari silmeni tavsiye ediyorum, hassas olan merchantId, customerId degerler yer aliyor. Kart bilgilerinin de 4 hanesi haric response'da yer aliyor, kartin diger bilgileri ise kodda :).

Tamamen comment'ini sil.
Bu yuzden direk espostama gondermeni istedim :)

<!-- gh-comment-id:2613988138 --> @nuryagdym commented on GitHub (Jan 25, 2025): Son 2 log satirindan anladigim kadariyla, 3D dogrulama asamasinda hata olusuyor. Eger bu kod test ortamda calisiyorsa banka sorman gerekiyor. Kodda hata goremedim. Bankadan `AuthenticationResponse` response'u ``` "ResponseCode": "888", "ResponseMessage": "TDS_SYSTEM_ERROR", ``` hata ile donuyor. Siparis id'ni (236241712) belirterek bankaya sorar misin. Paylastigin loglari silmeni tavsiye ediyorum, hassas olan `merchantId`, `customerId` degerler yer aliyor. Kart bilgilerinin de 4 hanesi haric response'da yer aliyor, kartin diger bilgileri ise kodda :). Tamamen comment'ini sil. Bu yuzden direk espostama gondermeni istedim :)
Author
Owner

@hasirciogluhq commented on GitHub (Jan 25, 2025):

Tamam, hafta içi bankayı arıyorum o zaman.

Kart bilgilerimi paylaşmadığımdan eminim. Bahsettiğin 4 haneli önemli kısım gerisi bin ve banka kodu mit. no. O 4 haneyi özenle her yerden sildim. Allah Allah, nerede bu ya? 😅

Bu arada, merchant ve customer ID’yi silmeye gerek yok; Biri de destek ararsa gelsin baksın burada, user/pass sız bir anlamı yok, biliyorsun. Zaten bir şeyler deneyecek kişi ya da bot, Wayback Machine’den alınan bir snapshot’a bakar. Üzerinden kaç saat geçti ki? Kartın limitini düşürdüm geçtim. Abonelikleri taşıdırığmdada iptal ederim :)

<!-- gh-comment-id:2614033460 --> @hasirciogluhq commented on GitHub (Jan 25, 2025): Tamam, hafta içi bankayı arıyorum o zaman. Kart bilgilerimi paylaşmadığımdan eminim. Bahsettiğin 4 haneli önemli kısım gerisi bin ve banka kodu mit. no. O 4 haneyi özenle her yerden sildim. Allah Allah, nerede bu ya? 😅 Bu arada, merchant ve customer ID’yi silmeye gerek yok; Biri de destek ararsa gelsin baksın burada, user/pass sız bir anlamı yok, biliyorsun. Zaten bir şeyler deneyecek kişi ya da bot, Wayback Machine’den alınan bir snapshot’a bakar. Üzerinden kaç saat geçti ki? Kartın limitini düşürdüm geçtim. Abonelikleri taşıdırığmdada iptal ederim :)
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#139
No description provided.