[GH-ISSUE #93] YKB - ödeme sonrası doğrulama hatası #47

Closed
opened 2026-03-03 15:42:27 +03:00 by kerem · 10 comments
Owner

Originally created by @erenilhan on GitHub (Oct 3, 2022).
Original GitHub issue: https://github.com/mewebstudio/pos/issues/93

Merhaba,
YKB 3D ödeme yapılırken sms doğrulama da girdikten sonra callbackte decrypt false dönüyor.
o false dönünce Attempt to read property "approved" on nullhatası veriyor. - Gateways/PosNet.php. 383

kodu debug ettiğim zaman decrypt yaparken false döndüğünü gördüm.

return openssl_decrypt($encryptedData, $this->algo, $this->detKey($key), OPENSSL_RAW_DATA, $iv);

bu konu hakkında ne yapabilirim?

Originally created by @erenilhan on GitHub (Oct 3, 2022). Original GitHub issue: https://github.com/mewebstudio/pos/issues/93 Merhaba, YKB 3D ödeme yapılırken sms doğrulama da girdikten sonra callbackte decrypt false dönüyor. o false dönünce `Attempt to read property "approved" on null`hatası veriyor. - **Gateways/PosNet.php. 383** kodu debug ettiğim zaman decrypt yaparken false döndüğünü gördüm. ` return openssl_decrypt($encryptedData, $this->algo, $this->detKey($key), OPENSSL_RAW_DATA, $iv);` bu konu hakkında ne yapabilirim?
kerem 2026-03-03 15:42:27 +03:00
  • closed this issue
  • added the
    bug
    posnet
    labels
Author
Owner

@nuryagdym commented on GitHub (Oct 9, 2022):

Merhaba,
Kutuphanenin hangi versiyonunu kullaniyorsunuz?

$decryptedString = $this->crypt->decrypt($data['MerchantPacket'], $this-Key(>account->getStoreKey());

kodda bu sekilde decode yapiyor. Burda $this-Key(>account->getStoreKey() degeri dogru store key degeri dondurup dondurmedigini kontrol eder misiniz. Test/Prod ortama gore bu deger farkli olur, ortam bilgiyi de dikkate alarak kontrol eder misiniz.

<!-- gh-comment-id:1272537837 --> @nuryagdym commented on GitHub (Oct 9, 2022): Merhaba, Kutuphanenin hangi versiyonunu kullaniyorsunuz? ``` $decryptedString = $this->crypt->decrypt($data['MerchantPacket'], $this-Key(>account->getStoreKey()); ``` kodda bu sekilde decode yapiyor. Burda `$this-Key(>account->getStoreKey()` degeri dogru store key degeri dondurup dondurmedigini kontrol eder misiniz. Test/Prod ortama gore bu deger farkli olur, ortam bilgiyi de dikkate alarak kontrol eder misiniz.
Author
Owner

@erenilhan commented on GitHub (Oct 9, 2022):

Merhaba,

çok ilginçtir ama şu an çalışıyor ve hiçbir şey yapmadım. Sadece bankayla yazışmalarımda amount değeri x*100 olarak gönderdiğimiz (olması gereken) ama dönerken X olarak döndüğünü ilettiler. Bunu da manuel olarak 100 ile çarpmıştım. fakat şu an ona bile gerek olmadan çalıştı. (0.90)
Sadece iptal ederken şöyle bi uyarı dönüyor. Bununla ilgili bankaya destek kaydı oluşturdum.
Bankadan dönen mesaj: ORJINAL ISLEM BULUNAMADI-0123

İlginiz için teşekkür ederim.

<!-- gh-comment-id:1272552042 --> @erenilhan commented on GitHub (Oct 9, 2022): Merhaba, çok ilginçtir ama şu an çalışıyor ve hiçbir şey yapmadım. Sadece bankayla yazışmalarımda amount değeri x*100 olarak gönderdiğimiz (olması gereken) ama dönerken X olarak döndüğünü ilettiler. Bunu da manuel olarak 100 ile çarpmıştım. fakat şu an ona bile gerek olmadan çalıştı. (0.90) Sadece iptal ederken şöyle bi uyarı dönüyor. Bununla ilgili bankaya destek kaydı oluşturdum. Bankadan dönen mesaj: ORJINAL ISLEM BULUNAMADI-0123 İlginiz için teşekkür ederim.
Author
Owner

@nuryagdym commented on GitHub (Oct 9, 2022):

Anladim, 100 carpma islemi kutuphane istegi gonderirken otomatik yapiyor.
Iptal/Durum Sorgulama/Refund islemlerinde bazi gatewayler sizin taraftaki siparis ID'yi gondermez. Kendi tarafinda olusturulan order id degerini isterler.

YKB durumu ise biraz farkli.
ornegin sizin orderId=1234
Bu deger istek gonderirilerken kutuphane 20 haneli string'e donusturur, yani: 00000000000000001234.
Ondan sonra iptal/status/refund islemi icin ise (3D secure model icin) order id TDSC string eklenerek 24 haneli order id'ye donusturulur: TDSC00000000000000001234.
Durumu incelemek icin
Mews\Pos\DataMapper\PosNetRequestDataMapper::formatOrderId(); ve Mews\Pos\DataMapper\PosNetRequestDataMapper::mapOrderIdToPrefixedOrderId(); methodlara bakabilirisniz.

Sizin YKB Sanal pos hesabi 3D secure hesap mi?

<!-- gh-comment-id:1272595553 --> @nuryagdym commented on GitHub (Oct 9, 2022): Anladim, 100 carpma islemi kutuphane istegi gonderirken otomatik yapiyor. Iptal/Durum Sorgulama/Refund islemlerinde bazi gatewayler sizin taraftaki siparis ID'yi gondermez. Kendi tarafinda olusturulan order id degerini isterler. YKB durumu ise biraz farkli. ornegin sizin `orderId=1234` Bu deger istek gonderirilerken kutuphane 20 haneli string'e donusturur, yani: `00000000000000001234`. Ondan sonra iptal/status/refund islemi icin ise (3D secure model icin) order id **TDSC** string eklenerek 24 haneli order id'ye donusturulur: `TDSC00000000000000001234`. Durumu incelemek icin `Mews\Pos\DataMapper\PosNetRequestDataMapper::formatOrderId();` ve `Mews\Pos\DataMapper\PosNetRequestDataMapper::mapOrderIdToPrefixedOrderId();` methodlara bakabilirisniz. Sizin YKB Sanal pos hesabi 3D secure hesap mi?
Author
Owner

@erenilhan commented on GitHub (Oct 10, 2022):

dediklerinizi inceleyip tekrar deneme yapacağım.

  • evet 3d.
<!-- gh-comment-id:1273817933 --> @erenilhan commented on GitHub (Oct 10, 2022): dediklerinizi inceleyip tekrar deneme yapacağım. - evet 3d.
Author
Owner

@semihyilmaz commented on GitHub (Dec 28, 2022):

Bu sorunu çözebildiniz mi?
Bence dönen data yı map ederken sorun var gibi.

<!-- gh-comment-id:1366601696 --> @semihyilmaz commented on GitHub (Dec 28, 2022): Bu sorunu çözebildiniz mi? Bence dönen data yı map ederken sorun var gibi.
Author
Owner

@nuryagdym commented on GitHub (Dec 28, 2022):

@semihyilmaz kutuphanenin son versiyonunu kullanmayi denediniz mi?

<!-- gh-comment-id:1366611781 --> @nuryagdym commented on GitHub (Dec 28, 2022): @semihyilmaz kutuphanenin son versiyonunu kullanmayi denediniz mi?
Author
Owner

@semihyilmaz commented on GitHub (Dec 28, 2022):

Evet son versiyon kullanıyorum. Php 8.1 mcrpyt'de yüklü. Dönen datalarda approve'da var.
Ama sorunu yakalayamadım. 3d Hash'te doğru çözülüyor.
Ama $this->data->approved verisi yok. returnProcCode ve returnProcResponse collection a gidiyor çatlatıyor.
image

<!-- gh-comment-id:1366614255 --> @semihyilmaz commented on GitHub (Dec 28, 2022): Evet son versiyon kullanıyorum. Php 8.1 mcrpyt'de yüklü. Dönen datalarda approve'da var. Ama sorunu yakalayamadım. 3d Hash'te doğru çözülüyor. Ama $this->data->approved verisi yok. returnProcCode ve returnProcResponse collection a gidiyor çatlatıyor. <img width="613" alt="image" src="https://user-images.githubusercontent.com/6323272/209811698-f0eba3fb-c0ba-4390-8490-8185b8772bfc.png">
Author
Owner

@nuryagdym commented on GitHub (Dec 28, 2022):

isterseniz ozelden goruselim, google meet olabilir, ce.nuryagdy@gmail.com

<!-- gh-comment-id:1366619122 --> @nuryagdym commented on GitHub (Dec 28, 2022): isterseniz ozelden goruselim, google meet olabilir, ce.nuryagdy@gmail.com
Author
Owner

@nuryagdym commented on GitHub (Dec 28, 2022):

sorun tespit edildi, bu hafta yeni release ile sorun giderilecek

<!-- gh-comment-id:1366671404 --> @nuryagdym commented on GitHub (Dec 28, 2022): sorun tespit edildi, bu hafta yeni release ile sorun giderilecek
Author
Owner

@nuryagdym commented on GitHub (Dec 28, 2022):

@semihyilmaz musait oldugunda 0.10.3 versiyonu indirip kontrol eder misin.

<!-- gh-comment-id:1366841362 --> @nuryagdym commented on GitHub (Dec 28, 2022): @semihyilmaz musait oldugunda 0.10.3 versiyonu indirip kontrol eder misin.
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#47
No description provided.