[GH-ISSUE #207] EstPos : Undefined array key "AuthCode" #113

Closed
opened 2026-03-03 15:43:10 +03:00 by kerem · 18 comments
Owner

Originally created by @mhmtpacal on GitHub (May 16, 2024).
Original GitHub issue: https://github.com/mewebstudio/pos/issues/207

Information Description
Kütüphane versiyonu 1.1.0
PHP versiyonu
Gateway ismi EstPos
Banka ismi Ziraat Bankası

Hatanın özeti

Yeni ödeme yaparken, iade ve iptal yaparken bazı siparişlerde
Undefined array key "AuthCode" hatası alıyorum

Bağımsız kod veya hatayı yeniden oluşturmanın bir yolu

Oluşturulan siparişin iptali veya iadesi

Originally created by @mhmtpacal on GitHub (May 16, 2024). Original GitHub issue: https://github.com/mewebstudio/pos/issues/207 | Information | Description | |--------------|---------| | Kütüphane versiyonu | 1.1.0 | | PHP versiyonu | | | Gateway ismi| EstPos | | Banka ismi| Ziraat Bankası | ### Hatanın özeti Yeni ödeme yaparken, iade ve iptal yaparken bazı siparişlerde Undefined array key "AuthCode" hatası alıyorum ### Bağımsız kod veya hatayı yeniden oluşturmanın bir yolu Oluşturulan siparişin iptali veya iadesi
kerem 2026-03-03 15:43:10 +03:00
  • closed this issue
  • added the
    bug
    payten
    labels
Author
Owner

@nuryagdym commented on GitHub (May 16, 2024):

burda github.com/mewebstudio/pos@e1733994ff/src/DataMapper/ResponseDataMapper/EstPosResponseDataMapper.php (L288) $rawResponseData icerigini paylasir misin, bendeki test ortam bilgileri nedense calismamaya basladi

<!-- gh-comment-id:2116059315 --> @nuryagdym commented on GitHub (May 16, 2024): burda https://github.com/mewebstudio/pos/blob/e1733994ff052d7eeac0f2808bfabaacf22fe0c7/src/DataMapper/ResponseDataMapper/EstPosResponseDataMapper.php#L288 $rawResponseData icerigini paylasir misin, bendeki test ortam bilgileri nedense calismamaya basladi
Author
Owner

@mhmtpacal commented on GitHub (May 16, 2024):

@nuryagdym mailden ilettim.

<!-- gh-comment-id:2116079904 --> @mhmtpacal commented on GitHub (May 16, 2024): @nuryagdym mailden ilettim.
Author
Owner

@nuryagdym commented on GitHub (May 16, 2024):

tesekkurler, yeni yakinda yeni release'de bu hatayi ele alacagim.
Iptal veya iade basarili oldugunda sorun yasamaman gerekiyor.
Basarisiz durumda bu hatayla karsilasiyosundur.

<!-- gh-comment-id:2116088129 --> @nuryagdym commented on GitHub (May 16, 2024): tesekkurler, yeni yakinda yeni release'de bu hatayi ele alacagim. Iptal veya iade basarili oldugunda sorun yasamaman gerekiyor. Basarisiz durumda bu hatayla karsilasiyosundur.
Author
Owner

@mhmtpacal commented on GitHub (May 16, 2024):

aslında ilk iptalden alıyorum bu hatayı yani sipariş oluşur oluşmaz iptal etmiş müşteri iadeyi atmış ama sonuç doğru gelmemiş bu hataya düşmüş

<!-- gh-comment-id:2116094713 --> @mhmtpacal commented on GitHub (May 16, 2024): aslında ilk iptalden alıyorum bu hatayı yani sipariş oluşur oluşmaz iptal etmiş müşteri iadeyi atmış ama sonuç doğru gelmemiş bu hataya düşmüş
Author
Owner

@nuryagdym commented on GitHub (May 16, 2024):

ama bana gonderidigin banka response'nda "İptal edilmeye uygun satış işlemi bulunamadı." hata mesaji var. belki 2 kere iptal yapilmaya calisilmistir.
Iptal edilmis islemi tekrar iptal etmek istersen bu hata olusuyordur.

<!-- gh-comment-id:2116099391 --> @nuryagdym commented on GitHub (May 16, 2024): ama bana gonderidigin banka response'nda "İptal edilmeye uygun satış işlemi bulunamadı." hata mesaji var. belki 2 kere iptal yapilmaya calisilmistir. Iptal edilmis islemi tekrar iptal etmek istersen bu hata olusuyordur.
Author
Owner

@mhmtpacal commented on GitHub (May 16, 2024):

Müşteri siparişini iptal etmiş normalde iade edilip siparişe yansır ödeme iade edildi diye ama yazmadığı için ben deniyorum ben denediğimdede bu hatayı atıyor yani müşteri ilk yaptığında ödemeyi iade etmiş

<!-- gh-comment-id:2116109494 --> @mhmtpacal commented on GitHub (May 16, 2024): Müşteri siparişini iptal etmiş normalde iade edilip siparişe yansır ödeme iade edildi diye ama yazmadığı için ben deniyorum ben denediğimdede bu hatayı atıyor yani müşteri ilk yaptığında ödemeyi iade etmiş
Author
Owner

@nuryagdym commented on GitHub (May 17, 2024):

Ilk musteri iade islemi yapildiginda neden senin tarafinda basarisiz oldugunu anlamam icin $rawResponseData icerigi lazim.

AuthCode undefined index sorunu icin guncelleme yaptim, ama bu asil sorununu cozmez.
Asil sorun neden ilk denemede iade basarili olarak gosterilmedi.

Ayrica siparisin son durumuny ogrenmek icin $status = $pos->status() kullanabilirsin.
ornegin

  • odeme basarili oldugunda $status['order_status'] === PosInterface::PAYMENT_STATUS_PAYMENT_COMPLETED olur,
  • odeme iptal edildiginde $status['order_status'] === PosInterface::PAYMENT_STATUS_CANCELED
  • iade edildiginde ise $status['order_status'] === PosInterface::PAYMENT_STATUS_PAYMENT_COMPLETED donuyor, bunun normalde PAYMENT_STATUS_FULLY_REFUNDED olmasi gerekiyor, ama banka response'na gore neyden refund oldugunu anlayacagimi cozemedim
<!-- gh-comment-id:2116890982 --> @nuryagdym commented on GitHub (May 17, 2024): Ilk musteri iade islemi yapildiginda neden senin tarafinda basarisiz oldugunu anlamam icin $rawResponseData icerigi lazim. `AuthCode` undefined index sorunu icin guncelleme yaptim, ama bu asil sorununu cozmez. Asil sorun neden ilk denemede iade basarili olarak gosterilmedi. Ayrica siparisin son durumuny ogrenmek icin `$status = $pos->status()` kullanabilirsin. ornegin - odeme basarili oldugunda `$status['order_status'] === PosInterface::PAYMENT_STATUS_PAYMENT_COMPLETED` olur, - odeme iptal edildiginde `$status['order_status'] === PosInterface::PAYMENT_STATUS_CANCELED` - iade edildiginde ise `$status['order_status'] === PosInterface::PAYMENT_STATUS_PAYMENT_COMPLETED` donuyor, bunun normalde PAYMENT_STATUS_FULLY_REFUNDED olmasi gerekiyor, ama banka response'na gore neyden refund oldugunu anlayacagimi cozemedim
Author
Owner

@mhmtpacal commented on GitHub (May 17, 2024):

Şuanda net olarak sipariş iptalinde farklı bir hata aldım
Undefined array key "ERRORCODE" - Satır : 273

<!-- gh-comment-id:2116940400 --> @mhmtpacal commented on GitHub (May 17, 2024): Şuanda net olarak sipariş iptalinde farklı bir hata aldım `Undefined array key "ERRORCODE" - Satır : 273`
Author
Owner

@nuryagdym commented on GitHub (May 17, 2024):

$rawResponseData icerigini gondermen mumkun mu?

<!-- gh-comment-id:2116942595 --> @nuryagdym commented on GitHub (May 17, 2024): $rawResponseData icerigini gondermen mumkun mu?
Author
Owner

@mhmtpacal commented on GitHub (May 17, 2024):

@nuryagdym AuthCode için tam log ilettim, iptal hatasını logluyorum olunca göndereceğim

<!-- gh-comment-id:2117281045 --> @mhmtpacal commented on GitHub (May 17, 2024): @nuryagdym AuthCode için tam log ilettim, iptal hatasını logluyorum olunca göndereceğim
Author
Owner

@mhmtpacal commented on GitHub (May 17, 2024):

@nuryagdym Undefined array key "ERRORCODE" - Satır : 273 hatası için başarılı bir iade logu ilettim.

<!-- gh-comment-id:2117302493 --> @mhmtpacal commented on GitHub (May 17, 2024): @nuryagdym Undefined array key "ERRORCODE" - Satır : 273 hatası için başarılı bir iade logu ilettim.
Author
Owner

@nuryagdym commented on GitHub (May 17, 2024):

@mettleshade 420iadeodemelog.txt isimle son gonderdigin dosyada refund() isleminde bankadan gelen cevapmi?

<!-- gh-comment-id:2117319388 --> @nuryagdym commented on GitHub (May 17, 2024): @mettleshade 420iadeodemelog.txt isimle son gonderdigin dosyada `refund()` isleminde bankadan gelen cevapmi?
Author
Owner

@mhmtpacal commented on GitHub (May 17, 2024):

@nuryagdym evet

` public function mapRefundResponse(array $rawResponseData): array
{
file_put_contents(rand(0,1500).'iadeodemelog.txt',json_encode($rawResponseData));
/** @var PaymentStatusModel $rawResponseData */
$rawResponseData = $this->emptyStringsToNull($rawResponseData);
$procReturnCode = $this->getProcReturnCode($rawResponseData);
$status = self::TX_DECLINED;
if (self::PROCEDURE_SUCCESS_CODE === $procReturnCode) {
$status = self::TX_APPROVED;
}

    return [
        'order_id'         => $rawResponseData['OrderId'],
        'group_id'         => $rawResponseData['GroupId'],
        'auth_code'        => $rawResponseData['AuthCode'],
        'ref_ret_num'      => $rawResponseData['HostRefNum'],
        'proc_return_code' => $procReturnCode,
        'transaction_id'   => $rawResponseData['TransId'],
        'num_code'         => $rawResponseData['Extra']['NUMCODE'],
        'error_code'       => $rawResponseData['Extra']['ERRORCODE'],
        'error_message'    => $rawResponseData['ErrMsg'],
        'status'           => $status,
        'status_detail'    => $this->getStatusDetail($procReturnCode),
        'all'              => $rawResponseData,
    ];
}`
<!-- gh-comment-id:2117329416 --> @mhmtpacal commented on GitHub (May 17, 2024): @nuryagdym evet ` public function mapRefundResponse(array $rawResponseData): array { file_put_contents(rand(0,1500).'iadeodemelog.txt',json_encode($rawResponseData)); /** @var PaymentStatusModel $rawResponseData */ $rawResponseData = $this->emptyStringsToNull($rawResponseData); $procReturnCode = $this->getProcReturnCode($rawResponseData); $status = self::TX_DECLINED; if (self::PROCEDURE_SUCCESS_CODE === $procReturnCode) { $status = self::TX_APPROVED; } return [ 'order_id' => $rawResponseData['OrderId'], 'group_id' => $rawResponseData['GroupId'], 'auth_code' => $rawResponseData['AuthCode'], 'ref_ret_num' => $rawResponseData['HostRefNum'], 'proc_return_code' => $procReturnCode, 'transaction_id' => $rawResponseData['TransId'], 'num_code' => $rawResponseData['Extra']['NUMCODE'], 'error_code' => $rawResponseData['Extra']['ERRORCODE'], 'error_message' => $rawResponseData['ErrMsg'], 'status' => $status, 'status_detail' => $this->getStatusDetail($procReturnCode), 'all' => $rawResponseData, ]; }`
Author
Owner

@nuryagdym commented on GitHub (May 17, 2024):

@mettleshade bilgileri icin tesekkurler, gereken duzeltmeleri yaptim.

Yayina alincaya kadar EstPosResponseDataMapper.php'de degisiklikleri manuel yapabilirsin.
https://github.com/mewebstudio/pos/pull/208/files#diff-667e940cbf15f7852b9478d156df7f06e78ec830f5c50b029a81327751a0b923

<!-- gh-comment-id:2117333545 --> @nuryagdym commented on GitHub (May 17, 2024): @mettleshade bilgileri icin tesekkurler, gereken duzeltmeleri yaptim. Yayina alincaya kadar EstPosResponseDataMapper.php'de degisiklikleri manuel yapabilirsin. https://github.com/mewebstudio/pos/pull/208/files#diff-667e940cbf15f7852b9478d156df7f06e78ec830f5c50b029a81327751a0b923
Author
Owner

@mhmtpacal commented on GitHub (May 17, 2024):

@nuryagdym ne demek sizin yaptıklarınız yanında hiç bişey. iptal ile log ilettim.

<!-- gh-comment-id:2117338756 --> @mhmtpacal commented on GitHub (May 17, 2024): @nuryagdym ne demek sizin yaptıklarınız yanında hiç bişey. iptal ile log ilettim.
Author
Owner

@mhmtpacal commented on GitHub (May 17, 2024):

@nuryagdym Undefined array key "GroupId" - Satır : 269 yeni bir hata yakaladım mailden logu ilettim.

<!-- gh-comment-id:2117412744 --> @mhmtpacal commented on GitHub (May 17, 2024): @nuryagdym Undefined array key "GroupId" - Satır : 269 yeni bir hata yakaladım mailden logu ilettim.
Author
Owner

@nuryagdym commented on GitHub (May 17, 2024):

@mettleshade groupId sorunu da ele alindi

<!-- gh-comment-id:2117455269 --> @nuryagdym commented on GitHub (May 17, 2024): @mettleshade groupId sorunu da ele alindi
Author
Owner

@mhmtpacal commented on GitHub (May 17, 2024):

şuan başka bir eksikle karşılaşmadım karşılaşırsam konuya eklerim

<!-- gh-comment-id:2117479583 --> @mhmtpacal commented on GitHub (May 17, 2024): şuan başka bir eksikle karşılaşmadım karşılaşırsam konuya eklerim
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#113
No description provided.