Comments (13)
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
from pos.
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.
from pos.
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.
$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
protected array $txTypeMappings = [
PosInterface::TX_TYPE_PAY_AUTH => 'Sale',
PosInterface::TX_TYPE_CANCEL => 'SaleReversal',
PosInterface::TX_TYPE_STATUS => 'GetMerchantOrderDetail',
PosInterface::TX_TYPE_REFUND => 'Drawback', // Also there is a "PartialDrawback"
];
refund kısmını PartialDrawback yapınca kısmı iade olarka algılıyor
createRefundRequestData fonksiyonundaki resultu iki farklı şekildede kayıt ettim hiçbir fark yok
from pos.
kutuphane kodunu degistirmemeni tavsiye ederim, kutuphaneyi guncellediginde bu yaptiginde degisiklikler silinir.
event listener ile kutuphane kodunu degistirmeden TransactionType'i degistirebilirsin.
Bu ornek calismasi lazim:
/** @var \Symfony\Component\EventDispatcher\EventDispatcher $eventDispatcher */
$eventDispatcher->addListener(
\Mews\Pos\Event\RequestDataPreparedEvent::class,
function (\Mews\Pos\Event\RequestDataPreparedEvent $event) {
//istersen burda original tutar ile refund edilmek istenen tutarlari karsilastiririp ona gore bu alttaki kodlari calistirabilirsin:
$requestData = $event->getRequestData();
$requestData['VPosMessage']['TransactionType'] = 'PartialDrawback';
$event->setRequestData($requestData);
});
$pos->refund($order);
$eventDispatcher
$pos istance'i olusturmakta kullandiginin aynisi.
from pos.
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 :)
from pos.
@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
from pos.
anladim, unuttum burasini, o zaman KuveytPosRequestDataMapper'de Drawback'i PartialDrawback'e degistirmen gerekecek.
Bu issue acik kalsin, partial refund uzerinde musait oldugumda calisirim
from pos.
@mettleshade PartialDrawback ile tam iadeyi yapabiliyor muyuz?
kontrol eder misin
from pos.
@nuryagdym olmuyor daha öncedende denemiştim ama şimdi tekrar denedim
from pos.
@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:
pos/src/Gateways/KuveytPos.php
Line 263 in e173399
$result = $client->__soapCall($contents['VPosMessage']['TransactionType'], ['parameters' => ['request' => $contents]]);
- refund kod su sekilde olacak
/** @var \Symfony\Component\EventDispatcher\EventDispatcher $eventDispatcher */
$eventDispatcher->addListener(
\Mews\Pos\Event\RequestDataPreparedEvent::class,
function (\Mews\Pos\Event\RequestDataPreparedEvent $event) {
//istersen burda original tutar ile refund edilmek istenen tutarlari karsilastiririp ona gore bu alttaki kodlari calistirabilirsin:
$requestData = $event->getRequestData();
$requestData['VPosMessage']['TransactionType'] = 'PartialDrawback';
$event->setRequestData($requestData);
});
$pos->refund($order);
Eger yukardaki degisiklikler calisirsa, ayrica ustteki degisikliklere ek olarak bu satiri da silip dener misin
from pos.
@nuryagdym En kısa zamanda deneyip dönüş yapıyorum.
from pos.
@nuryagdym ilk 2 adımı yaptım başarılı, 3. adımı TransactionType sildim yine bir sıkıntı yok güncellemeye eklenebilir.
from pos.
v1.3.0 kismi iade destegi ekledim.
event listenere gerek yok.
refund order verisine ekstra olarak order_amount
degeri eklenmesi gerekiyor.
yani
amount
degeri eskisi gibi iade edilecek tutar olacak.order_amount
ise siparisin tutari olacak.- Kutupahen ikisi arasinda karsilastirma yaparak tam iade mi, kismi iade mi olduguna karar verecek.
from pos.
Related Issues (20)
- Akbank Hash Mismatch! Hatası HOT 2
- Ziraat Sanal Pos
- Ziraat Bankası Merchant cannot be found for this bank HOT 26
- Akbank Yeni API Desteği Hk. HOT 4
- Vakıf Bank sanal pos ödeme durum kontrolü hatası HOT 5
- Albaraka PosNet yanlis URL'lere istek gonderiyor
- Bankların Gatewaylerin destek kalitesi ile ilgili anket
- EstPos TROY kart destegi HOT 5
- Yapıkredi 3D Hatası HOT 4
- EstPos : Undefined array key "AuthCode" HOT 18
- EstPos Payten Hash Versiyon 3 Güncellemesi HOT 4
- VakifKatilimPos kısmi iade desteği
- Bin numarasiyla ile taksit sorgulama HOT 1
- yeni config te test url ler HOT 1
- YapıKredi The requested URL was rejected HOT 12
- Backend API 3D Ödeme HOT 3
- Deniz Bank 3d çekim hatası HOT 9
- vakıfbank query api değişimi HOT 3
- ziraat bank ödeme hata işlemi HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pos.