/** * Send To Success Page * * Sends the user to the succes page. * * @param string $query_string * @access public * @since 1.0 * @return void */ function edd_send_to_success_page($query_string = null) { $redirect = edd_get_success_page_uri(); if ($query_string) { $redirect .= $query_string; } $gateway = isset($_REQUEST['edd-gateway']) ? $_REQUEST['edd-gateway'] : ''; wp_redirect(apply_filters('edd_success_page_redirect', $redirect, $gateway, $query_string)); edd_die(); }
/** * Send To Success Page * * Sends the user to the succes page. * * @param string $query_string * @access public * @since 1.0 * @return void */ function edd_send_to_success_page($query_string = null) { global $edd_options; $redirect = edd_get_success_page_uri(); if ($query_string) { $redirect .= $query_string; } wp_redirect(apply_filters('edd_success_page_redirect', $redirect, $_POST['edd-gateway'], $query_string)); edd_die(); }
<div id="edd-payment-processing"> <p><?php printf(__('Your purchase is processing. This page will reload automatically in 8 seconds. If it does not, click <a href="%s">here</a>.', 'edd'), edd_get_success_page_uri()); ?> <span class="edd-cart-ajax"><i class="edd-icon-spinner edd-icon-spin"></i></span> <script type="text/javascript">setTimeout(function(){ window.location = '<?php echo edd_get_success_page_uri(); ?> '; }, 8000);</script> </div>
function edd_userpro_embed_profile_fields($hook_args) { if (!current_user_can('edit_user', $hook_args['user_id'])) { return; } echo '<div class="userpro-section userpro-column userpro-collapsible-1 userpro-collapsed-1">' . __('Purchase History', 'edd-userpro-embed') . '</div>'; echo '<div class="userpro-field userpro-field-edd-purchase-history userpro-field-view" data-key="edd-purchase-history">'; $purchases = edd_get_users_purchases($hook_args['user_id'], 99999, true, 'any'); if ($purchases) { do_action('edd_before_purchase_history'); ?> <table id="edd_user_history"> <thead> <tr class="edd_purchase_row"> <?php do_action('edd_purchase_history_header_before'); ?> <th class="edd_purchase_id"><?php _e('ID', 'easy-digital-downloads'); ?> </th> <th class="edd_purchase_date"><?php _e('Date', 'easy-digital-downloads'); ?> </th> <th class="edd_purchase_amount"><?php _e('Amount', 'easy-digital-downloads'); ?> </th> <th class="edd_purchase_details"><?php _e('Details', 'easy-digital-downloads'); ?> </th> <?php do_action('edd_purchase_history_header_after'); ?> </tr> </thead> <?php foreach ($purchases as $post) { setup_postdata($post); ?> <?php $purchase_data = edd_get_payment_meta($post->ID); ?> <tr class="edd_purchase_row"> <?php do_action('edd_purchase_history_row_start', $post->ID, $purchase_data); ?> <td class="edd_purchase_id">#<?php echo edd_get_payment_number($post->ID); ?> </td> <td class="edd_purchase_date"><?php echo date_i18n(get_option('date_format'), strtotime(get_post_field('post_date', $post->ID))); ?> </td> <td class="edd_purchase_amount"> <span class="edd_purchase_amount"><?php echo edd_currency_filter(edd_format_amount(edd_get_payment_amount($post->ID))); ?> </span> </td> <td class="edd_purchase_details"> <?php if ($post->post_status != 'publish') { ?> <span class="edd_purchase_status <?php echo $post->post_status; ?> "><?php echo edd_get_payment_status($post, true); ?> </span> <a href="<?php echo esc_url(add_query_arg('payment_key', edd_get_payment_key($post->ID), edd_get_success_page_uri())); ?> ">»</a> <?php } else { ?> <a href="<?php echo esc_url(add_query_arg('payment_key', edd_get_payment_key($post->ID), edd_get_success_page_uri())); ?> "><?php _e('View Details', 'edd-userpro-embed'); ?> </a> <?php } ?> </td> <?php do_action('edd_purchase_history_row_end', $post->ID, $purchase_data); ?> </tr> <?php } ?> </table> <?php do_action('edd_after_purchase_history'); ?> <?php wp_reset_postdata(); ?> <?php } else { ?> <p class="edd-no-purchases"><?php _e('You have not made any purchases', 'edd-userpro-embed'); ?> </p> <?php } echo '</div>'; }
<span class="edd_purchase_status <?php echo $post->post_status; ?> "><?php echo edd_get_payment_status($post, true); ?> </span> <a href="<?php echo esc_url(add_query_arg('payment_key', edd_get_payment_key($post->ID), edd_get_success_page_uri())); ?> ">»</a> <?php } else { ?> <a href="<?php echo esc_url(add_query_arg('payment_key', edd_get_payment_key($post->ID), edd_get_success_page_uri())); ?> "><?php _e('View Details and Downloads', 'edd'); ?> </a> <?php } ?> </td> <?php do_action('edd_purchase_history_row_end', $post->ID, $purchase_data); ?> </tr> <?php
/** * Process Payment * * Process payments trough the PagSeguro gateway. * * @return void * @since 1.0 */ function process_payment($purchase_data) { global $edd_options; // check there is a gateway name if (!isset($purchase_data['post_data']['edd-gateway'])) { return; } // get credentials $credentials = $this->get_credentials(); // check credentials have been set if (is_null($credentials['email']) || is_null($credentials['token'])) { edd_set_error(0, __('Please enter your PagSeguro Client Email and Token in settings', 'edd-pagseguro-gateway')); edd_send_back_to_checkout('?payment-mode=' . $purchase_data['post_data']['edd-gateway']); } // get payment $payment_data = array('price' => $purchase_data['price'], 'date' => $purchase_data['date'], 'user_email' => $purchase_data['user_email'], 'purchase_key' => $purchase_data['purchase_key'], 'currency' => edd_get_option('currency', 'BRL'), 'downloads' => $purchase_data['downloads'], 'user_info' => $purchase_data['user_info'], 'cart_details' => $purchase_data['cart_details'], 'status' => 'pending'); // insert pending payment $payment = edd_insert_payment($payment_data); if (!$payment) { // problems? send back edd_send_back_to_checkout('?payment-mode=' . $purchase_data['post_data']['edd-gateway']); } else { // require PagSeguro files $this->load_pagseguro_sdk(); // verify classes exists if (!class_exists('PagSeguroPaymentRequest')) { edd_send_back_to_checkout('?payment-mode=' . $purchase_data['post_data']['edd-gateway']); } // create payment request $paymentRequest = new PagSeguroPaymentRequest(); // sets the currency $paymentRequest->setCurrency('BRL'); // cart summary $cart_summary = edd_get_purchase_summary($purchase_data, false); // format total price $total_price = number_format($purchase_data['price'], 2, '.', ''); // payment request details $paymentRequest->addItem('01', sanitize_text_field(substr($cart_summary, 0, 95)), '1', strval($total_price)); // sets the reference code for this request $paymentRequest->setReference($payment); // sets customer information $paymentRequest->setSender(sanitize_text_field($purchase_data['user_info']['first_name'] . ' ' . $purchase_data['user_info']['last_name']), $purchase_data['user_email']); // redirect url $paymentRequest->setRedirectUrl(add_query_arg('payment-confirmation', 'pagseguro', edd_get_success_page_uri())); // IPN URL $paymentRequest->addParameter('notificationURL', get_site_url()); /* TRY CHECKOUT */ try { // generate credentials $credentials = new PagSeguroAccountCredentials($credentials['email'], $credentials['token']); // register this payment request in PagSeguro, to obtain the payment URL for redirect your customer $checkout_uri = $paymentRequest->register($credentials); if (gettype($checkout_uri) != 'string') { throw new exception($checkout_uri); } // empty cart edd_empty_cart(); // send the user to PagSeguro wp_redirect($checkout_uri); die; } catch (Exception $e) { //catch exception wp_mail(get_bloginfo('admin_email'), __('PagSeguro Checkout Error', 'edd-pagseguro-gateway'), $e->getMessage()); edd_set_error('pagseguro_exception', $e->getMessage()); edd_send_back_to_checkout('?payment-mode=' . $purchase_data['post_data']['edd-gateway']); } } }
$user_can_view = is_user_logged_in() && $edd_payment_user_id == get_current_user_id() || current_user_can('view_shop_sensitive_data'); if (!$user_can_view) { ?> <h2>You do not have permission to view this licence</h2> <?php } else { ?> <h2>Generate OSGi Licence</h2> <?php if (isset($edd_payment_post_id)) { ?> <p> <a href="<?php echo add_query_arg('payment_key', edd_get_payment_key($edd_payment_post_id), edd_get_success_page_uri()); ?> ">Link to Payment Receipt: <?php echo edd_get_payment_number($edd_payment_post_id); ?> </a> <p> <?php } ?> <h2>Licence Metadata</h2> <form method="post" action="" enctype="multipart/form-data"> <?php
<span class="edd_purchase_status <?php echo $payment->post_status; ?> "><?php echo edd_get_payment_status($payment, true); ?> </span> <a href="<?php echo esc_url(add_query_arg('payment_key', edd_get_payment_key($payment->ID), edd_get_success_page_uri())); ?> ">»</a> <?php } else { ?> <a href="<?php echo esc_url(add_query_arg('payment_key', edd_get_payment_key($payment->ID), edd_get_success_page_uri('single-order'))); ?> "><?php _e('<img src="' . get_site_url() . '/wp-content/plugins/edd-service-extended/includes/images/page_view.png" alt="HTML5 Icon" width="30" height="30" align="center">', 'easy-digital-downloads'); ?> </a> <?php } ?> </td> <?php } // End if ! edd_no_redownload() do_action('edd_download_history_row_end', $payment->ID, $download['id']); ?> </tr>
/** * Get Success Page URL * * @param string $query_string * @access public * @since 1.0 * @deprecated 2.6 Please avoid usage of this function in favor of edd_get_success_page_uri() * @return string */ function edd_get_success_page_url($query_string = null) { $backtrace = debug_backtrace(); _edd_deprecated_function(__FUNCTION__, '2.6', 'edd_get_success_page_uri()', $backtrace); return apply_filters('edd_success_page_url', edd_get_success_page_uri($query_string)); }