function processPayment($data, $form) { $inputs['Amount'] = $this->Amount->Amount; $inputs['InputCurrency'] = $this->Amount->Currency; $inputs['TxnData1'] = $this->ID; $inputs['TxnType'] = 'Purchase'; $inputs['CardHolderName'] = $data['CardHolderName']; $inputs['CardNumber'] = implode('', $data['CardNumber']); $inputs['DateExpiry'] = $data['DateExpiry']; if (self::$cvn_mode) { $inputs['Cvc2'] = $data['Cvc2'] ? $data['Cvc2'] : ''; } $adapter = new DPSAdapter(); $responseFields = $adapter->doPayment($inputs); $adapter->ProcessResponse($this, $responseFields); if ($this->Status == 'Success') { $result = new Payment_Success(); } else { $result = new Payment_Failure(); } return $result; }