mewebstudio / pos

Türk bankaları için sanal pos paketi (PHP)
Other
268 stars 104 forks source link

garanti pos iade işlem tutar #96

Closed sekizlipenguen closed 2 years ago

sekizlipenguen commented 2 years ago

Selamlar,

Garanti pos için ödeme işleminden sonra iade işleminde aşağıdaki gibi hata alıyor baktım benim gönderdiğim amount değerini yok sayıp 100 gösteriyor devamlı bunu nasıl çözebiliriz sence?

Screen Shot 2022-10-19 at 11 13 17 Screen Shot 2022-10-19 at 11 13 36 Screen Shot 2022-10-19 at 11 15 11
sekizlipenguen commented 2 years ago

Selam tekrar sorunu buldum ancak buna güncelleme çıkman gerekiyor.

garanti pos için amount değerini sabit giriş yapmışsın.

Screen Shot 2022-10-19 at 11 23 32

garantipos.php içinde 1004 satırı değiştirmen gerekiyor gibi :/

'amount' => self::amountFormat($order['amount']), şekilde olmalı.

nuryagdym commented 2 years ago

Merhabalar, iptal islemi iceren guncel garanti pos dokumani paylasir misiniz. Benim hatirladigim cancel icin Garanti pos amount 100 gonderilmesini istiyor.

Ayrica cancel islemi gun kapanpadan yani aksam 5'e kadar yapilmasi gerekiyor diye biliyorum, bu sure gectikten sonra cancel yerine iade islemi yapilmasi gerekiyor. Iade islemlerde amount deger dynamic.

sekizlipenguen commented 2 years ago

Selamlar,

elimde döküman yok ancak cancel ile refurnd aynı kullanılmış bu yüzden return dinamik olmuyordu. Hem cancel hemde refund için amount değeri bu şekilde olunca çalışıyor. cancel işlemlerinde prepare fonksiyonuna amount tanımsız yolluyorum ve sorunsuz çalışıyor.

kullandığım varsiyon 0.4.7, 0.9 çıkarmışsın onda deneyim hemen döneceğim :)

Screen Shot 2022-10-19 at 12 32 18
sekizlipenguen commented 2 years ago

0.9 versiyonu da aynı sabit değer gönderiyorsun her ikisinde de fonksiyonları aynı bu da problem çıkarıyor.

Screen Shot 2022-10-19 at 12 40 57
nuryagdym commented 2 years ago

anladigim kadariyla refund islemi yapmaya calisiyorsun, prepareRefundOrder duzeltilmesi gerekiyor. amount dinamik olacak sekilde. cancel ise oldugu gibi 100 gondermeye devam etmesi gerekiyor

sekizlipenguen commented 2 years ago

aynen iade işlemi yapmaya çalışıyorum iade işlemi ile iptal işleminde aynı fonksiyonu kullanmışsın bu da sorun çıkarıyor. şu şekilde ufak bir güncelleme ile yine çözüm sağlanıyor.

$order['amount'] ?? 1 eklemek yeterli oluyor.

NOT: iade ve iptal işlemi gerçek garanti pos bilgileri ile denenmiş ve başarılı olunmuştur.

0.9.0 versiyonu için denendi


    protected function prepareCancelOrder(array $order)
    {
        return (object)[
            'id' => $order['id'],
            'amount' => $order['amount'] ?? 1, //sabit deger gonderilmesi gerekiyor
            'currency' => $order['currency'] ?? 'TRY',
            'ref_ret_num' => $order['ref_ret_num'],
            'ip' => $order['ip'] ?? '',
            'email' => $order['email'] ?? '',
            'installment' => 0,
        ];
    }
Screen Shot 2022-10-19 at 13 01 06
sekizlipenguen commented 2 years ago

yakında seni finansbank içinde rahatsız edeceğim :) tüm posları neredeyse kullandığımız için güzel bi test yöntemi sağlıyoruz :) Bu arada gerçekten emeklerin için teşekkür ederim çok iyi iş çıkarıyorsun.

sekizlipenguen commented 2 years ago

ek olarak bunu ne zaman yayına alabilirsin? dev-master üzerinden mi erişmeliyim?

nuryagdym commented 2 years ago

issue #91 ile ilgili acan kisiyle gorusup son kalan kismi yapmam gerekiyor, onunla beraber yayinlayayim diyorum. en gec bu hafta hallolur

sekizlipenguen commented 2 years ago

yaptığın değişikliği dev master aldım çalışıyor bilgine:

    protected function prepareRefundOrder(array $order)
    {
        $refundOrder = $this->prepareCancelOrder($order);
        $refundOrder->amount = $order['amount'];

        return $refundOrder;
    }

Bu konuda yardımcı olabileceğim bir şey olursa belirtebilirsin? Localde bankalar ile test yapabilirim. iş bankası, garanti, ak bank şu an aktif olanlarımız yakında finansbank bakacağım

nuryagdym commented 2 years ago

test konusunda tesekkurler, yardima ihtiyacim olacak illa, ilerde.

91 ile ilgili Akbank/Isbank dokumanlarinda tekrarlanan (recurring) odeme'nin iptali icin dokumantasyon lazim, issue'da paylasilan kodun bir kismi calismiyor. ya da ben anlamadim amacini. o yuzden issue'i acan arkadas anlatmasi gerekiyor veya dokumantasyon lazim

sekizlipenguen commented 2 years ago

Tamamdır. Ben bankalar ile iletişime geçip bunlar için dokumanları almaya çalışacağım sana dönüş sağlarım

Full Stack Developer

nuryagdym @.***>, 20 Eki 2022 Per, 12:38 tarihinde şunu yazdı:

test konusunda tesekkurler, yardima ihtiyacim olacak illa, ilerde.

91 https://github.com/mewebstudio/pos/issues/91 ile ilgili

Akbank/Isbank dokumanlarinda tekrarlanan (recurring) odeme'nin iptali icin dokumantasyon lazim, issue'da paylasilan kodun bir kismi calismiyor. ya da ben anlamadim amacini. o yuzden issue'i acan arkadas anlatmasi gerekiyor veya dokumantasyon lazim

— Reply to this email directly, view it on GitHub https://github.com/mewebstudio/pos/issues/96#issuecomment-1285233383, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIZERRIHBY6OYBBUEO7PKQ3WEEHJPANCNFSM6AAAAAARI3D2LY . You are receiving this because you authored the thread.Message ID: @.***>