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 } }
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 }