_data[self::SID])) { return true; } return false; } /** * * get setup form elements * * @return array */ public function getElements() { $translate = $this->getTranslate(); return array( array( 'form_id' => 'TCheckout', 'id' => self::SID, 'element' => 'text', 'label' => $this->_('2Checkout Account Number'), 'description' => $translate->_('Enter your account number
' . '2Checkout IPN URL:
') . $this->getIpnUrl(), 'attributes' => array( 'class' => 'form-control input-medium', ), ), ); } public function formElements() { return array( array( 'id' => self::SID, 'value' => $this->_data[self::SID], 'element' => 'hidden', ), array( 'id' => 'mode', 'value' => '2CO', 'element' => 'hidden', ), array( 'id' => 'li_0_type', 'value' => 'product', 'element' => 'hidden', ), array( 'id' => 'li_0_name', 'value' => $this->_shortenString($this->getName(), 128), 'element' => 'hidden', ), array( 'id' => 'li_0_price', 'value' => $this->getAmount(), 'element' => 'hidden', ), array( 'id' => 'transaction_id', 'value' => $this->getTransactionId(), 'element' => 'hidden', ), array( 'id' => 'currency_code', 'value' => $this->getCurrency(), 'element' => 'hidden', ), array( 'id' => 'x_receipt_link_url', 'value' => $this->getIpnUrl(), 'element' => 'hidden', ), ); } public function getPostUrl() { return self::POST_URL; } /** * * process ipn * * @param \Cube\Controller\Request\AbstractRequest $request * * @return bool */ public function processIpn(AbstractRequest $request) { $response = false; if ($request->isPost()) { $paymentStatus = $request->getParam('credit_card_processed'); $this->setTransactionId($request->getParam('transaction_id')) ->setAmount($request->getParam('total')) ->setCurrency($request->getParam('currency_code')) ->setGatewayPaymentStatus($request->getParam('credit_card_processed')) ->setGatewayTransactionCode($request->getParam('order_number')); if ($paymentStatus == 'Y') { $response = true; } } return $response; } }