public function fetchAll() { $resultSet = $this->getDbTable()->fetchAll(); $entries = array(); foreach ($resultSet as $row) { $entry = new PAP_Model_Charge(); $entry->setId($row->charge_id)->setUserId($row->user_id)->setPeriod($row->period)->setAmount($row->amount)->setFinalAmount($row->final_amount)->setDiscount($row->discount)->setStatus($row->status)->setCreated($row->created); $entries[] = $entry; } return $entries; }
public function sendpaymentAction() { $this->_helper->layout->setLayout('json'); $callback = $this->getRequest()->getParam('jsoncallback'); if ($callback != "") { // strip all non alphanumeric elements from callback $callback = preg_replace('/[^a-zA-Z0-9_]/', '', $callback); } $this->view->callback = $callback; $data = $this->_getParam("data"); $payment_json = $data['data'][0]; $charges = $payment_json['charges_ids']; $charges = explode(',', $charges); try { foreach ($charges as $charge_id) { $charge = new PAP_Model_Charge(); $charge->loadById($charge_id); $payment = new PAP_Model_Payment(); $payment->setAmount($charge->getAmount())->setChargeId($charge->getId())->setControl($payment_json['nro_tx'])->setMethodId($payment_json['operacion'])->setPaymentDate($payment_json['fecha']); if ($payment_json['operacion'] == "T") { $payment->setEntity($payment_json['banco_origen']); } else { $payment->setEntity($payment_json['banco_destino']); } $payment->save(); $charge->setStatus('S'); $charge->save(); } $data = array(); $data['result_code'] = '0'; $data['result_message'] = 'Información del pago informada guardada con éxito.'; $response = $this->getFrontController()->getResponse(); $response->appendBody($callback . '(' . json_encode($data) . ')'); $this->getFrontController()->setResponse($response); } catch (Exception $ex) { $data = array(); $data['result_code'] = $ex->getCode(); $data['result_message'] = 'Hubo un error guardando la información del pago. Por favor envíe un email a soporte@promosalpaso.com con dicha información.'; $response = $this->getFrontController()->getResponse(); $response->appendBody($callback . '(' . json_encode($data) . ')'); $this->getFrontController()->setResponse($response); } }
private function getPendingPayments(PAP_Model_User $user = null) { $payments = array(); $unpaidCharges = PAP_Model_Charge::getUnpaidCharges($user); $periods = array(); foreach ($unpaidCharges as $charge) { $period = new PAP_Model_Period(); $period->loadByCode($charge->getPeriod()); $periods[$charge->getId()] = $period; } if (!isset($user)) { $payments = PAP_Model_Payment::getAllPayments($periods); } else { $payments = PAP_Model_Payment::getPayments($user, $periods); } return $payments; }
public static function getUnpaidCharges(PAP_Model_User $user = null) { $charges = array(); $mapper = new PAP_Model_ChargeMapper(); if (isset($user)) { $result = $mapper->getUnpaidCharges($user->getId()); } else { $result = $mapper->getUnpaidCharges(); } foreach ($result as $chargerecord) { $charge = new PAP_Model_Charge(); $charge->setId($chargerecord["charge_id"])->setAmount($chargerecord["amount"])->setDiscount($chargerecord["discount"])->setCreated($chargerecord["created"])->setFinalAmount($chargerecord["final_amount"])->setStatus($chargerecord["status"])->setPeriod($chargerecord["period"])->setUserId($chargerecord["user_id"]); $charges[] = $charge; } return $charges; }