paytr / magento2-payment

PayTR - Magento 2 Payment Add-on
4 stars 2 forks source link

Pending de kalan işlem #3

Closed evreneter closed 1 year ago

evreneter commented 1 year ago

` 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();

        $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.

ikinci return 'OK' 'un kaldırılması lazım.

paytr-dev-02 commented 1 year ago

İlgili hata, modülün 1.1.0 sürümünde giderildi. Modülü güncelleyip kullanıma devam edebilisiniz.