Ejemplo n.º 1
0
 private function processSuccessPayment($cart, $customer, $currency, $orderTotal, $responseCheckout, $transactionLog)
 {
     if ($responseCheckout['status'] == $this->module->processedStatus) {
         $cartId = (int) $cart->id;
         $secureKey = $customer->secure_key;
         $paymentName = $transactionLog['payment_name'];
         $currencyId = (int) $currency->id;
         $paymentStatus = Configuration::get('PS_OS_PAYMENT');
         $this->module->validateOrder($cartId, $paymentStatus, $orderTotal, $paymentName, null, array(), $currencyId, false, $secureKey);
         $this->updateTransLog($this->module->currentOrder, $responseCheckout);
         $this->context->cookie->skrill_paymentName = $transactionLog['payment_name'];
         Tools::redirect($this->orderConfirmationUrl . $cartId . '&id_module=' . (int) $this->module->id . '&id_order=' . $this->module->currentOrder . '&key=' . $secureKey);
     } else {
         $this->module->updateTransLogStatus($responseCheckout['mb_transaction_id'], $responseCheckout['status']);
         if ($responseCheckout['status'] == $this->module->failedStatus) {
             $errorStatus = SkrillPaymentCore::getSkrillErrorMapping($responseCheckout['failed_reason_code']);
             $this->redirectError($errorStatus);
         }
         $this->redirectError('SKRILL_ERROR_99_GENERAL');
     }
 }