php - adyen callback not received -
i trying implement adyen api project , encountering following issue:
at first, receiving notification callback adyen authorisation true , transatction status 1, after this, not receiving other notification. if payment process captured true, notification not arrive.
i have tested adyen notifications in adyen sandbox, , notifications work. here code sample of callback file:
if (($eventcode=="authorisation") && ($success=="true")) { if($paymentrecharge['status']!=0) //check if status placed { releasetablelock($orderid); print('[accepted]'); return; } if (($paymentrecharge['adyen_amount']!=$value) || ($paymentrecharge['currency']!=$currency)) //check see if paid value same our value, otherwise fraud { setpaymentstatus($orderid,5); releasetablelock($orderid); print('[accepted]'); return; } markasauthorised($orderid); //changes status 1 - authorised //check if need capture automatically if($adyenparams['adyen_capture']==1) { $adyen = new adyengateway(); $data = array(); $data["params"] = $adyenparams; $data["userid"] = $paymentrecharge['customerid']; $response; $result=$adyen->capture($data,$pspreference,$response,$paymentrecharge['userid'],$paymentrecharge['adyen_amount'],$paymentrecharge['currency']); } } if (($eventcode=="authorisation") && ($success=="false")) { setpaymentstatus($orderid,6); releasetablelock($orderid); print('[accepted]'); return; } if (($eventcode=="capture") && ($success=="true")) { setpaymentstatus($orderid,2); processpayment($orderid); } //release payment order lock releasetablelock($orderid); print('[accepted]');
any ideas why happening?
the solution not in sample of code shared earlier. happened - per usual, have table lock, given fact adyen sends parallel notifications , modifications , maybe of them other accounts made payment , if table lock failed, sending them [failed] response, instead of [accepted].
adyen not accept [failed] responses. doing results in message queue getting blocked retries. mentioned in documentation.
their system not understand [failed], [accepted]. , matter, because had older payments kept coming notifications adyen, system did not find them , lock failed kept sending them [failed] response. , adyen placed me in penalty box , marked me not receiving notifications.
Comments
Post a Comment