Example #1
0
function espresso_display_authnet($payment_data)
{
    extract($payment_data);
    // Setup class
    include_once 'Authorize.php';
    global $org_options, $wpdb;
    $myAuthorize = new Espresso_Authorize();
    // initiate an instance of the class
    echo '<!--Event Espresso Authorize.net Gateway Version ' . $myAuthorize->gateway_version . '-->';
    $authnet_settings = get_option('event_espresso_authnet_settings');
    $authnet_login_id = empty($authnet_settings['authnet_login_id']) ? '' : $authnet_settings['authnet_login_id'];
    $authnet_transaction_key = empty($authnet_settings['authnet_transaction_key']) ? '' : $authnet_settings['authnet_transaction_key'];
    $image_url = empty($authnet_settings['image_url']) ? '' : $authnet_settings['image_url'];
    $use_sandbox = $authnet_settings['use_sandbox'];
    $use_testmode = $authnet_settings['test_transactions'];
    if ($use_testmode) {
        // Enable test mode if needed
        $myAuthorize->enableTestMode();
    }
    if ($use_sandbox) {
        // Enable test mode if needed
        $myAuthorize->useTestServer();
    }
    $quantity = !empty($quantity) ? $quantity : espresso_count_attendees_for_registration($attendee_id);
    $myAuthorize->setUserInfo($authnet_login_id, $authnet_transaction_key);
    $myAuthorize->addField('x_Relay_URL', espresso_build_gateway_url('return_url', $payment_data, 'authnet'));
    $myAuthorize->addField('x_Description', stripslashes_deep($event_name) . ' | ' . __('Reg. ID:', 'event_espresso') . ' ' . $attendee_id . ' | ' . __('Name:', 'event_espresso') . ' ' . stripslashes_deep($fname . ' ' . $lname) . ' | ' . __('Total Registrants:', 'event_espresso') . ' ' . $quantity);
    $myAuthorize->addField('x_Amount', number_format($event_cost, 2));
    $myAuthorize->addField('x_Logo_URL', $image_url);
    $myAuthorize->addField('x_Invoice_num', 'au-' . event_espresso_session_id());
    //Post variables
    $myAuthorize->addField('x_cust_id', $attendee_id);
    $myAuthorize->addField('x_first_name', $fname);
    $myAuthorize->addField('x_last_name', $lname);
    $myAuthorize->addField('x_Email', $attendee_email);
    $myAuthorize->addField('x_Address', $address);
    $myAuthorize->addField('x_City', $city);
    $myAuthorize->addField('x_State', $state);
    $myAuthorize->addField('x_Zip', $zip);
    $sql = "SELECT attendee_session FROM " . EVENTS_ATTENDEE_TABLE . " WHERE id='" . $attendee_id . "'";
    $session_id = $wpdb->get_var($sql);
    $sql = "SELECT a.final_price, a.quantity, ed.event_name, a.price_option, a.fname, a.lname FROM " . EVENTS_ATTENDEE_TABLE . " a JOIN " . EVENTS_DETAIL_TABLE . " ed ON a.event_id=ed.id ";
    $sql .= " WHERE attendee_session='" . $session_id . "' ORDER BY a.id ASC";
    $items = $wpdb->get_results($sql);
    foreach ($items as $key => $item) {
        $item_num = $key + 1;
        $myAuthorize->addLineItem($item_num, strlen($item->event_name) > 30 ? substr_replace($item->event_name, '', 30) : $item->event_name, substr_replace($item->price_option . ' for ' . $item->event_name . '. Attendee: ' . $item->fname . ' ' . $item->lname, '', 255), $item->quantity, $item->final_price, FALSE);
    }
    //Enable this function if you want to send payment notification before the person has paid.
    //This function is copied on the payment processing page
    //event_espresso_send_payment_notification($attendee_id, $txn_id, $amount_pd);
    //Decide if you want to auto redirect to your payment website or display a payment button.
    if (!empty($authnet_settings['bypass_payment_page']) && $authnet_settings['bypass_payment_page'] == 'Y') {
        $myAuthorize->submitPayment();
        //Enable auto redirect to payment site
    } else {
        $button_url = espresso_select_button_for_display($authnet_settings['button_url'], "authnet/btn_cc_vmad.gif");
        $myAuthorize->submitButton($button_url, 'authnet');
        //Display payment button
    }
    if ($use_sandbox) {
        echo '<p>Test credit card # 4007000000027</p>';
        echo '<h3 style="color:#ff0000;" title="Payments will not be processed">' . __('Debug Mode Is Turned On', 'event_espresso') . '</h3>';
        $myAuthorize->dump_fields();
        // for debugging, output a table of all the fields
    }
}
Example #2
0
function espresso_display_eway_rapid3($data)
{
    extract($data);
    global $org_options;
    $eway_rapid3_settings = get_option('event_espresso_eway_rapid3_settings');
    //if(empty($_GET['AccessCode']) || empty($_SESSION['eway_rapid3_url'])){
    require_once 'includes/EWayRapid3Client.class.php';
    $payment_data = espresso_gateway_get_payment_data($data['registration_id']);
    //var_dump($payment_data);
    $rapid3Client = new Espresso_EWayRapid3Client(array('apiKey' => $eway_rapid3_settings['eway_rapid3_api_key'], 'apiPassword' => $eway_rapid3_settings['eway_rapid3_api_password'], 'useSandbox' => $eway_rapid3_settings['eway_rapid3_use_sandbox']));
    $totalCost = intval(floatval($payment_data['total_cost']) * 100);
    $payment = array('TotalAmount' => $totalCost, 'InvoiceDescription' => $event_name, 'CurrencyCode' => $eway_rapid3_settings['currency_format']);
    $eway_rapid3RequestData = array('Payment' => $payment);
    $redirectUrl = espresso_build_gateway_url('return_url', $payment_data, 'eway_rapid3', array('eway_rapid3' => 'true'));
    $rapid3Response = $rapid3Client->createAccessCode($eway_rapid3RequestData, $redirectUrl, 'ProcessPayment');
    if (empty($rapid3Response)) {
        echo '<div id="message" class="clear"><p class="error">**' . __('An error occcurred communicating with EWay Rapid 3 Gateway\'s Server. You probably have the wrong API Key', 'event_espresso') . '</p></div>';
        return;
    }
    $error = empty($rapid3Response->FormActionURL) || empty($rapid3Response->AccessCode);
    $_SESSION['eway_rapid3_url'] = $rapid3Response->FormActionURL;
    $ewayRapid3AccessCode = $rapid3Response->AccessCode;
    /*	echo "use new access code!";
    	}else{
    		echo "use old access code!:".$_GET['AccessCode'].$_SESSION['eway_rapid3_url'];
    		$ewayRapid3AccessCode=$_GET['AccessCode'];
    	}*/
    wp_register_script('eway_rapid3', EVENT_ESPRESSO_PLUGINFULLURL . 'gateways/eway_rapid3/eway_rapid3.js', array('jquery.validate.js'), '1.0', TRUE);
    wp_enqueue_script('eway_rapid3');
    ?>
<div id="eway_rapid3-payment-option-dv" class="payment-option-dv">

	<a id="eway_rapid3-payment-option-lnk" class="payment-option-lnk display-the-hidden" rel="eway_rapid3-payment-option-form" style="cursor:pointer;">
		<img alt="Pay using Credit Card" src="<?php 
    echo EVENT_ESPRESSO_PLUGINFULLURL;
    ?>
gateways/pay-by-credit-card.png">
	</a>	

	<div id="eway_rapid3-payment-option-form-dv" class="hide-if-js">	
		<div class="event-display-boxes">
			<?php 
    if ($eway_rapid3_settings['display_header']) {
        ?>
				<h3 class="payment_header"><?php 
        echo $eway_rapid3_settings['header'];
        ?>
</h3>
			<?php 
    }
    ?>
			<?php 
    if ($error) {
        ?>
				<p class='error'><?php 
        _e("An error has occured in the using of the Eway Rapid 3.0 payment gateway. Please try a different gateway", "event_espresso");
        ?>
</p>
			<?php 
    } else {
        ?>
				<div class = "event_espresso_form_wrapper">
					<form id="eway_rapid3_payment_form" name="eway_rapid3_payment_form" method="post" action="<?php 
        echo $_SESSION['eway_rapid3_url'];
        ?>
">

						<fieldset id="paypal-credit-card-info-dv">
							<h4 class="section-title"><?php 
        _e('Credit Card Information', 'event_espresso');
        ?>
</h4>
							<p>
								<label for="first_name"><?php 
        _e('Cardholder Full Name', 'event_espresso');
        ?>
</label>
								<input name="EWAY_CARDNAME" type="text" id="ppp_first_name" class="required" value="<?php 
        echo $fname;
        ?>
 <?php 
        echo $lname;
        ?>
" />
							</p>
							<p>
								<label for="card_num"><?php 
        _e('Card Number', 'event_espresso');
        ?>
</label>
								<input type="text" name="EWAY_CARDNUMBER" class="required" id="ppp_card_num" autocomplete="off" />
							</p>
							<p>
								<label for="card-exp"><?php 
        _e('Expiration Month', 'event_espresso');
        ?>
</label>
								<select id="ppp_card-exp" name ="EWAY_CARDEXPIRYMONTH" class="med required">
											<?php 
        for ($i = 1; $i < 13; $i++) {
            $paddedMonth = str_pad($i, 2, '0', STR_PAD_LEFT);
            echo "<option value='{$paddedMonth}'>{$paddedMonth}</option>";
        }
        ?>
								</select>
							</p>
							<p>
								<label for="exp-year"><?php 
        _e('Expiration Year', 'event_espresso');
        ?>
</label>
								<select id="ppp_exp-year" name ="EWAY_CARDEXPIRYYEAR" class="med required">
											<?php 
        $curr_year = date("Y");
        for ($i = 0; $i < 10; $i++) {
            $disp_year = $curr_year + $i;
            echo "<option value='" . (intval($disp_year) - 2000) . "'>{$disp_year}</option>";
        }
        ?>
								</select>
							</p>
							<p>
								<label for="cvv"><?php 
        _e('CVN Code', 'event_espresso');
        ?>
</label>
								<input type="text" name="EWAY_CARDCVN" id="ppp_exp_date" autocomplete="off" class="small required" />
							</p>
						</fieldset>

						<input name="EWAY_ACCESSCODE" type='hidden' value='<?php 
        echo $ewayRapid3AccessCode;
        ?>
'/>
						<p class="event_form_submit">
							<input name="eway_rapid3_submit" id="eway_rapid3_submit" class="submit-payment-btn allow-leave-page" type="submit" value="<?php 
        _e('Complete Purchase', 'event_espresso');
        ?>
" />
							<div class="clear"></div>
						</p>
						<span id="processing"></span>
					</form>

				</div><!-- / .event_espresso_or_wrapper -->
			<?php 
    }
    ?>
		</div>
		<br/>
		<p class="choose-diff-pay-option-pg">
			<a class="hide-the-displayed" rel="eway_rapid3-payment-option-form" style="cursor:pointer;"><?php 
    _e('Choose a different payment option', 'event_espresso');
    ?>
</a>
		</p>

	</div>
</div>		
	<?php 
}