mirror of
https://github.com/mewebstudio/pos.git
synced 2026-04-26 01:45:55 +03:00
[GH-ISSUE #204] Kuveyttürk Kısmi Iade : Satış tutarı ile iade tutarı eşleşmemektedir. #110
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#110
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 @mhmtpacal on GitHub (May 5, 2024).
Original GitHub issue: https://github.com/mewebstudio/pos/issues/204
Kuveyttürk ile 76 tllik bir ödeme yaptım canlıdan, aynı günde iade olmadığı için bir gün bekledim bugün tekrar denedim 30 tl iade etmeyi fakat
`
Array
(
[order_id] =>
[auth_code] =>
[proc_return_code] => DbLayerError
[transaction_id] =>
[currency] =>
[error_message] => Satış tutarı ile iade tutarı eşleşmemektedir. Değerleri kontrol ediniz.
[ref_ret_num] =>
[status] => declined
[error_code] => TransactionAmountMismatchException
[status_detail] =>
[all] => Array
(
[DrawBackResult] => Array
(
[Results] => Array
(
[Result] => Array
(
[ErrorMessage] => Satış tutarı ile iade tutarı eşleşmemektedir. Değerleri kontrol ediniz.
[ErrorCode] => TransactionAmountMismatchException
[IsFriendly] =>
[Severity] => BusinessError
)
)
`
sonucunu aldım, readme'de belirtmişsiniz DrawBackResult yerine PartialDrawbackResult kullanıyor diye fakat yukardaki yanıtta DrawBackResult olarak geçiyor
@nuryagdym commented on GitHub (May 5, 2024):
Orda yaptigim degisiklikten dolayi.
Eskinde iade icin PartialDrawback kullaniyorduk, Drawback kullanacak sekilde degistirdim.
Drawback tam iade icin, PartialDrawback ise bir kismini iade etmek icin.
Bu tarz durum 2-3 gatewayden karsilastim, ilerde bunun icin ayri TX_TYPE olusturmayi dusunuyorum. Diger gatewaylerde genelde kismi iade ile tam iade arasinda ayrim yok.
Kutuphaneye Partial refund destegi ekleninceye kadar, kismi iade yapilmak istendiginde docs/ altindaki orneklerde oldugu gibi eventListener kullanarak Drawback degeri PartialDrawbacke degistirerek cozebilirsin.
@mhmtpacal commented on GitHub (May 6, 2024):
$order['transaction_type'] = 'PartialDrawback';
$pos->refund($order);
şeklinde yapınca iade olarak algılıyor ama
KuveytPosRequestDataMapper'in içindeki
'TransactionType' => $order['transaction_type'] ?? $this->mapTxType(PosInterface::TX_TYPE_REFUND), şekilnde düzenledim
@nuryagdym commented on GitHub (May 7, 2024):
kutuphane kodunu degistirmemeni tavsiye ederim, kutuphaneyi guncellediginde bu yaptiginde degisiklikler silinir.
event listener ile kutuphane kodunu degistirmeden TransactionType'i degistirebilirsin.
Bu ornek calismasi lazim:
$eventDispatcher$pos istance'i olusturmakta kullandiginin aynisi.@mhmtpacal commented on GitHub (May 8, 2024):
Attığınız kodu ekledim
AbstractGateway.php 315'inci satıra
file_put_contents('a2.txt',json_encode($data));kodunu ekledim bankaya giden datayı görmek için kod doğru şekilde gidiyor fakat halen iade olarak dönüş yapıyor banka.
KuveytPosRequestDataMapper.php dosyasında direk değiştirdiğim zaman kısmi iade oluyor nerde neyi atlıyorum çözemedim :)
@mhmtpacal commented on GitHub (May 8, 2024):
@nuryagdym sorunu buldum, KuveytPos.php dosyasında sendSoapRequest kullanılarak atılıyor bu istek
265. satırda
$result = $client->__soapCall($this->requestDataMapper->mapTxType($txType), ['parameters' => ['request' => $contents]]);kodundaki $this->requestDataMapper->mapTxType($txType) 'Drawback' olarak geçiyor, $contents'te PartialDrawback olsada banka Drawback olarak görüyor
@nuryagdym commented on GitHub (May 8, 2024):
anladim, unuttum burasini, o zaman KuveytPosRequestDataMapper'de Drawback'i PartialDrawback'e degistirmen gerekecek.
Bu issue acik kalsin, partial refund uzerinde musait oldugumda calisirim
@mhmtpacal commented on GitHub (May 9, 2024):
Kütüphane kodlarına müdahele etmeden yapmaya çalıştım ama başarılı bir sonuça alamadım, siz burayla ilgili güncelleme çıkana kadar kütüphaneyi güncellemeden kod değişikliği yapıp devam edeceğim. Güncelleme çıkınca güncelleyip deneriz
@nuryagdym commented on GitHub (May 9, 2024):
@mettleshade PartialDrawback ile tam iadeyi yapabiliyor muyuz?
kontrol eder misin
@mhmtpacal commented on GitHub (May 9, 2024):
@nuryagdym olmuyor daha öncedende denemiştim ama şimdi tekrar denedim

@nuryagdym commented on GitHub (May 15, 2024):
@mettleshade bendeki test ortam bilgileri calismamaya basladi.
Aklima bir cozum geldi ama test ortam bilgileri calismadigi icin test edemiyorum.
Bu yuzden sana anlatayim sen dener misin.
Yapman gereken degisiklikler:
github.com/mewebstudio/pos@e1733994ff/src/Gateways/KuveytPos.php (L263)bu satir su sekilde degisecek:$result = $client->__soapCall($contents['VPosMessage']['TransactionType'], ['parameters' => ['request' => $contents]]);Eger yukardaki degisiklikler calisirsa, ayrica ustteki degisikliklere ek olarak bu satiri da silip dener misin
github.com/mewebstudio/pos@e1733994ff/src/DataMapper/RequestDataMapper/KuveytPosRequestDataMapper.php (L328)@mhmtpacal commented on GitHub (May 16, 2024):
@nuryagdym En kısa zamanda deneyip dönüş yapıyorum.
@mhmtpacal commented on GitHub (May 19, 2024):
@nuryagdym ilk 2 adımı yaptım başarılı, 3. adımı TransactionType sildim yine bir sıkıntı yok güncellemeye eklenebilir.
@nuryagdym commented on GitHub (May 24, 2024):
v1.3.0 kismi iade destegi ekledim.
event listenere gerek yok.
refund order verisine ekstra olarak
order_amountdegeri eklenmesi gerekiyor.yani
amountdegeri eskisi gibi iade edilecek tutar olacak.order_amountise siparisin tutari olacak.