/** * @depends testSerializationDeserialization * @param WebProfile $obj */ public function testGetters($obj) { $this->assertEquals($obj->getId(), "TestSample"); $this->assertEquals($obj->getName(), "TestSample"); $this->assertEquals($obj->getFlowConfig(), FlowConfigTest::getObject()); $this->assertEquals($obj->getInputFields(), InputFieldsTest::getObject()); $this->assertEquals($obj->getPresentation(), PresentationTest::getObject()); }
/** * Create payment for curretn quote * * @param WebProfile $webProfile * @param Mage_Sales_Model_Quote $quote * @return boolean */ public function createPayment($webProfile, $quote, $taxFailure = false) { $payer = new Payer(); $payer->setPaymentMethod("paypal"); $itemList = $this->buildItemList($quote, $taxFailure); $shippingAddress = $this->buildShippingAddress($quote); if ($shippingAddress) { $itemList->setShippingAddress($shippingAddress); } $amount = $this->buildAmount($quote); $transaction = new Transaction(); $transaction->setAmount($amount); $transaction->setItemList($itemList); $baseUrl = Mage::getBaseUrl(); $redirectUrls = new RedirectUrls(); $redirectUrls->setReturnUrl($baseUrl . 'paypalplus/index/success')->setCancelUrl(Mage::helper('checkout/url')->getCheckoutUrl()); $payment = new Payment(); $payment->setIntent("sale")->setExperienceProfileId($webProfile->getId())->setPayer($payer)->setRedirectUrls($redirectUrls)->setTransactions(array($transaction)); try { $response = $payment->create($this->_apiContext); Mage::getSingleton('customer/session')->setPayPalPaymentId($response->getId()); Mage::getSingleton('customer/session')->setPayPalPaymentPatched(null); } catch (PayPal\Exception\PayPalConnectionException $ex) { if (!$taxFailure) { return $this->createPayment($webProfile, $quote, true); } Mage::helper('iways_paypalplus')->handleException($ex); return false; } catch (Exception $e) { Mage::logException($e); return false; } return $response; }