controller = $controller; $this->przelewy24 = new Przelewy24(); } /** * 'type' parameter indicates which action should be executed to handle this error. * - success - there is no error, no additional action required * - blikcode - error message will be displayed as error of input "blikCode" * - alias - error message will be handled as alias error (user will be asked to provide blikCode) * - wait - shows no additional information, user will have to wait for * GetTransactionStatus to return proper status (or timeout) * - fatal - transaction error screen will be displayed, transaction status will be changed to "Payment error" * * @param int $errorCode * * @return Przelewy24ErrorResult */ public function getErrorMessage($errorCode) { switch ($errorCode) { case 0: $type = 'success'; $message = $this->przelewy24 ->getLangString('Success, no error'); break; case Przelewy24BlikErrorEnum::ERR_ALIAS_DECLINED: $type = 'alias'; $message = $this->przelewy24->getLangString('Your Blik alias was declined, please provide BlikCode'); break; case Przelewy24BlikErrorEnum::ERR_ALIAS_EXPIRED: $type = 'alias'; $message = $this->przelewy24 ->getLangString('Your Blik alias was declined, please provide BlikCode'); break; case Przelewy24BlikErrorEnum::ERR_ALIAS_IDENTIFICATION: $type = 'fatal'; $message = $this->przelewy24->getLangString('Identification not possible by given alias'); break; case Przelewy24BlikErrorEnum::ERR_ALIAS_INCORRECT: $type = 'alias'; $message = $this->przelewy24->getLangString('Your Blik alias is incorrect, please provide BlikCode'); break; case Przelewy24BlikErrorEnum::ERR_ALIAS_NOT_CONFIRMED: $type = 'alias'; $message = $this->przelewy24 ->getLangString('Your Blik alias is not confirmed, please provide BlikCode'); break; case Przelewy24BlikErrorEnum::ERR_ALIAS_NOT_FOUND: $type = 'alias'; $message = $this->przelewy24->getLangString('Your Blik alias was not found, please provide BlikCode'); break; case Przelewy24BlikErrorEnum::ERR_ALIAS_NOT_SUPPORTED: $type = 'alias'; $message = $this->przelewy24->getLangString( 'Alias payments are currently not supported, please provide BlikCode' ); break; case Przelewy24BlikErrorEnum::ERR_ALIAS_UNREGISTERED: $type = 'alias'; $message = $this->przelewy24 ->getLangString('Your Blik alias was unregistered, please provide BlikCode'); break; case Przelewy24BlikErrorEnum::ERR_BAD_PIN: $type = 'blikcode'; $message = $this->przelewy24->getLangString('Bad PIN provided, please generate new BlikCode'); break; case Przelewy24BlikErrorEnum::ERR_BLIK_DISABLED: $type = 'fatal'; $message = $this->przelewy24->getLangString('Blik service unavailable'); break; case Przelewy24BlikErrorEnum::ERR_BLIKCODE_REJECTED: $type = 'blikcode'; $message = $this->przelewy24 ->getLangString('Your BlikCode was rejected, please generate new BlikCode'); break; case Przelewy24BlikErrorEnum::ERR_INSUFFICIENT_FUNDS: $type = 'fatal'; $message = $this->przelewy24->getLangString('Insufficient funds'); break; case Przelewy24BlikErrorEnum::ERR_LIMIT_EXCEEDED: $type = 'fatal'; $message = $this->przelewy24->getLangString('Limit exceeded'); break; case Przelewy24BlikErrorEnum::ERR_PIN_DECLINED: $type = 'blikcode'; $message = $this->przelewy24->getLangString('Your PIN was rejected'); break; case Przelewy24BlikErrorEnum::ERR_TIMEOUT: case Przelewy24BlikErrorEnum::ERR_USER_TIMEOUT: $type = 'fatal'; $message = $this->przelewy24->getLangString('Transaction timeout'); break; case Przelewy24BlikErrorEnum::ERR_TICKET_EXPIRED: $type = 'blikcode'; $message = $this->przelewy24->getLangString('Your BlikCode has expired, please generate another'); break; case Przelewy24BlikErrorEnum::ERR_TICKET_FORMAT: $type = 'blikcode'; $message = $this->przelewy24->getLangString('Incorrect BlikCode format, please generate another'); break; case Przelewy24BlikErrorEnum::ERR_TICKET_INCORRECT: $type = 'blikcode'; $message = $this->przelewy24->getLangString('Your BlikCode is incorrect, please generate another'); break; case Przelewy24BlikErrorEnum::ERR_TICKET_USED: $type = 'blikcode'; $message = $this->przelewy24->getLangString('Your BlikCode was already used, please generate another'); break; case Przelewy24BlikErrorEnum::ERR_TRANSACTION_ALIAS_INCORRECT: $type = 'fatal'; $message = $this->przelewy24->getLangString('Transaction failed, incorrect alias'); break; case Przelewy24BlikErrorEnum::ERR_TRANSACTION_NOT_CONFIRMED: $type = 'wait'; $message = ''; break; default: $type = 'fatal'; $message = $this->przelewy24->getLangString('Blik payment error'); break; } return new Przelewy24ErrorResult($errorCode, $message, $type); } }