[GH-ISSUE #227] Deniz Bank 3d çekim hatası #123

Closed
opened 2026-03-03 15:43:16 +03:00 by kerem · 9 comments
Owner

Originally created by @sekizlipenguen on GitHub (Aug 9, 2024).
Original GitHub issue: https://github.com/mewebstudio/pos/issues/227

Information Description
Kütüphane versiyonu 1.4
PHP versiyonu 8.2
Gateway ismi 3d modeli
Banka ismi deniz bank

Selamlar,

@nuryagdym deniz bank entegrasyonunda ödeme başarılı olmasına rağmen declined dönüşü alıyorum. Bu arada tek tek yeni versiyonda kontrol etmeye başladım.

iş bankası çalışıyor.
ak bank çalışıyor.
deniz bank başarısız diyor ancak çekiyor loglar aşağıda;

'class' => Mews\Pos\Gateways\InterPos::class,

raw datayı kontrol ettiğimde 3d sonrasın dönüşte şu değerler geliyor.

array:39 [▼ // vendor/mews/pos/src/DataMapper/ResponseDataMapper/InterPosResponseDataMapper.php:337
"Version" => ""
"MerchantID" => ""
"ShopCode" => "gizlendi"
"TxnStat" => "Y"
"MD" => "gizlendi"
"RetCode" => ""
"RetDet" => ""
"VenderCode" => ""
"Eci" => "02"
"PayerAuthenticationCode" => "gizlendi="
"PayerTxnId" => ""
"CavvAlg" => ""
"PAResVerified" => "True"
"PAResSyntaxOK" => "True"
"Expiry" => ""
"Pan" => "gizlendi**gizlendi"
"OrderId" => "gizlendi"
"PurchAmount" => "1"
"Exponent" => ""
"Description" => ""
"Description2" => ""
"Currency" => "949"
"OkUrl" => "gizlendi"
"FailUrl" => "gizlendi"
"3DStatus" => "1"
"AuthCode" => ""
"HostRefNum" => "hostid"
"TransId" => ""
"TRXDATE" => ""
"CardHolderName" => ""
"mdStatus" => "1"
"ProcReturnCode" => ""
"TxnResult" => ""
"ErrorMessage" => ""
"ErrorCode" => ""
"Response" => ""
"HASH" => "gizlendi="
"HASHPARAMS" => "Version:PurchAmount:Exponent:Currency:OkUrl:FailUrl:MD:OrderId:ProcReturnCode:Response:mdStatus:"
"HASHPARAMSVAL" => "gizlendi"
]

geçici çözüm için şunu yaptım sanıyorum ki şu 2 değer 1 geldiğinde çekim başarılı da demek.

if ($payment->isSuccess() || ($response['all']['mdStatus'] == 1 && $response['all']['3DStatus'] == 1))

ek olarak banka ile iletişime geçtik aşağıdaki gibi dönüş sağlandı.

3dmodel olarak işlem yapıyorsunuz. İlk aşamadan 3d otp doğrulama cevabı iletilir.
Doğrulama mesajından sonra göndermiş olduğunuz non secure provizyon istek mesajına dönen cevabı kontrol eder misiniz ?

şu şekilde yazdım dönüş beklemekteyim.

Merhaba,
 3d modelinde size ilettiğim gibi geliyor ancak dökümanlarınızda bu alanın 00 olmasını bekliyorsunuz? Burada eğer 00 bakmadan başka bir şeye mi bakmamız gerekiyor?

mdStatus = 1 && 3DStatus=1 ise ödeme alınmıştır diyebilir miyiz?
Originally created by @sekizlipenguen on GitHub (Aug 9, 2024). Original GitHub issue: https://github.com/mewebstudio/pos/issues/227 | Information | Description | |--------------|---------| | Kütüphane versiyonu | 1.4 | | PHP versiyonu | 8.2 | | Gateway ismi| 3d modeli | | Banka ismi| deniz bank| Selamlar, @nuryagdym deniz bank entegrasyonunda ödeme başarılı olmasına rağmen declined dönüşü alıyorum. Bu arada tek tek yeni versiyonda kontrol etmeye başladım. iş bankası çalışıyor. ak bank çalışıyor. deniz bank başarısız diyor ancak çekiyor loglar aşağıda; 'class' => Mews\Pos\Gateways\InterPos::class, raw datayı kontrol ettiğimde 3d sonrasın dönüşte şu değerler geliyor. array:39 [▼ // vendor/mews/pos/src/DataMapper/ResponseDataMapper/InterPosResponseDataMapper.php:337 "Version" => "" "MerchantID" => "" "ShopCode" => "gizlendi" "TxnStat" => "Y" "MD" => "gizlendi" "RetCode" => "" "RetDet" => "" "VenderCode" => "" "Eci" => "02" "PayerAuthenticationCode" => "gizlendi=" "PayerTxnId" => "" "CavvAlg" => "" "PAResVerified" => "True" "PAResSyntaxOK" => "True" "Expiry" => "" "Pan" => "gizlendi**gizlendi" "OrderId" => "gizlendi" "PurchAmount" => "1" "Exponent" => "" "Description" => "" "Description2" => "" "Currency" => "949" "OkUrl" => "gizlendi" "FailUrl" => "gizlendi" "3DStatus" => "1" "AuthCode" => "" "HostRefNum" => "hostid" "TransId" => "" "TRXDATE" => "" "CardHolderName" => "" "mdStatus" => "1" "ProcReturnCode" => "" "TxnResult" => "" "ErrorMessage" => "" "ErrorCode" => "" "Response" => "" "HASH" => "gizlendi=" "HASHPARAMS" => "Version:PurchAmount:Exponent:Currency:OkUrl:FailUrl:MD:OrderId:ProcReturnCode:Response:mdStatus:" "HASHPARAMSVAL" => "gizlendi" ] geçici çözüm için şunu yaptım sanıyorum ki şu 2 değer 1 geldiğinde çekim başarılı da demek. if ($payment->isSuccess() || ($response['all']['mdStatus'] == 1 && $response['all']['3DStatus'] == 1)) ek olarak banka ile iletişime geçtik aşağıdaki gibi dönüş sağlandı. ``` 3dmodel olarak işlem yapıyorsunuz. İlk aşamadan 3d otp doğrulama cevabı iletilir. Doğrulama mesajından sonra göndermiş olduğunuz non secure provizyon istek mesajına dönen cevabı kontrol eder misiniz ? ``` şu şekilde yazdım dönüş beklemekteyim. ``` Merhaba, 3d modelinde size ilettiğim gibi geliyor ancak dökümanlarınızda bu alanın 00 olmasını bekliyorsunuz? Burada eğer 00 bakmadan başka bir şeye mi bakmamız gerekiyor? mdStatus = 1 && 3DStatus=1 ise ödeme alınmıştır diyebilir miyiz? ```
kerem 2026-03-03 15:43:16 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@sekizlipenguen commented on GitHub (Aug 9, 2024):

ek olarak bankadan gelen cevap;

Merhaba,

3d doğrulamadan sonra dönen cevaptaki proctretrun parametresini değil, doğrulamadan sonra yaptığınız provizyon istek cevabındaki proctretrun değerini kontrol eder misiniz ?

3d pay olarak işlem yapmış olsaydınız tek bir cevap dönerdi.

3dmodel işlemlerinde ise iki istek yapılıyor ve iki cevap dönüyor biri doğrulamanın cevabı diğeri provizyon cevabı.

3d doğrulama sonrası aşağıdaki cevap dönüyor.

1

                                           <TxnResult />

                                           <TxnType>Auth</TxnType>

                                           <SecureType>3DModel</SecureType>

                                           <HostRefNum>hostid</HostRefNum>

                                           <ProcReturnCode />

Sonrasında siz aşağıdaki provizyon isteğini yapıyorsunuz

Auth

                                           <SecureType>NonSecure</SecureType>

                                           <OrderId>gizlendi</OrderId>

                                           <PurchAmount>1</PurchAmount>

                                           <Currency>949</Currency>

                                           <InstallmentCount></InstallmentCount>

Provizyon cevabı da aşağıdaki gibi iletilmiş.

ProcReturnCode=00;;HostRefNum=hostid;;AuthCode=

<!-- gh-comment-id:2277670345 --> @sekizlipenguen commented on GitHub (Aug 9, 2024): ek olarak bankadan gelen cevap; Merhaba, 3d doğrulamadan sonra dönen cevaptaki proctretrun parametresini değil, doğrulamadan sonra yaptığınız provizyon istek cevabındaki proctretrun değerini kontrol eder misiniz ? 3d pay olarak işlem yapmış olsaydınız tek bir cevap dönerdi. 3dmodel işlemlerinde ise iki istek yapılıyor ve iki cevap dönüyor biri doğrulamanın cevabı diğeri provizyon cevabı. 3d doğrulama sonrası aşağıdaki cevap dönüyor. <MdStatus>1</MdStatus> <TxnResult /> <TxnType>Auth</TxnType> <SecureType>3DModel</SecureType> <HostRefNum>hostid</HostRefNum> <ProcReturnCode /> Sonrasında siz aşağıdaki provizyon isteğini yapıyorsunuz <TxnType>Auth</TxnType> <SecureType>NonSecure</SecureType> <OrderId>gizlendi</OrderId> <PurchAmount>1</PurchAmount> <Currency>949</Currency> <InstallmentCount></InstallmentCount> Provizyon cevabı da aşağıdaki gibi iletilmiş. ProcReturnCode=00;;HostRefNum=hostid;;AuthCode=
Author
Owner

@nuryagdym commented on GitHub (Aug 9, 2024):

Sorun buyuk ihtimalle kutuphanede, bankayla ilgili degil.

Banktan gelen cevaba gore ve "3DStatus" => "1" ve "mdStatus" => "1", kutuphane zaten "3DStatus" => "1" kontrolu yapiyor. Bu sekilde kontrol etmen hatali, cunku ($response['all']['mdStatus'] == 1 && $response['all']['3DStatus'] == 1) odemenin basarili oldugu anlamina gelmez. 3D otorizasyonun basarili oldugu anlamina gelir. Basarili ise provizyon/para cekme islemi yapiyoruz.
Yani sorun ya provizyon sonucunu islerken olur diye tahmin ediyorum.

Bu satirda github.com/mewebstudio/pos@164aa33c8d/src/DataMapper/ResponseDataMapper/InterPosResponseDataMapper.php (L337) bu $raw3DAuthResponseData, $rawPaymentResponseData iki array parameterlinin dump'ni paylasir misin

<!-- gh-comment-id:2277671271 --> @nuryagdym commented on GitHub (Aug 9, 2024): Sorun buyuk ihtimalle kutuphanede, bankayla ilgili degil. Banktan gelen cevaba gore ve `"3DStatus" => "1"` ve `"mdStatus" => "1"`, kutuphane zaten `"3DStatus" => "1"` kontrolu yapiyor. Bu sekilde kontrol etmen hatali, cunku `($response['all']['mdStatus'] == 1 && $response['all']['3DStatus'] == 1)` odemenin basarili oldugu anlamina gelmez. 3D otorizasyonun basarili oldugu anlamina gelir. Basarili ise provizyon/para cekme islemi yapiyoruz. Yani sorun ya provizyon sonucunu islerken olur diye tahmin ediyorum. Bu satirda https://github.com/mewebstudio/pos/blob/164aa33c8df4eff8da980503206f3e74b8188503/src/DataMapper/ResponseDataMapper/InterPosResponseDataMapper.php#L337 bu `$raw3DAuthResponseData, $rawPaymentResponseData` iki array parameterlinin dump'ni paylasir misin
Author
Owner

@sekizlipenguen commented on GitHub (Aug 9, 2024):

selamlar,
şu aşamada yaptım ancak bunlar da sorunlu galiba.

private function map3DCommonResponseData(array $raw3DAuthResponseData, ?array $rawPaymentResponseData, string $txType, string $paymentModel): array
{
    dd($raw3DAuthResponseData,$rawPaymentResponseData,$txType,$paymentModel);

$raw3DAuthResponseData =
array:39 [▼ // vendor/mews/pos/src/DataMapper/ResponseDataMapper/InterPosResponseDataMapper.php:337
"Version" => ""
"MerchantID" => ""
"ShopCode" => "gizlendi"
"TxnStat" => "Y"
"MD" => "gizlendi"
"RetCode" => ""
"RetDet" => ""
"VenderCode" => ""
"Eci" => "02"
"PayerAuthenticationCode" => "gizlendi="
"PayerTxnId" => ""
"CavvAlg" => ""
"PAResVerified" => "True"
"PAResSyntaxOK" => "True"
"Expiry" => "gizlendi"
"Pan" => "gizlendi
*****gizlendi"
"OrderId" => "gizlendi"
"PurchAmount" => "1"
"Exponent" => ""
"Description" => ""
"Description2" => ""
"Currency" => "949"
"OkUrl" => "gizlendi"
"FailUrl" => "gizlendi"
"3DStatus" => "1"
"AuthCode" => ""
"HostRefNum" => "hostid"
"TransId" => ""
"TRXDATE" => ""
"CardHolderName" => ""
"mdStatus" => "1"
"ProcReturnCode" => ""
"TxnResult" => ""
"ErrorMessage" => ""
"ErrorCode" => ""
"Response" => ""
"HASH" => "gizlendi/gizlendi="
"HASHPARAMS" => "Version:PurchAmount:Exponent:Currency:OkUrl:FailUrl:MD:OrderId:ProcReturnCode:Response:mdStatus:"
"HASHPARAMSVAL" => "gizlendi"
]

$rawPaymentResponseData

array:39 [▼ // vendor/mews/pos/src/DataMapper/ResponseDataMapper/InterPosResponseDataMapper.php:337
"Version" => ""
"MerchantID" => ""
"ShopCode" => "gizlendi"
"TxnStat" => "Y"
"MD" => "gizlendi"
"RetCode" => ""
"RetDet" => ""
"VenderCode" => ""
"Eci" => "02"
"PayerAuthenticationCode" => "gizlendi="
"PayerTxnId" => ""
"CavvAlg" => ""
"PAResVerified" => "True"
"PAResSyntaxOK" => "True"
"Expiry" => ""
"Pan" => "gizlendi
**gizlendi"
"OrderId" => "gizlendi"
"PurchAmount" => "1"
"Exponent" => ""
"Description" => ""
"Description2" => ""
"Currency" => "949"
"OkUrl" => "gizlendi"
"FailUrl" => "gizlendi"
"3DStatus" => "1"
"AuthCode" => ""
"HostRefNum" => "hostid"
"TransId" => ""
"TRXDATE" => ""
"CardHolderName" => ""
"mdStatus" => "1"
"ProcReturnCode" => ""
"TxnResult" => ""
"ErrorMessage" => ""
"ErrorCode" => ""
"Response" => ""
"HASH" => "gizlendi/gizlendi="
"HASHPARAMS" => "Version:PurchAmount:Exponent:Currency:OkUrl:FailUrl:MD:OrderId:ProcReturnCode:Response:mdStatus:"
"HASHPARAMSVAL" => "gizlendi"
]
$txType
"pay" // vendor/mews/pos/src/DataMapper/ResponseDataMapper/InterPosResponseDataMapper.php:337
$paymentModel
"3d" // vendor/mews/pos/src/DataMapper/ResponseDataMapper/InterPosResponseDataMapper.php:337

<!-- gh-comment-id:2277910584 --> @sekizlipenguen commented on GitHub (Aug 9, 2024): selamlar, şu aşamada yaptım ancak bunlar da sorunlu galiba. private function map3DCommonResponseData(array $raw3DAuthResponseData, ?array $rawPaymentResponseData, string $txType, string $paymentModel): array { dd($raw3DAuthResponseData,$rawPaymentResponseData,$txType,$paymentModel); $raw3DAuthResponseData = array:39 [▼ // vendor/mews/pos/src/DataMapper/ResponseDataMapper/InterPosResponseDataMapper.php:337 "Version" => "" "MerchantID" => "" "ShopCode" => "gizlendi" "TxnStat" => "Y" "MD" => "gizlendi" "RetCode" => "" "RetDet" => "" "VenderCode" => "" "Eci" => "02" "PayerAuthenticationCode" => "gizlendi=" "PayerTxnId" => "" "CavvAlg" => "" "PAResVerified" => "True" "PAResSyntaxOK" => "True" "Expiry" => "**gizlendi*" "Pan" => "gizlendi******gizlendi" "OrderId" => "gizlendi" "PurchAmount" => "1" "Exponent" => "" "Description" => "" "Description2" => "" "Currency" => "949" "OkUrl" => "gizlendi" "FailUrl" => "gizlendi" "3DStatus" => "1" "AuthCode" => "" "HostRefNum" => "hostid" "TransId" => "" "TRXDATE" => "" "CardHolderName" => "" "mdStatus" => "1" "ProcReturnCode" => "" "TxnResult" => "" "ErrorMessage" => "" "ErrorCode" => "" "Response" => "" "HASH" => "gizlendi/gizlendi=" "HASHPARAMS" => "Version:PurchAmount:Exponent:Currency:OkUrl:FailUrl:MD:OrderId:ProcReturnCode:Response:mdStatus:" "HASHPARAMSVAL" => "gizlendi" ] $rawPaymentResponseData array:39 [▼ // vendor/mews/pos/src/DataMapper/ResponseDataMapper/InterPosResponseDataMapper.php:337 "Version" => "" "MerchantID" => "" "ShopCode" => "gizlendi" "TxnStat" => "Y" "MD" => "gizlendi" "RetCode" => "" "RetDet" => "" "VenderCode" => "" "Eci" => "02" "PayerAuthenticationCode" => "gizlendi=" "PayerTxnId" => "" "CavvAlg" => "" "PAResVerified" => "True" "PAResSyntaxOK" => "True" "Expiry" => "****" "Pan" => "gizlendi******gizlendi" "OrderId" => "gizlendi" "PurchAmount" => "1" "Exponent" => "" "Description" => "" "Description2" => "" "Currency" => "949" "OkUrl" => "gizlendi" "FailUrl" => "gizlendi" "3DStatus" => "1" "AuthCode" => "" "HostRefNum" => "hostid" "TransId" => "" "TRXDATE" => "" "CardHolderName" => "" "mdStatus" => "1" "ProcReturnCode" => "" "TxnResult" => "" "ErrorMessage" => "" "ErrorCode" => "" "Response" => "" "HASH" => "gizlendi/gizlendi=" "HASHPARAMS" => "Version:PurchAmount:Exponent:Currency:OkUrl:FailUrl:MD:OrderId:ProcReturnCode:Response:mdStatus:" "HASHPARAMSVAL" => "gizlendi" ] $txType "pay" // vendor/mews/pos/src/DataMapper/ResponseDataMapper/InterPosResponseDataMapper.php:337 $paymentModel "3d" // vendor/mews/pos/src/DataMapper/ResponseDataMapper/InterPosResponseDataMapper.php:337
Author
Owner

@nuryagdym commented on GitHub (Aug 9, 2024):

Interpos'un test ortami hesap bilgileri ve test kartlari varsa epostama gonderir misin. IP kisitlamasi yoksa ben kendim test ortamda deneyebilirim. Elimde calisan hesap bilgileri olmadigindan hic basarili odeme deneme sansim olmadi.

Burda anlamadigim:

  1. 2 arrayin de icerigi ayni gibi. genelde (diger gatewaylerde) verileri farkli olur.
  2. Basarili provizyon (odeme) sonucu $rawPaymentResponseData'ne yer alan ProcReturnCode ve AuthCode degerleri, bankanin da dedigi gibi, bosh olmamasi gerekiyor. Basarili odemede ProcReturnCode="00" olmasi gerekiyor.

Eger bu odeme basarili bir odeme ise (yani cekim yapildiysa) bankanin gonderdigi response'da sorun var.

Sen istersen, basarili odeme olduguna emin olup bankaya provizyon odeme sunucu "ProcReturnCode" => "" olan cevap aliyorum diye yaz. emaile $rawPaymentResponseData icerigini de eklersen iyi olur.

<!-- gh-comment-id:2277995494 --> @nuryagdym commented on GitHub (Aug 9, 2024): Interpos'un test ortami hesap bilgileri ve test kartlari varsa epostama gonderir misin. IP kisitlamasi yoksa ben kendim test ortamda deneyebilirim. Elimde calisan hesap bilgileri olmadigindan hic basarili odeme deneme sansim olmadi. Burda anlamadigim: 1. 2 arrayin de icerigi ayni gibi. genelde (diger gatewaylerde) verileri farkli olur. 2. Basarili provizyon (odeme) sonucu $rawPaymentResponseData'ne yer alan `ProcReturnCode` ve `AuthCode` degerleri, bankanin da dedigi gibi, bosh olmamasi gerekiyor. Basarili odemede `ProcReturnCode="00"` olmasi gerekiyor. Eger bu odeme basarili bir odeme ise (yani cekim yapildiysa) bankanin gonderdigi response'da sorun var. Sen istersen, basarili odeme olduguna emin olup bankaya provizyon odeme sunucu "ProcReturnCode" => "" olan cevap aliyorum diye yaz. emaile ` $rawPaymentResponseData` icerigini de eklersen iyi olur.
Author
Owner

@sekizlipenguen commented on GitHub (Aug 9, 2024):

Bize provizyon cevabını aşağıdaki gibi ilettiklerini söylüyorlar senden çıkan her şeyi baya göstermişler acaba sen onlardan dönen şu değeri cevirirken mi hata yapıyorsun bu değeri nerede yolluyorsun ve alıyorsun tam olarak ona göre oraya bir dd yapayım istersen?

[20240809 10:40:33:987]

            <INF> [197] - Merchant Response : OrderId=33554969;;ProcReturnCode=00;;HostRefNum=hostid;;AuthCode=gizlendi;;TxnResult=Success;;ErrorMessage=;;CampanyId=;;CampanyInstallCount=0;;CampanyShiftDateCount=0;;CampanyTxnId=;;CampanyType=;;CampanyInstallment=0;;CampanyDate=0;;CampanyAmnt=0;;TRXDATE=09.08.2024 10:40:34;;TransId=gizlendi;;ErrorCode=;;EarnedBonus=0,00;;UsedBonus=0,00;;AvailableBonus=0,00;;BonusToBonus=0;;CampaignBonus=0,00;;FoldedBonus=0;;SurchargeAmount=0;;Amount=1,00;;CardHolderName=gizlendi   ;;QrReferenceNumber=;;QrCardToken=;;QrData=;;QrPayIsSucess=False;;QrIssuerPaymentMethod=;;QrFastMessageReferenceNo=;;QrFastParticipantReceiverCode=;;QrFastParticipantReceiverName=;;QrFastParticipantSenderCode=;;QrFastSenderIban=;;QrFastParticipantSenderName=;;QrFastPaymentResultDesc= - []
<!-- gh-comment-id:2278392638 --> @sekizlipenguen commented on GitHub (Aug 9, 2024): Bize provizyon cevabını aşağıdaki gibi ilettiklerini söylüyorlar senden çıkan her şeyi baya göstermişler acaba sen onlardan dönen şu değeri cevirirken mi hata yapıyorsun bu değeri nerede yolluyorsun ve alıyorsun tam olarak ona göre oraya bir dd yapayım istersen? [20240809 10:40:33:987] <BSN> <INF> [197] - Merchant Response : OrderId=33554969;;ProcReturnCode=00;;HostRefNum=hostid;;AuthCode=gizlendi;;TxnResult=Success;;ErrorMessage=;;CampanyId=;;CampanyInstallCount=0;;CampanyShiftDateCount=0;;CampanyTxnId=;;CampanyType=;;CampanyInstallment=0;;CampanyDate=0;;CampanyAmnt=0;;TRXDATE=09.08.2024 10:40:34;;TransId=gizlendi;;ErrorCode=;;EarnedBonus=0,00;;UsedBonus=0,00;;AvailableBonus=0,00;;BonusToBonus=0;;CampaignBonus=0,00;;FoldedBonus=0;;SurchargeAmount=0;;Amount=1,00;;CardHolderName=gizlendi ;;QrReferenceNumber=;;QrCardToken=;;QrData=;;QrPayIsSucess=False;;QrIssuerPaymentMethod=;;QrFastMessageReferenceNo=;;QrFastParticipantReceiverCode=;;QrFastParticipantReceiverName=;;QrFastParticipantSenderCode=;;QrFastSenderIban=;;QrFastParticipantSenderName=;;QrFastPaymentResultDesc= - []
Author
Owner

@sekizlipenguen commented on GitHub (Aug 9, 2024):

Selam,

Mesela şurada veriler doğru geliyor.

public function make3DPayPayment(Request $request, array $order, string $txType): PosInterface
{
   
    $this->response = $this->responseDataMapper->map3DPayResponseData($request->request->all(), $txType, $order);

    return $this;
}

interpos.php - 123 satırda

dd($request->request->all()); yazdırdığımda

array:39 [▼ // vendor/mews/pos/src/Gateways/InterPos.php:125
  "Version" => ""
  "MerchantID" => ""
  "ShopCode" => "gizlendi"
  "TxnStat" => "Y"
  "MD" => ""
  "RetCode" => ""
  "RetDet" => ""
  "VenderCode" => ""
  "Eci" => "02"
  "PayerAuthenticationCode" => "gizlendi="
  "PayerTxnId" => ""
  "CavvAlg" => ""
  "PAResVerified" => "True"
  "PAResSyntaxOK" => "True"
  "Expiry" => "**gizlendi*"
  "Pan" => "gizlendi******gizlendi"
  "OrderId" => "gizlendi"
  "PurchAmount" => "1,00"
  "Exponent" => ""
  "Description" => ""
  "Description2" => ""
  "Currency" => "949"
  "OkUrl" => "gizlendi"
  "FailUrl" => "gizlendi"
  "3DStatus" => "1"
  "AuthCode" => "gizlendi"
  "HostRefNum" => "hostid"
  "TransId" => "gizlendi"
  "TRXDATE" => "09.08.2024 20:26:31"
  "CardHolderName" => "gizlendi* gizlendi*   *   *   *   *   *   "
  "mdStatus" => "1"
  "ProcReturnCode" => "00"
  "TxnResult" => "Success"
  "ErrorMessage" => ""
  "ErrorCode" => ""
  "Response" => "Approved"
  "HASH" => "us/gizlendi="
  "HASHPARAMS" => "Version:PurchAmount:Exponent:Currency:OkUrl:FailUrl:MD:OrderId:ProcReturnCode:Response:mdStatus:"
  "HASHPARAMSVAL" => "gizlendi"
]

Screenshot 2024-08-09 at 20 27 24

<!-- gh-comment-id:2278413453 --> @sekizlipenguen commented on GitHub (Aug 9, 2024): Selam, Mesela şurada veriler doğru geliyor. public function make3DPayPayment(Request $request, array $order, string $txType): PosInterface { $this->response = $this->responseDataMapper->map3DPayResponseData($request->request->all(), $txType, $order); return $this; } interpos.php - 123 satırda dd($request->request->all()); yazdırdığımda ``` array:39 [▼ // vendor/mews/pos/src/Gateways/InterPos.php:125 "Version" => "" "MerchantID" => "" "ShopCode" => "gizlendi" "TxnStat" => "Y" "MD" => "" "RetCode" => "" "RetDet" => "" "VenderCode" => "" "Eci" => "02" "PayerAuthenticationCode" => "gizlendi=" "PayerTxnId" => "" "CavvAlg" => "" "PAResVerified" => "True" "PAResSyntaxOK" => "True" "Expiry" => "**gizlendi*" "Pan" => "gizlendi******gizlendi" "OrderId" => "gizlendi" "PurchAmount" => "1,00" "Exponent" => "" "Description" => "" "Description2" => "" "Currency" => "949" "OkUrl" => "gizlendi" "FailUrl" => "gizlendi" "3DStatus" => "1" "AuthCode" => "gizlendi" "HostRefNum" => "hostid" "TransId" => "gizlendi" "TRXDATE" => "09.08.2024 20:26:31" "CardHolderName" => "gizlendi* gizlendi* * * * * * " "mdStatus" => "1" "ProcReturnCode" => "00" "TxnResult" => "Success" "ErrorMessage" => "" "ErrorCode" => "" "Response" => "Approved" "HASH" => "us/gizlendi=" "HASHPARAMS" => "Version:PurchAmount:Exponent:Currency:OkUrl:FailUrl:MD:OrderId:ProcReturnCode:Response:mdStatus:" "HASHPARAMSVAL" => "gizlendi" ] ``` ![Screenshot 2024-08-09 at 20 27 24](https://github.com/user-attachments/assets/6484734b-d098-40ce-8fb5-90e255b667f1)
Author
Owner

@sekizlipenguen commented on GitHub (Aug 9, 2024):

Bunlar galiba bir şeyleri değiştirdiler @nuryagdym şu an doğru gelmeye başladı. Bir problem kalmadı gibi bu nasıl olabilir sence?

<!-- gh-comment-id:2278420727 --> @sekizlipenguen commented on GitHub (Aug 9, 2024): Bunlar galiba bir şeyleri değiştirdiler @nuryagdym şu an doğru gelmeye başladı. Bir problem kalmadı gibi bu nasıl olabilir sence?
Author
Owner

@nuryagdym commented on GitHub (Aug 9, 2024):

kutuphanede hata varmis:

burasini
github.com/mewebstudio/pos@164aa33c8d/src/DataMapper/ResponseDataMapper/InterPosResponseDataMapper.php (L71-L75)

burdaki kodu su sekilde degistirerek:

        return $this->map3DCommonResponseData(
            $raw3DAuthResponseData,
            $rawPaymentResponseData,
            $txType,
            PosInterface::MODEL_3D_SECURE
        );

dener misin.

denemeden once senin ekledigin if checkleri'de kaldirman gerekiyor, sadece su sekilde olacak if check

if ($payment->isSuccess())

Eger sorun cozulurse epostama bu koddan bastigin responselari json olarak rice edecegim:

private function map3DCommonResponseData(array $raw3DAuthResponseData, ?array $rawPaymentResponseData, string $txType, string $paymentModel): array
{
    dd(json_encode($raw3DAuthResponseData), json_encode($raw3DAuthResponseData));

Istersen gizli bilgileri arasindan silebilirsin.

Birde bu satirin ustune
github.com/mewebstudio/pos@164aa33c8d/src/Gateways/InterPos.php (L188)

dd($response->getBody()->getContents());

ekleyerek sonucunu rica ederim.

Bunlardan unit testler olusturup, bir sonraki guncellemelerde bu tarz regression sorunu olmayacak sekilde guncellerim.

<!-- gh-comment-id:2278460718 --> @nuryagdym commented on GitHub (Aug 9, 2024): kutuphanede hata varmis: burasini https://github.com/mewebstudio/pos/blob/164aa33c8df4eff8da980503206f3e74b8188503/src/DataMapper/ResponseDataMapper/InterPosResponseDataMapper.php#L71-L75 burdaki kodu su sekilde degistirerek: ```php return $this->map3DCommonResponseData( $raw3DAuthResponseData, $rawPaymentResponseData, $txType, PosInterface::MODEL_3D_SECURE ); ``` dener misin. denemeden once senin ekledigin if checkleri'de kaldirman gerekiyor, sadece su sekilde olacak if check ```php if ($payment->isSuccess()) ``` Eger sorun cozulurse epostama bu koddan bastigin responselari json olarak rice edecegim: ```php private function map3DCommonResponseData(array $raw3DAuthResponseData, ?array $rawPaymentResponseData, string $txType, string $paymentModel): array { dd(json_encode($raw3DAuthResponseData), json_encode($raw3DAuthResponseData)); ``` Istersen gizli bilgileri arasindan silebilirsin. Birde bu satirin ustune https://github.com/mewebstudio/pos/blob/164aa33c8df4eff8da980503206f3e74b8188503/src/Gateways/InterPos.php#L188 ```php dd($response->getBody()->getContents()); ``` ekleyerek sonucunu rica ederim. Bunlardan unit testler olusturup, bir sonraki guncellemelerde bu tarz regression sorunu olmayacak sekilde guncellerim.
Author
Owner

@sekizlipenguen commented on GitHub (Aug 10, 2024):

Selamlar,
aşağıdaki kod sorunu çözdü. gerekli dataları sana mail olarak gönderdim.

  return $this->map3DCommonResponseData(
            $raw3DAuthResponseData,
            $rawPaymentResponseData,
            $txType,
            PosInterface::MODEL_3D_SECURE
        );
<!-- gh-comment-id:2280580967 --> @sekizlipenguen commented on GitHub (Aug 10, 2024): Selamlar, aşağıdaki kod sorunu çözdü. gerekli dataları sana mail olarak gönderdim. ``` return $this->map3DCommonResponseData( $raw3DAuthResponseData, $rawPaymentResponseData, $txType, PosInterface::MODEL_3D_SECURE ); ```
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#123
No description provided.