Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EstPos : Undefined array key "AuthCode" #207

Closed
mettleshade opened this issue May 16, 2024 · 18 comments · Fixed by #208
Closed

EstPos : Undefined array key "AuthCode" #207

mettleshade opened this issue May 16, 2024 · 18 comments · Fixed by #208
Labels
bug Something isn't working payten

Comments

@mettleshade
Copy link

mettleshade commented May 16, 2024

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

@mettleshade mettleshade changed the title EstPos : İade Hatası EstPos : Undefined array key "AuthCode" May 16, 2024
@nuryagdym
Copy link
Collaborator

burda

/** @var PaymentStatusModel $rawResponseData */
$rawResponseData icerigini paylasir misin, bendeki test ortam bilgileri nedense calismamaya basladi

@mettleshade
Copy link
Author

@nuryagdym mailden ilettim.

@nuryagdym
Copy link
Collaborator

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

@nuryagdym nuryagdym added bug Something isn't working payten labels May 16, 2024
@mettleshade
Copy link
Author

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üş

@nuryagdym
Copy link
Collaborator

nuryagdym commented 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.

@mettleshade
Copy link
Author

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ş

@nuryagdym
Copy link
Collaborator

nuryagdym commented 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

@nuryagdym nuryagdym linked a pull request May 17, 2024 that will close this issue
@mettleshade
Copy link
Author

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

@nuryagdym
Copy link
Collaborator

$rawResponseData icerigini gondermen mumkun mu?

@mettleshade
Copy link
Author

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

@mettleshade
Copy link
Author

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

@nuryagdym
Copy link
Collaborator

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

@mettleshade
Copy link
Author

@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,
    ];
}`

@nuryagdym
Copy link
Collaborator

@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

@mettleshade
Copy link
Author

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

@mettleshade
Copy link
Author

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

@nuryagdym
Copy link
Collaborator

@mettleshade groupId sorunu da ele alindi

@mettleshade
Copy link
Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working payten
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants