예제 #1
0
     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;
         }