本文整理汇总了PHP中Varien_Object::getTransactionId方法的典型用法代码示例。如果您正苦于以下问题:PHP Varien_Object::getTransactionId方法的具体用法?PHP Varien_Object::getTransactionId怎么用?PHP Varien_Object::getTransactionId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Varien_Object
的用法示例。
在下文中一共展示了Varien_Object::getTransactionId方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: capture
/**
* Capture (confirm) an open transaction ('AUTHORIZED') at svea. We use the
* ConfirmTransaction class directly because the operation is simple.
*
* @param Varien_Object $payment
* @param float $amount
* @return $this|void
* @throws Mage_Payment_Exception
*/
public function capture(Varien_Object $payment, $amount)
{
$sveaOrderId = $payment->getParentTransactionId();
if (null === $sveaOrderId) {
// If there is no previous authorization
$sveaOrderId = $payment->getTransactionId();
}
$order = $payment->getOrder();
$paymentMethodConfig = $this->getSveaStoreConfClass($order->getStoreId());
$config = new SveaMageConfigProvider($paymentMethodConfig);
$countryId = $order->getBillingAddress()->getCountryId();
$confirmTransactionRequest = new Svea\HostedService\ConfirmTransaction($config);
$confirmTransactionRequest->countryCode = $countryId;
$confirmTransactionRequest->transactionId = $sveaOrderId;
$defaultCaptureDate = explode('T', date('c'));
// [0] contains date part
$confirmTransactionRequest->captureDate = $defaultCaptureDate[0];
$response = $confirmTransactionRequest->doRequest();
if ($response->accepted !== 1) {
$message = 'Capture failed for transaction ' . $sveaOrderId . ': ' . $response->errormessage . ' (' . $response->resultcode . ')';
throw new Mage_Payment_Exception($message);
}
$result = $this->_flatten($response);
$payment->setIsTransactionClosed(true)->setTransactionAdditionalInfo(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS, $result);
return $this;
}
示例2: assignData
public function assignData($data)
{
if (!$data instanceof Varien_Object) {
$data = new Varien_Object($data);
}
$info = $this->getInfoInstance();
$info->setTransactionId($data->getTransactionId());
return $this;
}
示例3: _registerCard
/**
* It sets card`s data into additional information of payment model
* AuthorizeNet has added additional_information field in sale_flat_order_payment table
* where they savve credit card info, and disallow to save the card in other fields,
* This method is temprory and we need to fetch the card info from additional_information
* field.
* @param Mage_Paygate_Model_Authorizenet_Result $response
* @param Mage_Sales_Model_Order_Payment $payment
* @return Varien_Object
*/
protected function _registerCard(Varien_Object $response, Mage_Sales_Model_Order_Payment $payment)
{
//$isAuth = Mage::getStoreConfig('editorder/general/reauth');
//if(isset($isAuth) && $isAuth == 1) {
$cardsStorage = $this->getCardsStorage($payment);
$card = $cardsStorage->registerCard();
$card->setRequestedAmount($response->getRequestedAmount())->setBalanceOnCard($response->getBalanceOnCard())->setLastTransId($response->getTransactionId())->setProcessedAmount($response->getAmount())->setCcType($payment->getCcType())->setCcOwner($payment->getCcOwner())->setCcLast4($payment->getCcLast4())->setCcExpMonth($payment->getCcExpMonth())->setCcExpYear($payment->getCcExpYear())->setCcSsIssue($payment->getCcSsIssue())->setCcSsStartMonth($payment->getCcSsStartMonth())->setCcSsStartYear($payment->getCcSsStartYear());
$cardsStorage->updateCard($card);
//below is the only reason to override this method,
//$this->_clearAssignedData($payment);
return $card;
//}
}
示例4: addPaymentsToPayload
/**
* Make prepaid credit card payloads for any payments
* remaining in the list
* @param Mage_Sales_Model_Order $order
* @param IPaymentContainer $paymentContainer
* @param SplObjectStorage $processedPayments
*/
public function addPaymentsToPayload(Mage_Sales_Model_Order $order, IPaymentContainer $paymentContainer, SplObjectStorage $processedPayments)
{
foreach ($order->getAllPayments() as $payment) {
if ($this->_shouldIgnorePayment($payment, $processedPayments)) {
continue;
}
$iterable = $paymentContainer->getPayments();
$payload = $iterable->getEmptyCreditCardPayment();
$additionalInfo = new Varien_Object($payment->getAdditionalInformation());
$payload->setOrderId($order->getIncrementId())->setTenderType($additionalInfo->getTenderType())->setAccountUniqueId($this->_getAccountUniqueId($payment))->setPanIsToken($additionalInfo->getPanIsToken())->setPaymentRequestId($additionalInfo->getRequestId())->setCreateTimestamp($this->_getAsDateTime($payment->getCreatedAt()))->setAmount($payment->getAmountAuthorized())->setBankAuthorizationCode($additionalInfo->getBankAuthorizationCode())->setResponseCode($additionalInfo->getResponseCode())->setCVV2ResponseCode($additionalInfo->getCvv2ResponseCode())->setAVSResponseCode($additionalInfo->getAvsResponseCode())->setPhoneResponseCode($additionalInfo->getPhoneResponseCode())->setNameResponseCode($additionalInfo->getNameResponseCode())->setEmailResponseCode($additionalInfo->getEmailResponseCode())->setAmountAuthorized($additionalInfo->getAmountAuthorized())->setExpirationDate($this->_getExpirationDateTime($payment))->setExtendedAuthDescription($additionalInfo->getExtendedAuthDescription())->setExtendedAuthReasonCode($additionalInfo->getExtendedAuthReasonCode())->setIssueNumber($additionalInfo->getIssueNumber())->setAuthenticationAvailable($additionalInfo->getAuthenticationAvailable())->setAuthenticationStatus($additionalInfo->getAuthenticationStatus())->setCavvUcaf($additionalInfo->getCavvUcaf())->setTransactionId($additionalInfo->getTransactionId())->setECI($additionalInfo->getECI())->setPayerAuthenticationResponse($additionalInfo->getPayerAuthenticationResponse())->setPurchasePlanCode($additionalInfo->getPurchasePlanCode())->setPurchasePlanDescription($additionalInfo->getPurchasePlanDescription());
if ($additionalInfo->getStartDate()) {
// prevent death by type error if getStartDate returns null
$payload->setStartDate($this->_getAsDateTime($additionalInfo->getStartDate()));
}
// add the new payload
$iterable->OffsetSet($payload, $payload);
// put the payment in the processed payments set
$processedPayments->attach($payment);
}
}
示例5: capture
/**
* For Svea, Deliver order
*
* @param Varien_Object $payment
* @param type $amount
* @return type
*/
public function capture(Varien_Object $payment, $amount)
{
// Check if we are trying to deliver an existing order, or this is an autodeliver
// If no flag e.g. -capture, or if no transactionid, assume this is not sent from admin
//TODO: Make sure compatible with onestep checkout
$sveaOrderId = $payment->getTransactionId();
if (empty($sveaOrderId) || preg_match('/[A-Za-z]/', $sveaOrderId) == FALSE) {
if (!$this->getConfigData('autodeliver')) {
$errorTranslated = Mage::helper('svea_webpay')->responseCodes("", 'no_orderid');
Mage::throwException($errorTranslated);
}
$sveaOrderId = $this->getInfoInstance()->getAdditionalInformation('svea_order_id');
}
$order = $payment->getOrder();
$paymentMethodConfig = $this->getSveaStoreConfClass($order->getStoreId());
$invoice = $this->getCurrentInvoice();
Mage::helper('svea_webpay')->getDeliverInvoiceRequest($invoice, $paymentMethodConfig, $sveaOrderId);
$sveaObject = $invoice->getData('svea_deliver_request');
$response = $sveaObject->deliverInvoiceOrder()->doRequest();
if ($response->accepted == 1) {
$successMessage = Mage::helper('svea_webpay')->__('delivered');
$orderStatus = $this->getConfigData('paid_order_status') ?: $order->getStatus();
if (!empty($orderStatus)) {
$order->addStatusToHistory($orderStatus, $successMessage, false);
}
$rawDetails = $this->_sveaResponseToArray($response);
$payment->setTransactionId($response->invoiceId)->setIsTransactionClosed(false)->setTransactionAdditionalInfo(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS, $rawDetails);
} else {
$errorMessage = $response->errormessage;
$statusCode = $response->resultcode;
$errorTranslated = Mage::helper('svea_webpay')->responseCodes($statusCode, $errorMessage);
if ($order->canCancel()) {
$order->addStatusToHistory($order->getStatus(), $errorTranslated, false);
$order->cancel();
$order->save();
}
return Mage::throwException($errorTranslated);
}
return $this;
}
示例6: capture
/**
* Capture payment
*
* @param Mage_Sales_Model_Order_Payment $payment
* @param float $amount
* @return Mage_Paypal_Model_Express
*/
public function capture(Varien_Object $payment, $amount)
{
$authorizationTransaction = $payment->getAuthorizationTransaction();
$authorizationPeriod = abs(intval($this->getConfigData('authorization_honor_period')));
$maxAuthorizationNumber = abs(intval($this->getConfigData('child_authorization_number')));
$order = $payment->getOrder();
$isAuthorizationCreated = false;
if ($payment->getAdditionalInformation($this->_isOrderPaymentActionKey)) {
$voided = false;
if (!$authorizationTransaction->getIsClosed() && $this->_isTransactionExpired($authorizationTransaction, $authorizationPeriod)) {
//Save payment state and configure payment object for voiding
$isCaptureFinal = $payment->getShouldCloseParentTransaction();
$captureTrxId = $payment->getTransactionId();
$payment->setShouldCloseParentTransaction(false);
$payment->setParentTransactionId($authorizationTransaction->getTxnId());
$payment->unsTransactionId();
$payment->setVoidOnlyAuthorization(true);
$payment->void(new Varien_Object());
//Revert payment state after voiding
$payment->unsAuthorizationTransaction();
$payment->unsTransactionId();
$payment->setShouldCloseParentTransaction($isCaptureFinal);
$voided = true;
}
if ($authorizationTransaction->getIsClosed() || $voided) {
if ($payment->getAdditionalInformation($this->_authorizationCountKey) > $maxAuthorizationNumber - 1) {
Mage::throwException(Mage::helper('paypal')->__('The maximum number of child authorizations is reached.'));
}
$api = $this->_callDoAuthorize($amount, $payment, $authorizationTransaction->getParentTxnId());
//Adding authorization transaction
$this->_pro->importPaymentInfo($api, $payment);
$payment->setTransactionId($api->getTransactionId());
$payment->setParentTransactionId($authorizationTransaction->getParentTxnId());
$payment->setIsTransactionClosed(false);
$formatedPrice = $order->getBaseCurrency()->formatTxt($amount);
if ($payment->getIsTransactionPending()) {
$message = Mage::helper('paypal')->__('Authorizing amount of %s is pending approval on gateway.', $formatedPrice);
} else {
$message = Mage::helper('paypal')->__('Authorized amount of %s.', $formatedPrice);
}
$transaction = $payment->addTransaction(Mage_Sales_Model_Order_Payment_Transaction::TYPE_AUTH, null, true, $message);
$payment->setParentTransactionId($api->getTransactionId());
$isAuthorizationCreated = true;
}
//close order transaction if needed
if ($payment->getShouldCloseParentTransaction()) {
$orderTransaction = $payment->lookupTransaction(false, Mage_Sales_Model_Order_Payment_Transaction::TYPE_ORDER);
if ($orderTransaction) {
$orderTransaction->setIsClosed(true);
$order->addRelatedObject($orderTransaction);
}
}
}
if (false === $this->_pro->capture($payment, $amount)) {
$this->_placeOrder($payment, $amount);
}
if ($isAuthorizationCreated && isset($transaction)) {
$transaction->setIsClosed(true);
}
return $this;
}
示例7: _registerCard
/**
* It sets card`s data into additional information of payment model
*
* @param Mage_Paygate_Model_Authorizenet_Result $response
* @param Mage_Sales_Model_Order_Payment $payment
* @return Varien_Object
*/
protected function _registerCard(Varien_Object $response, Mage_Sales_Model_Order_Payment $payment)
{
$cardsStorage = $this->getCardsStorage($payment);
$card = $cardsStorage->registerCard();
$card->setRequestedAmount($response->getRequestedAmount())->setBalanceOnCard($response->getBalanceOnCard())->setLastTransId($response->getTransactionId())->setProcessedAmount($response->getAmount())->setCcType($payment->getCcType())->setCcOwner($payment->getCcOwner())->setCcLast4($payment->getCcLast4())->setCcExpMonth($payment->getCcExpMonth())->setCcExpYear($payment->getCcExpYear())->setCcSsIssue($payment->getCcSsIssue())->setCcSsStartMonth($payment->getCcSsStartMonth())->setCcSsStartYear($payment->getCcSsStartYear());
$cardsStorage->updateCard($card);
$this->_clearAssignedData($payment);
return $card;
}
示例8: refund
/**
* Refund a capture transaction
*
* @param Varien_Object $payment
* @param float $amount
*/
public function refund(Varien_Object $payment, $amount)
{
$result = $this->getPbridgeMethodInstance()->refund($payment, $amount);
if ($result) {
$result = new Varien_Object($result);
$result->setRefundTransactionId($result->getTransactionId());
$canRefundMore = $payment->getOrder()->canCreditmemo();
$this->_importRefundResultToPayment($result, $payment, $canRefundMore);
}
return $result;
}
示例9: _authorize
/**
* Authorize, with option to Capture
*/
protected function _authorize(Varien_Object $payment, $amount, $captureNow = false)
{
$order = $payment->getOrder();
$sellerAuthorizationNote = null;
// Sandbox simulation testing for Stand Alone Checkout
if ($payment->getAdditionalInformation('sandbox') && $this->_getApi()->getConfig()->isSandbox()) {
$sellerAuthorizationNote = $payment->getAdditionalInformation('sandbox');
}
// For core and third-party checkouts, may test credit card decline by uncommenting:
//$sellerAuthorizationNote = '{"SandboxSimulation": {"State":"Declined", "ReasonCode":"InvalidPaymentMethod", "PaymentMethodUpdateTimeInMins":5}}';
$result = $this->_getApi()->authorize($payment->getTransactionId(), $this->_getMagentoReferenceId($payment) . '-auth', $amount, $order->getBaseCurrencyCode(), $captureNow, $captureNow ? $this->_getSoftDescriptor() : null, $sellerAuthorizationNote);
$status = $result->getAuthorizationStatus();
switch ($status->getState()) {
case Amazon_Payments_Model_Api::AUTH_STATUS_PENDING:
case Amazon_Payments_Model_Api::AUTH_STATUS_OPEN:
case Amazon_Payments_Model_Api::AUTH_STATUS_CLOSED:
$payment->setTransactionId($result->getAmazonAuthorizationId());
$payment->setParentTransactionId($payment->getAdditionalInformation('order_reference'));
$payment->setIsTransactionClosed(false);
// Add transaction
if ($captureNow) {
if (!$this->getConfigData('is_async')) {
$transactionSave = Mage::getModel('core/resource_transaction');
$captureReferenceIds = $result->getIdList()->getmember();
if ($order->canInvoice()) {
// Create invoice
$invoice = $order->prepareInvoice()->register();
$invoice->setTransactionId(current($captureReferenceIds));
$transactionSave->addObject($invoice)->addObject($invoice->getOrder());
}
$transactionSave->save();
}
$transactionType = Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE;
$message = Mage::helper('payment')->__('Authorize and capture request for %s sent to Amazon Payments.', $order->getStore()->convertPrice($amount, true, false));
} else {
$transactionType = Mage_Sales_Model_Order_Payment_Transaction::TYPE_AUTH;
$message = Mage::helper('payment')->__('Authorize request for %s sent to Amazon Payments.', $order->getStore()->convertPrice($amount, true, false));
}
$payment->addTransaction($transactionType, null, false, $message);
break;
case Amazon_Payments_Model_Api::AUTH_STATUS_DECLINED:
// Cancel order reference
if ($status->getReasonCode() == 'TransactionTimedOut') {
$this->_getApi()->cancelOrderReference($payment->getTransactionId());
}
$this->_setErrorCheck();
Mage::throwException("Amazon could not process your order.\n\n" . $status->getReasonCode() . " (" . $status->getState() . ")\n" . $status->getReasonDescription());
break;
default:
$this->_setErrorCheck();
Mage::throwException('Amazon could not process your order.');
break;
}
}
示例10: _buildBasicRequest
/**
* Prepare base request
*
* @access public
* @return object which was set with all basic required information
*/
protected function _buildBasicRequest(Varien_Object $payment)
{
if (!$payment->getTender()) {
$payment->setTender(self::TENDER_CC);
}
$request = Mage::getModel('paygate/payflow_pro_request')->setUser($this->getConfigData('user'))->setVendor($this->getConfigData('vendor'))->setPartner($this->getConfigData('partner'))->setPwd($this->getConfigData('pwd'))->setTender($payment->getTender())->setTrxtype($payment->getTrxtype())->setVerbosity($this->getConfigData('verbosity'))->setRequestId($this->_generateRequestId())->setOrigid($payment->getTransactionId());
return $request;
}
示例11: _authorize
/**
* Authorize, with option to Capture
*/
protected function _authorize(Varien_Object $payment, $amount, $captureNow = false)
{
$order = $payment->getOrder();
$sellerAuthorizationNote = null;
// Sandbox simulation testing for Stand Alone Checkout
if ($payment->getAdditionalInformation('sandbox') && $this->_getApi($order->getStoreId())->getConfig()->isSandbox()) {
$sellerAuthorizationNote = $payment->getAdditionalInformation('sandbox');
// Allow async decline testing
if ($this->getConfigData('is_async') && strpos($sellerAuthorizationNote, 'InvalidPaymentMethod') !== false) {
$this->isForceSync = false;
}
}
// For core and third-party checkouts, may test credit card decline by uncommenting:
//$sellerAuthorizationNote = '{"SandboxSimulation": {"State":"Declined", "ReasonCode":"InvalidPaymentMethod", "PaymentMethodUpdateTimeInMins":5}}';
$result = $this->_getApi($order->getStoreId())->authorize($payment->getTransactionId(), $this->_getMagentoReferenceId($payment) . '-auth', $amount, $order->getBaseCurrencyCode(), $captureNow, $captureNow ? $this->_getSoftDescriptor() : null, $sellerAuthorizationNote, $this->isForceSync);
$status = $result->getAuthorizationStatus();
switch ($status->getState()) {
case Amazon_Payments_Model_Api::AUTH_STATUS_PENDING:
case Amazon_Payments_Model_Api::AUTH_STATUS_OPEN:
case Amazon_Payments_Model_Api::AUTH_STATUS_CLOSED:
$payment->setTransactionId($result->getAmazonAuthorizationId());
$payment->setParentTransactionId($payment->getAdditionalInformation('order_reference'));
$payment->setIsTransactionClosed(false);
// Add transaction
if ($captureNow) {
if ($this->isForceSync) {
// Not async
$transactionSave = Mage::getModel('core/resource_transaction');
$captureReferenceIds = $result->getIdList()->getmember();
if ($order->canInvoice()) {
// Create invoice
$invoice = $order->prepareInvoice()->register();
$invoice->setTransactionId(current($captureReferenceIds));
$transactionSave->addObject($invoice)->addObject($invoice->getOrder());
}
$transactionSave->save();
}
$transactionType = Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE;
$message = Mage::helper('payment')->__('Authorize and capture request for %s sent to Amazon Payments.', $order->getStore()->convertPrice($amount, true, false));
} else {
$transactionType = Mage_Sales_Model_Order_Payment_Transaction::TYPE_AUTH;
$message = Mage::helper('payment')->__('Authorize request for %s sent to Amazon Payments.', $order->getStore()->convertPrice($amount, true, false));
}
$payment->addTransaction($transactionType, null, false, $message);
break;
case Amazon_Payments_Model_Api::AUTH_STATUS_DECLINED:
if ($status->getReasonCode() == 'TransactionTimedOut') {
// Preform async if TTO
if ($this->isForceSync && $this->getConfigData('is_async')) {
// Remove sandbox simulation test
if (strpos($sellerAuthorizationNote, 'TransactionTimedOut') !== false) {
$payment->setAdditionalInformation('sandbox', null);
}
$this->isForceSync = false;
$order->addStatusHistoryComment('Error: TransactionTimedOut, performing asynchronous authorization.');
$order->save();
$this->_authorize($payment, $amount, $captureNow);
return;
} else {
$this->_getApi($order->getStoreId())->cancelOrderReference($payment->getTransactionId());
}
}
$this->_setErrorCheck();
// specific error handling for InvalidPaymentMethod decline scenario
if ($status->getReasonCode() == 'InvalidPaymentMethod') {
Mage::throwException("There was a problem with your payment. Please select another payment method from the Amazon Wallet and try again.");
break;
}
// all other declines - AmazonRejected && ProcessingFailure && TransactionTimedOut (when async is off)
Mage::throwException("Amazon could not process your order. Please try again. If this continues, please select a different payment option.\n\n" . $status->getReasonCode() . " (" . $status->getState() . ")\n" . $status->getReasonDescription());
break;
default:
$this->_setErrorCheck();
Mage::throwException('Amazon could not process your order.');
break;
}
}
示例12: _importResultToPayment
/**
* Import direct payment results to payment
*
* @param Varien_Object $api
* @param Mage_Sales_Model_Order_Payment $payment
*/
protected function _importResultToPayment($api, $payment)
{
$payment->setTransactionId($api->getTransactionId())->setIsTransactionClosed(0)->setIsTransactionPending($api->getIsPaymentPending());
$payflowTrxid = $api->getData(Enterprise_Pbridge_Model_Payment_Method_Paypaluk_Pro::TRANSPORT_PAYFLOW_TXN_ID);
$payment->setPreparedMessage(Mage::helper('enterprise_pbridge')->__('Payflow PNREF: #%s.', $payflowTrxid));
$this->_pro->importPaymentInfo($api, $payment);
}
示例13: _addTransaction
/**
* Add transaction with correct transaction Id
*
* @param Varien_Object $payment
* @param string $txnId
* @return void
*/
protected function _addTransaction($payment, $txnId)
{
$previousTxnId = $payment->getTransactionId();
$payment->setTransactionId($txnId);
$payment->addTransaction(Mage_Sales_Model_Order_Payment_Transaction::TYPE_AUTH);
$payment->setTransactionId($previousTxnId);
}
示例14: _afterCapture
/**
* Catch execution after capturing to reauthorize (if incomplete partial capture).
*/
protected function _afterCapture(Varien_Object $payment, $amount, Varien_Object $response)
{
$outstanding = round($payment->getOrder()->getBaseTotalDue() - $amount, 4);
/**
* If this is a pre-auth capture for less than the total value of the order,
* try to reauthorize any remaining balance. So we have it.
*/
if ($this->gateway()->getHaveAuthorized() && $this->getConfigData('advanced/require_ccv') !== true && $outstanding > 0) {
try {
$this->_log(sprintf('_afterCapture(): Reauthorizing for %s', $outstanding));
$shippingId = $this->gateway()->getParameter('customerShippingAddressId');
$this->gateway()->clearParameters();
$this->gateway()->setCard($this->gateway()->getCard());
$this->gateway()->setParameter('customerShippingAddressId', $shippingId);
$this->gateway()->setIsReauthorize(true);
$authResponse = $this->gateway()->authorize($payment, $outstanding);
$payment->getOrder()->setExtOrderId(sprintf('%s:%s', $authResponse->getTransactionId(), $authResponse->getAuthCode()));
} catch (Exception $e) {
$payment->getOrder()->setExtOrderId(sprintf('%s:', $response->getTransactionId()));
}
} else {
$payment->getOrder()->setExtOrderId(sprintf('%s:', $response->getTransactionId()));
}
return parent::_afterCapture($payment, $amount, $response);
}
示例15: authenticate
/**
* Process authenticate validation
*
* @param Varien_Object $data
*/
public function authenticate($data)
{
$validationState = $this->_getValidationState();
if (!$validationState || $data->getTransactionId() != $validationState->getLookupTransactionId()) {
throw new Exception('Authentication impossible: transaction id or validation state is wrong.');
}
$api = $this->_getApi();
$result = $api->callAuthentication($data);
$validationState->setAuthenticateResult($result);
if (!$validationState->isAuthenticateSuccessful()) {
$this->reset();
}
}