public function save(PAP_Model_Payment $payment) { $data = array('charge_id' => $payment->getChargeId(), 'amount' => $payment->getAmount(), 'control' => $payment->getControl(), 'status' => $payment->getStatus(), 'info' => $payment->getInfo(), 'method_id' => $payment->getMethodId(), 'payment_date' => $payment->getPaymentDate(), 'entity' => $payment->getEntity(), 'created' => date('Y-m-d H:i:s')); if (null === ($id = $payment->getId())) { unset($data['payment_id']); $this->getDbTable()->insert($data); } else { $this->getDbTable()->update($data, array('payment_id = ?' => $id)); } }