-
Notifications
You must be signed in to change notification settings - Fork 106
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
Deniz Bank 3d çekim hatası #227
Comments
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
Sonrasında siz aşağıdaki provizyon isteğini yapıyorsunuz Auth
Provizyon cevabı da aşağıdaki gibi iletilmiş. ProcReturnCode=00;;HostRefNum=hostid;;AuthCode= |
Sorun buyuk ihtimalle kutuphanede, bankayla ilgili degil. Banktan gelen cevaba gore ve Bu satirda
$raw3DAuthResponseData, $rawPaymentResponseData iki array parameterlinin dump'ni paylasir misin
|
selamlar,
$raw3DAuthResponseData = $rawPaymentResponseData array:39 [▼ // vendor/mews/pos/src/DataMapper/ResponseDataMapper/InterPosResponseDataMapper.php:337 |
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:
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 |
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]
|
Selam, Mesela şurada veriler doğru geliyor.
interpos.php - 123 satırda dd($request->request->all()); yazdırdığımda
|
Bunlar galiba bir şeyleri değiştirdiler @nuryagdym şu an doğru gelmeye başladı. Bir problem kalmadı gibi bu nasıl olabilir sence? |
kutuphanede hata varmis: burasini pos/src/DataMapper/ResponseDataMapper/InterPosResponseDataMapper.php Lines 71 to 75 in 164aa33
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 Line 188 in 164aa33
dd($response->getBody()->getContents()); ekleyerek sonucunu rica ederim. Bunlardan unit testler olusturup, bir sonraki guncellemelerde bu tarz regression sorunu olmayacak sekilde guncellerim. |
Selamlar,
|
issue #227 deniz bank 3d cekim hatasi
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ı.
şu şekilde yazdım dönüş beklemekteyim.
The text was updated successfully, but these errors were encountered: