[GH-ISSUE #20] para iadesi veya iptal servislerine erişim #12

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

Originally created by @sekizlipenguen on GitHub (Feb 12, 2021).
Original GitHub issue: https://github.com/mewebstudio/pos/issues/20

Merhaba,
Öncelikle elinize sağlık iade ve iptal işlemleri için izlememiz gereken adımlar nelerdir nasıl yapabiliyoruz bunların örneklerini göremedim maalesef?

Originally created by @sekizlipenguen on GitHub (Feb 12, 2021). Original GitHub issue: https://github.com/mewebstudio/pos/issues/20 Merhaba, Öncelikle elinize sağlık iade ve iptal işlemleri için izlememiz gereken adımlar nelerdir nasıl yapabiliyoruz bunların örneklerini göremedim maalesef?
kerem closed this issue 2026-03-03 15:42:05 +03:00
Author
Owner

@nuryagdym commented on GitHub (Feb 12, 2021):

Merhabalar, hangi POS sistemi icin soruyorsunuz?
En son Finansbank Payfor icin yapilmisti, examples klasorunde ornekleri var.
Garanti ayri bir kullanici bilgileri istiyor iptal/iade islemleri icin, kod orneklerde olabilir, ama calisip calismadigindan emin degilim.
Yapikredide user'e iptal yetkisi ayrica veriliyor diye biliyorum

<!-- gh-comment-id:778415510 --> @nuryagdym commented on GitHub (Feb 12, 2021): Merhabalar, hangi POS sistemi icin soruyorsunuz? En son Finansbank Payfor icin yapilmisti, `examples` klasorunde ornekleri var. Garanti ayri bir kullanici bilgileri istiyor iptal/iade islemleri icin, kod orneklerde olabilir, ama calisip calismadigindan emin degilim. Yapikredide user'e iptal yetkisi ayrica veriliyor diye biliyorum
Author
Owner

@sekizlipenguen commented on GitHub (Feb 13, 2021):

Cevap için teşekkür ederim ancak örnekler içerisinde iade, iptal örneklerini göremedim tekrar bakmama rağmen bunlar yok gibi.

Şu şekilde kodlara ulaştım ve sonuç buldum kullanımım doğru ise bu da yeter bana. Bu arada akbank testini yaptım ve çalışıyor.

  if ($type == 1) {
      $in = $posMain->bank->refund($meta);
  } else {
      $in = $posMain->bank->cancel($meta);
  }
<!-- gh-comment-id:778661568 --> @sekizlipenguen commented on GitHub (Feb 13, 2021): Cevap için teşekkür ederim ancak örnekler içerisinde iade, iptal örneklerini göremedim tekrar bakmama rağmen bunlar yok gibi. Şu şekilde kodlara ulaştım ve sonuç buldum kullanımım doğru ise bu da yeter bana. Bu arada akbank testini yaptım ve çalışıyor. ``` if ($type == 1) { $in = $posMain->bank->refund($meta); } else { $in = $posMain->bank->cancel($meta); } ```
Author
Owner

@sekizlipenguen commented on GitHub (Feb 14, 2021):

Bu arada iade işlemlerinde akbank tarafında canlı denemede aldığım hata aşağıdaki gibidir iptaller gerçekleşiyor iadeler problemli duruyor;

response: Error
proc_return_code: 99
trans_id: ------
error_code: CORE-2504
error_message: Sifir miktarli iade yapilamaz.
status: declined
status_detail: general_error

<!-- gh-comment-id:778774285 --> @sekizlipenguen commented on GitHub (Feb 14, 2021): Bu arada iade işlemlerinde akbank tarafında canlı denemede aldığım hata aşağıdaki gibidir iptaller gerçekleşiyor iadeler problemli duruyor; response: Error proc_return_code: 99 trans_id: ------ error_code: CORE-2504 error_message: Sifir miktarli iade yapilamaz. status: declined status_detail: general_error
Author
Owner

@nuryagdym commented on GitHub (Feb 14, 2021):

Akbank'ta testleri localhost'ta yapabiliyor muyuz? yapabiliyorsak bana kullanici bilgilerini gonderseniz bakabilirim

<!-- gh-comment-id:778777613 --> @nuryagdym commented on GitHub (Feb 14, 2021): Akbank'ta testleri localhost'ta yapabiliyor muyuz? yapabiliyorsak bana kullanici bilgilerini gonderseniz bakabilirim
Author
Owner

@nuryagdym commented on GitHub (Feb 14, 2021):

Akbank iade kodu orneklerde su sekilde:

$pos->prepare([
    'id'  => '201810297E8B',
    'amount'    => '100',
], \Mews\Pos\Gateways\AbstractGateway::TX_REFUND);
// Refund Order
$pos->refund();

$response = $pos->getResponse();

    /**
     * @inheritDoc
     */
    public function createRefundXML()
    {
        $requestData = [
            'Name' => $this->account->getUsername(),
            'Password' => $this->account->getPassword(),
            'ClientId' => $this->account->getClientId(),
            'OrderId' => $this->order->id,
            'Type' => $this->types[self::TX_REFUND],
        ];

        if (isset($this->order->amount)) {
            $requestData['Total'] = $this->order->amount;
        }

        return $this->createXML($requestData);
    }

iade icin amount alanini gonderiyor musunuz?

<!-- gh-comment-id:778778115 --> @nuryagdym commented on GitHub (Feb 14, 2021): Akbank iade kodu orneklerde su sekilde: ```php $pos->prepare([ 'id' => '201810297E8B', 'amount' => '100', ], \Mews\Pos\Gateways\AbstractGateway::TX_REFUND); // Refund Order $pos->refund(); $response = $pos->getResponse(); ``` ```php /** * @inheritDoc */ public function createRefundXML() { $requestData = [ 'Name' => $this->account->getUsername(), 'Password' => $this->account->getPassword(), 'ClientId' => $this->account->getClientId(), 'OrderId' => $this->order->id, 'Type' => $this->types[self::TX_REFUND], ]; if (isset($this->order->amount)) { $requestData['Total'] = $this->order->amount; } return $this->createXML($requestData); } ``` iade icin `amount` alanini gonderiyor musunuz?
Author
Owner

@sekizlipenguen commented on GitHub (Feb 14, 2021):

Screen Shot 2021-02-14 at 17 55 42
Aynen gönderiyorum ekteki alan estpost.php'den 4.0 versiyonu kullanıyorum şu an.

Kullanımı ise şöyle yapıyorum; senin gönderdiğin ise benim kullanım şeklimden farklı sanırım yeni versiyonda mı öyle?

Screen Shot 2021-02-14 at 17 58 56

<!-- gh-comment-id:778789714 --> @sekizlipenguen commented on GitHub (Feb 14, 2021): ![Screen Shot 2021-02-14 at 17 55 42](https://user-images.githubusercontent.com/36849861/107880112-dc76a680-6eed-11eb-994e-45018bb5cf1b.png) Aynen gönderiyorum ekteki alan estpost.php'den 4.0 versiyonu kullanıyorum şu an. Kullanımı ise şöyle yapıyorum; senin gönderdiğin ise benim kullanım şeklimden farklı sanırım yeni versiyonda mı öyle? ![Screen Shot 2021-02-14 at 17 58 56](https://user-images.githubusercontent.com/36849861/107880195-527b0d80-6eee-11eb-9494-41f138b212b3.png)
Author
Owner

@sekizlipenguen commented on GitHub (Feb 14, 2021):

@nuryagdym problem şu gibi görünmekte xml yapısında var olan kod;
if ($meta['amount']) $nodes['Total'] = $meta['amount'];

bunu şu şekilde değiştirdiğimde çalışıyor;
if ($meta['amount']) $nodes['CC5Request']['Total'] = $meta['amount'];

en azından artık sıfır uyarı vermiyor ve doğru olan gün sonu mesajını alıyorum;

Screen Shot 2021-02-14 at 18 17 55

Öyle sanıyorum ki bu diğer versiyonlarda da hatalı kodlanmış. createXML fonksiyonu zaten 0 key alnmış ve bunun üstündekilere zaten xml çeviride bir şey katmıyor.

Screen Shot 2021-02-14 at 18 19 19

**array_keys($nodes)[0];**
estpos.php kullanan entegrasyonların tümü böyleydi diğer bankalarınkine baktım onlar da bu problem bulunmamakta.

<!-- gh-comment-id:778792521 --> @sekizlipenguen commented on GitHub (Feb 14, 2021): @nuryagdym problem şu gibi görünmekte xml yapısında var olan kod; ` if ($meta['amount']) $nodes['Total'] = $meta['amount']; ` bunu şu şekilde değiştirdiğimde çalışıyor; ` if ($meta['amount']) $nodes['CC5Request']['Total'] = $meta['amount'];` en azından artık sıfır uyarı vermiyor ve doğru olan gün sonu mesajını alıyorum; ![Screen Shot 2021-02-14 at 18 17 55](https://user-images.githubusercontent.com/36849861/107880605-f8c81280-6ef0-11eb-9fc8-32798daa4d31.png) Öyle sanıyorum ki bu diğer versiyonlarda da hatalı kodlanmış. createXML fonksiyonu zaten 0 key alnmış ve bunun üstündekilere zaten xml çeviride bir şey katmıyor. ![Screen Shot 2021-02-14 at 18 19 19](https://user-images.githubusercontent.com/36849861/107880638-29a84780-6ef1-11eb-8d27-3adc6ef05f03.png) `**array_keys($nodes)[0];**` estpos.php kullanan entegrasyonların tümü böyleydi diğer bankalarınkine baktım onlar da bu problem bulunmamakta.
Author
Owner

@nuryagdym commented on GitHub (Feb 15, 2021):

XML encoder kutuphane versiyonu sonraki versiyonlarda degisti, olusan sonuc XML'e bakilmasi gerekiyor, son versiyonda zaten baya code refactoring yapildi, o yuzden biraz farkli kodlar.

<!-- gh-comment-id:778994310 --> @nuryagdym commented on GitHub (Feb 15, 2021): XML encoder kutuphane versiyonu sonraki versiyonlarda degisti, olusan sonuc XML'e bakilmasi gerekiyor, son versiyonda zaten baya code refactoring yapildi, o yuzden biraz farkli kodlar.
Author
Owner

@sekizlipenguen commented on GitHub (Feb 15, 2021):

xml versiyonuna baktığımda sonuç olarak Total eklenmiyordu dediğim gibi rootNodeName zaten sıfırıncı keyi alıp işlem yapıyor buda xml encoder alakalı olmadığını gösteriyor ancak dediğin gibi demek ki sadece bir root node yapısını destekliyor olabilir. Şu an bu versiyonu kullanmam gerektiği için 0.4.5 versiyonuna ilerletemiyorum en kısa sürede laraveli geçiricem bu versiyonu desteklemeye ancak sana son olarak sormak istediğim bir şey var bu versiyonda biryerlerde session ile satışın başarılı olup olmadığını kontrol ediyor olabilir misin? Redisi yeni versiyonlarda kullandığını gördüm session oturum bazlı ödemelerde problem mi oluşturuyor şu an kullandığım versiyonda teşekkürler tüm cevaplar için.

<!-- gh-comment-id:779097013 --> @sekizlipenguen commented on GitHub (Feb 15, 2021): xml versiyonuna baktığımda sonuç olarak Total eklenmiyordu dediğim gibi rootNodeName zaten sıfırıncı keyi alıp işlem yapıyor buda xml encoder alakalı olmadığını gösteriyor ancak dediğin gibi demek ki sadece bir root node yapısını destekliyor olabilir. Şu an bu versiyonu kullanmam gerektiği için 0.4.5 versiyonuna ilerletemiyorum en kısa sürede laraveli geçiricem bu versiyonu desteklemeye ancak sana son olarak sormak istediğim bir şey var bu versiyonda biryerlerde session ile satışın başarılı olup olmadığını kontrol ediyor olabilir misin? Redisi yeni versiyonlarda kullandığını gördüm session oturum bazlı ödemelerde problem mi oluşturuyor şu an kullandığım versiyonda teşekkürler tüm cevaplar için.
Author
Owner

@nuryagdym commented on GitHub (Feb 15, 2021):

bende 1 sene once once sorun cikardi session. 3D odemede, kullanici 3d onaylama sayfasindan geri geldiginden session tektrardan baslatiliyordu. En basta musteriye yaptigimda boyle bir sorun yoktu, sonradan cikti bu. Ondan sonra local ortam testleri yaparken de ayni seyle karsilastim. o yuzden redis'e donusturdum test kodlari da

<!-- gh-comment-id:779344640 --> @nuryagdym commented on GitHub (Feb 15, 2021): bende 1 sene once once sorun cikardi session. 3D odemede, kullanici 3d onaylama sayfasindan geri geldiginden session tektrardan baslatiliyordu. En basta musteriye yaptigimda boyle bir sorun yoktu, sonradan cikti bu. Ondan sonra local ortam testleri yaparken de ayni seyle karsilastim. o yuzden redis'e donusturdum test kodlari da
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#12
No description provided.