public function testGenerateUniqueId() { Mage::init(); $payment = new Varien_Object(); $order = new Varien_Object(); $billingAddress = new Varien_Object(); $order->setBillingAddress($billingAddress); $payment->setOrder($order); $litle = new Litle_CreditCard_Model_PaymentLogic(); $mock = $this->getMock('Mage_Payment_Model_Info'); $hash = $litle->generateAuthorizationHash('123', '100', $mock, $payment); $this->assertEquals('123', $hash['id']); }
public function testAppendReceiverEmail() { $request = new Dhl_Intraship_Model_Soap_Client_Shipment_Create(); $parcel = new Varien_Object(); $shipment = new Varien_Object(); $billingAddress = new Varien_Object(); $billingAddress->setPackageNotification(true); $shipment->setBillingAddress($billingAddress); $parcel->setShipment($shipment); $receiver = new Varien_Object(); $receiver->setEmail('*****@*****.**'); $shipmentOrder = array('Shipment' => array('Receiver' => array('Communication' => array('email' => null)))); $params = new Dhl_Intraship_Model_Soap_Client_Shipment_Create(); $params->offsetSet('ShipmentOrder', $shipmentOrder); $request->offsetSet('shipment', $parcel); $request->offsetSet('receiver', $receiver); $request->offsetSet('params', $params); $observer = Mage::getModel('dhlaccount/observer'); $event = new Varien_Event_Observer(); $eventData = new Varien_Object(); $eventData->setRequest($request); $event->setEvent($eventData); $observer->appendReceiverEmail($event); $shipmentOrder = $request->offsetGet('params')->offsetGet('ShipmentOrder'); $this->assertTrue(array_key_exists('Shipment', $shipmentOrder)); $this->assertTrue(array_key_exists('Receiver', $shipmentOrder['Shipment'])); $this->assertTrue(array_key_exists('Communication', $shipmentOrder['Shipment']['Receiver'])); $this->assertTrue(array_key_exists('email', $shipmentOrder['Shipment']['Receiver']['Communication'])); $this->assertEquals('*****@*****.**', $shipmentOrder['Shipment']['Receiver']['Communication']['email']); }
/** * Return commno data for *all* transactions. * @return array Data */ public function _getGeneralTrnData(Varien_Object $payment) { $order = $payment->getOrder(); $quoteObj = $this->_getQuote(); $vendorTxCode = $this->_getTrnVendorTxCode(); if ($payment->getCcNumber()) { $vendorTxCode .= $this->_cleanString(substr($payment->getCcOwner(), 0, 10)); } $payment->setVendorTxCode($vendorTxCode); $request = new Varien_Object(); $request->setVPSProtocol('2.23')->setReferrerID($this->getConfigData('referrer_id'))->setVendor($this->getConfigData('vendor'))->setVendorTxCode($vendorTxCode); $request->setClientIPAddress($this->getClientIp()); if ($payment->getIntegra()) { $this->getSageSuiteSession()->setLastVendorTxCode($vendorTxCode); $request->setIntegration($payment->getIntegra()); $request->setData('notification_URL', $this->getNotificationUrl() . '&vtxc=' . $vendorTxCode); $request->setData('success_URL', $this->getSuccessUrl()); $request->setData('redirect_URL', $this->getRedirectUrl()); $request->setData('failure_URL', $this->getFailureUrl()); } if ($this->_getIsAdminOrder()) { $request->setAccountType('M'); } if ($payment->getAmountOrdered()) { $from = $order->getOrderCurrencyCode(); if ((string) $this->getConfigData('trncurrency') == 'store') { $request->setAmount($this->formatAmount($quoteObj->getGrandTotal(), $quoteObj->getQuoteCurrencyCode())); $request->setCurrency($quoteObj->getQuoteCurrencyCode()); } else { $request->setAmount($this->formatAmount($quoteObj->getBaseGrandTotal(), $quoteObj->getBaseCurrencyCode())); $request->setCurrency($quoteObj->getBaseCurrencyCode()); } } if (!empty($order)) { $billing = $order->getBillingAddress(); if (!empty($billing)) { $request->setBillingAddress($billing->getStreet(1) . ' ' . $billing->getCity() . ' ' . $billing->getRegion() . ' ' . $billing->getCountry())->setBillingSurname($this->ss($billing->getLastname(), 20))->setBillingFirstnames($this->ss($billing->getFirstname(), 20))->setBillingPostCode($this->ss($billing->getPostcode(), 10))->setBillingAddress1($this->ss($billing->getStreet(1), 100))->setBillingAddress2($this->ss($billing->getStreet(2), 100))->setBillingCity($this->ss($billing->getCity(), 40))->setBillingCountry($billing->getCountry())->setContactNumber(substr($this->_cphone($billing->getTelephone()), 0, 20)); if ($billing->getCountry() == 'US') { $request->setBillingState($billing->getRegionCode()); } $request->setCustomerEMail($billing->getEmail()); } if (!$request->getDescription()) { $request->setDescription('.'); } $shipping = $order->getShippingAddress(); if (!empty($shipping)) { $request->setDeliveryAddress($shipping->getStreet(1) . ' ' . $shipping->getCity() . ' ' . $shipping->getRegion() . ' ' . $shipping->getCountry())->setDeliverySurname($this->ss($shipping->getLastname(), 20))->setDeliveryFirstnames($this->ss($shipping->getFirstname(), 20))->setDeliveryPostCode($this->ss($shipping->getPostcode(), 10))->setDeliveryAddress1($this->ss($shipping->getStreet(1), 100))->setDeliveryAddress2($this->ss($shipping->getStreet(2), 100))->setDeliveryCity($this->ss($shipping->getCity(), 40))->setDeliveryCountry($shipping->getCountry())->setDeliveryPhone($this->ss(urlencode($this->_cphone($shipping->getTelephone())), 20)); if ($shipping->getCountry() == 'US') { $request->setDeliveryState($shipping->getRegionCode()); } } else { #If the cart only has virtual products, I need to put an shipping address to Sage Pay. #Then the billing address will be the shipping address to $request->setDeliveryAddress($billing->getStreet(1) . ' ' . $billing->getCity() . ' ' . $billing->getRegion() . ' ' . $billing->getCountry())->setDeliverySurname($this->ss($billing->getLastname(), 20))->setDeliveryFirstnames($this->ss($billing->getFirstname(), 20))->setDeliveryPostCode($this->ss($billing->getPostcode(), 10))->setDeliveryAddress1($this->ss($billing->getStreet(1), 100))->setDeliveryAddress2($this->ss($billing->getStreet(2), 100))->setDeliveryCity($this->ss($billing->getCity(), 40))->setDeliveryCountry($billing->getCountry())->setDeliveryPhone($this->ss(urlencode($this->_cphone($billing->getTelephone())), 20)); if ($billing->getCountry() == 'US') { $request->setDeliveryState($billing->getRegionCode()); } } } if ($payment->getCcNumber()) { $request->setCardNumber($payment->getCcNumber())->setExpiryDate(sprintf('%02d%02d', $payment->getCcExpMonth(), substr($payment->getCcExpYear(), strlen($payment->getCcExpYear()) - 2)))->setCardType($payment->getCcType())->setCV2($payment->getCcCid())->setCardHolder($payment->getCcOwner()); if ($payment->getCcIssue()) { $request->setIssueNumber($payment->getCcIssue()); } if ($payment->getCcStartMonth() && $payment->getCcStartYear()) { $request->setStartDate(sprintf('%02d%02d', $payment->getCcStartMonth(), substr($payment->getCcStartYear(), strlen($payment->getCcStartYear()) - 2))); } } $totals = $shipping->getTotals(); $shippingTotal = isset($totals['shipping']) ? $totals['shipping']->getValue() : 0; if ($this->getSendBasket()) { $request->setBasket($this->_getBasketContents($quoteObj)); } if (!$request->getDeliveryPostCode()) { $request->setDeliveryPostCode('000'); } if (!$request->getBillingPostCode()) { $request->setBillingPostCode('000'); } return $request; }