$order->setState(Order::STATE_PROCESSING, true); $order->setStatus(Order::STATE_PROCESSING);
$order->save();
return 'OK';
}
**return 'OK';**
}
return 'HATA: Sipariş durumu tamamlanmadı. Tekrar deneniyor.';
}`
if ($order->getState()) {
şartının dışında kalan "return 'OK';" order'ın pending de kalmasına sebep oluyor. Bir sebepten dolayı paytr ilk kez bildirim yaptığında if($order->getState() == Order::STATE_PENDING_PAYMENT) { şartı geçerli olmuyor ama sistem OK döndüğü için birdaha bildirim yapılmıyor.
` public function addTransactionToOrder($order, $response) { if ($order->getState()) { if($order->getState() == Order::STATE_PENDING_PAYMENT) { $payment = $order->getPayment(); $payment->setLastTransId($response['merchant_oid']); $payment->setTransactionId($response['merchant_oid']); $transaction = $this->transactionBuilder->setPayment($payment) ->setOrder($order) ->setTransactionId($response['merchant_oid']) ->setAdditionalInformation( [Transaction::RAW_DETAILS => (array) $response] ) ->setFailSafe(true) ->build(Transaction::TYPE_ORDER); $payment->addTransactionCommentsToOrder( $transaction, $this->customNote($response, $order) ); $payment->setParentTransactionId(null); $payment->save();
if ($order->getState()) { şartının dışında kalan "return 'OK';" order'ın pending de kalmasına sebep oluyor. Bir sebepten dolayı paytr ilk kez bildirim yaptığında if($order->getState() == Order::STATE_PENDING_PAYMENT) { şartı geçerli olmuyor ama sistem OK döndüğü için birdaha bildirim yapılmıyor.
ikinci return 'OK' 'un kaldırılması lazım.