function _log_transaction() { // check if ($this->_is_transaction($_POST['M_custom'])) { // tran id $tran_id = (int) $_POST['M_custom']; // return data if (isset($_POST['M_payment_type'])) { $option_name = $this->module . '_' . strtolower($_POST['M_payment_type']) . '_return_data'; } else { $option_name = $this->module . '_return_data'; } // set mgm_add_transaction_option(array('transaction_id' => $tran_id, 'option_name' => $option_name, 'option_value' => json_encode($_POST))); // options $options = array('M_payment_type', 'futurePayId', 'transId', 'futurePayStatusChange', 'ctransreceipt'); // loop foreach ($options as $option) { if (isset($_POST[$option])) { mgm_add_transaction_option(array('transaction_id' => $tran_id, 'option_name' => strtolower($this->module . '_' . $option), 'option_value' => $_POST[$option])); } } // return transaction id return $tran_id; } // error return false; }
function _log_transaction() { // check if ($this->_is_transaction($_POST['x_custom'])) { // tran id $tran_id = (int) $_POST['x_custom']; // return data if (isset($this->response['transaction_type'])) { $option_name = $this->module . '_' . strtolower($this->response['transaction_type']) . '_return_data'; } else { $option_name = $this->module . '_return_data'; } // set mgm_add_transaction_option(array('transaction_id' => $tran_id, 'option_name' => $option_name, 'option_value' => json_encode($this->response))); // options $options = array('transaction_type', 'subscription_id', 'transaction_id'); // loop foreach ($options as $option) { if (isset($this->response[$option])) { mgm_add_transaction_option(array('transaction_id' => $tran_id, 'option_name' => strtolower($this->module . '_' . $option), 'option_value' => $this->response[$option])); } } // return transaction id return $tran_id; } // error return false; }
function _log_transaction() { // custom $alt_tran_id = $this->_get_alternate_transaction_id(); // check if ($this->_is_transaction($alt_tran_id)) { // tran id $tran_id = (int) $alt_tran_id; // return data /*if(isset($_REQUEST['txn_type'])){ $option_name = $this->module.'_'.strtolower($_REQUEST['txn_type']).'_return_data'; }else{*/ $option_name = $this->module . '_return_data'; //} // set mgm_add_transaction_option(array('transaction_id' => $tran_id, 'option_name' => $option_name, 'option_value' => json_encode($_POST))); // options $options = array('TxAuthNo', 'VPSTxId'); // loop foreach ($options as $option) { if (isset($_POST[$option])) { mgm_add_transaction_option(array('transaction_id' => $tran_id, 'option_name' => strtolower($this->module . '_' . $option), 'option_value' => $_POST[$option])); } } // return transaction id return $tran_id; } // error return false; }
function _log_transaction() { // parse $passthrough = $this->_parse_passthrough(); // check if ($this->_is_transaction($passthrough['custom'])) { // tran id $tran_id = (int) $passthrough['custom']; // return data if (isset($_POST['ctransaction'])) { $option_name = $this->module . '_' . strtolower($_POST['ctransaction']) . '_return_data'; } else { $option_name = $this->module . '_return_data'; } // set mgm_add_transaction_option(array('transaction_id' => $tran_id, 'option_name' => $option_name, 'option_value' => json_encode($_POST))); // options $options = array('ctransaction', 'ctransreceipt'); // loop foreach ($options as $option) { if (isset($_POST[$option])) { mgm_add_transaction_option(array('transaction_id' => $tran_id, 'option_name' => strtolower($this->module . '_' . $option), 'option_value' => $_POST[$option])); } } // return transaction id return $tran_id; } // error return false; }
/** * record transaction details * * @return unknown */ function _log_transaction() { // check if ($this->_is_transaction($_POST['custom'])) { // tran id $tran_id = (int) $_POST['custom']; // return data if (isset($this->response['TRANSACTIONTYPE'])) { $option_name = $this->module . '_' . strtolower($this->response['TRANSACTIONTYPE']) . '_return_data'; } else { $option_name = $this->module . '_return_data'; } // set mgm_add_transaction_option(array('transaction_id' => $tran_id, 'option_name' => $option_name, 'option_value' => json_encode($this->response))); // options $options = array('PROFILEID', 'CORRELATIONID', 'TRANSACTIONID'); // loop foreach ($options as $option) { if (isset($this->response[$option])) { mgm_add_transaction_option(array('transaction_id' => $tran_id, 'option_name' => strtolower($this->module . '_' . $option), 'option_value' => isset($this->response[$option]) ? $this->response[$option] : '')); } } // return transaction id return $tran_id; } // error return false; }
function _log_transaction() { // check if ($this->_is_transaction($_POST['custom'])) { // tran id $tran_id = (int) $_POST['custom']; // return data if (isset($this->response->object)) { $option_name = $this->module . '_' . strtolower($this->response->object) . '_return_data'; } else { $option_name = $this->module . '_return_data'; } // set mgm_add_transaction_option(array('transaction_id' => $tran_id, 'option_name' => $option_name, 'option_value' => json_encode($this->response))); // options $options = array('object', 'id', 'created', 'invoice'); // loop foreach ($options as $option) { if (isset($this->response->{$option})) { // value $option_value = $this->response->{$option}; // id if ($option == 'id') { $option = $this->response->object . '_' . $option; } // customer_id, charge_id // add mgm_add_transaction_option(array('transaction_id' => $tran_id, 'option_name' => strtolower($this->module . '_' . $option), 'option_value' => $option_value)); } } // return transaction id return $tran_id; } // error return false; }
function _log_transaction() { // passthrough var $alt_tran_id = $this->_get_alternate_transaction_id(); // check if ($this->_is_transaction($alt_tran_id)) { // tran id $tran_id = (int) $alt_tran_id; // return data if (isset($_POST['message_type'])) { $option_name = $this->module . '_' . strtolower($_POST['message_type']) . '_return_data'; } else { $option_name = $this->module . '_return_data'; } // set mgm_add_transaction_option(array('transaction_id' => $tran_id, 'option_name' => $option_name, 'option_value' => json_encode($_POST))); // options $options = array('message_type', 'order_number', 'sale_id'); // loop foreach ($options as $option) { // set if (isset($_POST[$option])) { mgm_add_transaction_option(array('transaction_id' => $tran_id, 'option_name' => strtolower($this->module . '_' . $option), 'option_value' => $_POST[$option])); } } // sale id if (isset($_POST['order_number']) && !isset($_POST['sale_id'])) { mgm_add_transaction_option(array('transaction_id' => $tran_id, 'option_name' => $this->module . '_sale_id', 'option_value' => $_POST['order_number'])); } // return transaction id return $tran_id; } // error return false; }
function _log_transaction() { // check if ($this->_is_transaction($_REQUEST['extra'])) { // tran id $tran_id = (int) $_REQUEST['extra']; // return data if (isset($_REQUEST['Action'])) { $option_name = $this->module . '_' . strtolower($_REQUEST['Action']) . '_return_data'; } else { $option_name = $this->module . '_return_data'; } // set mgm_add_transaction_option(array('transaction_id' => $tran_id, 'option_name' => $option_name, 'option_value' => json_encode($_REQUEST))); // options $options = array('Action', 'SUBSCRIPTION_ID', 'SubscriptionID', 'TRANSACTION_ID'); // loop foreach ($options as $option) { // check if (isset($_REQUEST[$option])) { mgm_add_transaction_option(array('transaction_id' => $tran_id, 'option_name' => strtolower($this->module . '_' . $option), 'option_value' => $_REQUEST[$option])); } } // return transaction id return $tran_id; } // error return false; }
/** * API helper method add transaction option * * @param array $data * @return int $id * @deprecated * @see mgm_add_transaction_option() */ function _add_transaction_option($data) { // return return mgm_add_transaction_option($data); }
function _log_transaction() { // check if ($this->_is_transaction($_POST['apc_1'])) { // tran id $tran_id = (int) $_POST['apc_1']; // return data if (isset($_POST['ap_purchasetype'])) { $option_name = $this->module . '_' . strtolower($_POST['ap_purchasetype']) . '_return_data'; } else { $option_name = $this->module . '_return_data'; } // set mgm_add_transaction_option(array('transaction_id' => $tran_id, 'option_name' => $option_name, 'option_value' => json_encode($_POST))); // options $options = array('ap_purchasetype', 'ap_subscriptionreferencenumber', 'ap_referencenumber'); // loop foreach ($options as $option) { if (isset($_POST[$option])) { mgm_add_transaction_option(array('transaction_id' => $tran_id, 'option_name' => strtolower($this->module . '_' . $option), 'option_value' => $_POST[$option])); } } // return transaction id return $tran_id; } // error return false; }
/** * create recurring profile */ function _create_paypal_profile() { // double check if ($_POST['RESULT'] != 0) { return; } // @todo // void the auth // $this->_void_auth(); // tran $tran = mgm_get_transaction($_POST['M_CUSTOM']); // pack $pack = $tran['data']; // log // mgm_log($pack, $this->module . __FUNCTION__); // one time billing cycle if (isset($pack['num_cycles']) && (int) $pack['num_cycles'] == 1) { // log mgm_log('Exit Flag for One time billing', $this->module . __FUNCTION__); // exit return; } // log mgm_log('Process flag to Create Profile', $this->module . __FUNCTION__); // user data $user_id = $pack['user_id']; $user = get_userdata($user_id); // item $item = $this->get_pack_item($pack); // periods $pay_periods = array('d' => 'DAYS', 'w' => 'WEEK', 'm' => 'MONT', 'y' => 'YEAR'); // day not supported by Paypal $pay_terms = array('d' => 365, 'w' => 52, 'm' => 12, 'y' => 1); // secured $secured = array('PARTNER' => $this->setting['partner'], 'VENDOR' => $this->setting['vendor'], 'USER' => $this->setting['username'], 'PWD' => $this->setting['password'], 'MAXFAILPAYMENTS' => (int) $this->setting['max_failed_payments']); // greater than 0, set term to ongoing if ((int) $pack['num_cycles'] > 1) { $term = $pay_terms[$pack['duration_type']] * ($pack['num_cycles'] - 1); // reduce 1 since auth captures first payment right away } else { $term = 0; } // exprs $duration_exprs = mgm_get_class('subscription_packs')->get_duration_exprs(); //array('d'=>'DAY','w' => 'WEEK', 'm'=>'MONTH', 'y'=>'YEAR' ); // start date should be next billing cycle date, //date('mdY', strtotime('+1 DAY')),//MMDDYYYY $start_date = date('mdY', strtotime('+' . 1 * (int) $pack['duration'] . ' ' . $duration_exprs[$pack['duration_type']])); // method switch ($_POST['METHOD']) { case 'CC': // Credit Card DCC // comment $comment = sprintf('%s By %s', $item['name'], $user->user_email); # code... $data = array('TRXTYPE' => 'R', 'TENDER' => 'C', 'ACTION' => 'A', 'PROFILENAME' => $item['name'], 'ORIGID' => $_POST['PNREF'], 'START' => $start_date, 'PAYPERIOD' => $pay_periods[$pack['duration_type']], 'TERM' => $term, 'AMT' => $pack['cost'], 'EMAIL' => $user->user_email, 'DESC' => $item['name'], 'COMMENT1' => $this->_remove_special_chars($comment)); break; case 'P': // PayPal, EC // PayPal, EC default: // comment $comment = sprintf('%s By %s', $item['name'], $user->user_email); # code... $data = array('TRXTYPE' => 'R', 'TENDER' => 'P', 'ACTION' => 'A', 'PROFILENAME' => $item['name'], 'BAID' => isset($_POST['BAID']) && !empty($_POST['BAID']) ? $_POST['BAID'] : $_POST['PNREF'], 'START' => $start_date, 'PAYPERIOD' => $pay_periods[$pack['duration_type']], 'TERM' => $term, 'AMT' => $pack['cost'], 'EMAIL' => $user->user_email, 'DESC' => $item['name'], 'COMMENT1' => $this->_remove_special_chars($comment)); // check, notify admin if (!isset($_POST['BAID']) || empty($_POST['BAID'])) { // subject $subject = 'BAID missing in PayPal Payflow Profile Creation'; // message $message = sprintf('BAID missing in PayPal Payflow Profile Creation, Please contact PayPal, POST DATA: %s', print_r($_POST, true)); // send mgm_notify_admin(null, $subject, $message); // log mgm_log($message, $this->module . __FUNCTION__); } break; } // additional fields $this->_set_address_fields($user, $data); // merge $data = array_merge($secured, $data); // log mgm_log($data, $this->module . __FUNCTION__); // data $data_post = _http_build_query($data, null, '&', '', false); // do not encode // link $post_url = $this->_get_endpoint(); //issue #1508 $url_parsed = parse_url($post_url); // domain/host $domain = $url_parsed['host']; // headers $http_headers = array('POST /cgi-bin/webscr HTTP/1.1\\r\\n', 'Content-Type: application/x-www-form-urlencoded\\r\\n', 'Host: ' . $domain . '\\r\\n', 'Connection: close\\r\\n\\r\\n'); // post $http_response = mgm_remote_post($post_url, $data_post, array('headers' => $http_headers, 'timeout' => 30, 'sslverify' => false)); // parse $response = array(); // parse parse_str($http_response, $response); // log mgm_log($response, $this->module . __FUNCTION__); // profile id if ($response['RESULT'] == 0) { // set in post $_POST['PROFILEID'] = $response['PROFILEID']; // set in option mgm_add_transaction_option(array('transaction_id' => $_POST['M_CUSTOM'], 'option_name' => strtolower($this->module . '_PROFILEID'), 'option_value' => isset($_POST['PROFILEID']) ? $_POST['PROFILEID'] : '')); } }