throw new Exception('Incorrect seller email'); } if (erLhcoreClassModelInstanceInvoice::getCount(array('filter' => array('txn_id' => $txn_id))) == 0) { $db = ezcDbInstance::get(); try { $db->beginTransaction(); $invoice = new erLhcoreClassModelInstanceInvoice(); $invoice->order_item = $_POST['option_selection1']; $invoice->txn_id = $txn_id; $invoice->instance_id = (int) $_POST['custom']; $invoice->amount = round($payment_amount * 100); $invoice->currency = $payment_currency; $dataLog = $_POST; $dataLog['raw_response'] = $res; $invoice->log = json_encode($dataLog, JSON_PRETTY_PRINT); $invoice->saveThis(); $optionPurchased = $_POST['option_selection1']; $paypalSellerOptions = erConfigClassLhConfig::getInstance()->getSetting('site', 'seller_paypal_options'); $requestNumber = $paypalSellerOptions[$optionPurchased]['r']; $periodDays = $paypalSellerOptions[$optionPurchased]['p']; $instance = erLhcoreClassModelInstance::fetch($invoice->instance_id); if ($instance->is_reseller) { $instance->reseller_request += $requestNumber; } else { $instance->request += $requestNumber; } if ($instance->expires == 0 || $instance->expires < time()) { $instance->expires = time() + (int) $periodDays * 24 * 3600; } else { $instance->expires += (int) $periodDays * 24 * 3600; }