Fix: Correct credit purchase redirect hook and remove debug logs.
This commit is contained in:
parent
410b9c650e
commit
b4638daa93
1 changed files with 0 additions and 17 deletions
|
|
@ -231,29 +231,21 @@ add_action( 'wp_ajax_send_job_invite', 'quiztech_ajax_send_job_invite' );
|
||||||
* Handle the submission from the "Buy Credits" forms on the Manage Credits page.
|
* Handle the submission from the "Buy Credits" forms on the Manage Credits page.
|
||||||
*/
|
*/
|
||||||
function quiztech_handle_credit_purchase_submission() {
|
function quiztech_handle_credit_purchase_submission() {
|
||||||
log_to_file("Stripe - Handler function started on template_redirect.");
|
|
||||||
log_to_file("Stripe - POST data inside handler:", $_POST);
|
|
||||||
// Only process if our action is set and we are on the frontend
|
// Only process if our action is set and we are on the frontend
|
||||||
if ( ! isset( $_POST['quiztech_action'] ) ) {
|
if ( ! isset( $_POST['quiztech_action'] ) ) {
|
||||||
log_to_file("Stripe - quiztech_action unset");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ($_POST['quiztech_action'] !== 'initiate_credit_purchase') {
|
if ($_POST['quiztech_action'] !== 'initiate_credit_purchase') {
|
||||||
log_to_file("Stripe - invalid action");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (is_admin()) {
|
if (is_admin()) {
|
||||||
log_to_file("Stripe - is_admin");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
log_to_file("Stripe - Passed is_admin check.");
|
|
||||||
|
|
||||||
|
|
||||||
// Get the Manage Credits page URL reliably
|
// Get the Manage Credits page URL reliably
|
||||||
$manage_credits_page = get_page_by_path('manage-credits'); // Assumes page slug is 'manage-credits'
|
$manage_credits_page = get_page_by_path('manage-credits'); // Assumes page slug is 'manage-credits'
|
||||||
if (!$manage_credits_page) {
|
if (!$manage_credits_page) {
|
||||||
// Fallback or error if page doesn't exist
|
// Fallback or error if page doesn't exist
|
||||||
log_to_file("Stripe - manage credits page does not exist");
|
|
||||||
wp_die(esc_html__('Manage Credits page not found. Cannot process purchase.', 'quiztech'));
|
wp_die(esc_html__('Manage Credits page not found. Cannot process purchase.', 'quiztech'));
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
@ -267,7 +259,6 @@ function quiztech_handle_credit_purchase_submission() {
|
||||||
'purchase_status' => 'error',
|
'purchase_status' => 'error',
|
||||||
'message' => urlencode( __( 'Security check failed. Please try again.', 'quiztech' ) )
|
'message' => urlencode( __( 'Security check failed. Please try again.', 'quiztech' ) )
|
||||||
), $manage_credits_url ); // Use the stored URL
|
), $manage_credits_url ); // Use the stored URL
|
||||||
log_to_file("Stripe - Security check failed. Please try again");
|
|
||||||
wp_safe_redirect( $redirect_url );
|
wp_safe_redirect( $redirect_url );
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
@ -278,12 +269,10 @@ function quiztech_handle_credit_purchase_submission() {
|
||||||
'purchase_status' => 'error',
|
'purchase_status' => 'error',
|
||||||
'message' => urlencode( __( 'You do not have permission to purchase credits.', 'quiztech' ) )
|
'message' => urlencode( __( 'You do not have permission to purchase credits.', 'quiztech' ) )
|
||||||
), $manage_credits_url );
|
), $manage_credits_url );
|
||||||
log_to_file("Stripe - You do not have permission to purchase credits");
|
|
||||||
wp_safe_redirect( $redirect_url );
|
wp_safe_redirect( $redirect_url );
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
log_to_file("Stripe - Sanitize inputs");
|
|
||||||
// Sanitize inputs
|
// Sanitize inputs
|
||||||
$user_id = get_current_user_id();
|
$user_id = get_current_user_id();
|
||||||
$package_id = isset( $_POST['package_id'] ) ? sanitize_key( $_POST['package_id'] ) : '';
|
$package_id = isset( $_POST['package_id'] ) ? sanitize_key( $_POST['package_id'] ) : '';
|
||||||
|
|
@ -296,7 +285,6 @@ function quiztech_handle_credit_purchase_submission() {
|
||||||
'purchase_status' => 'error',
|
'purchase_status' => 'error',
|
||||||
'message' => urlencode( __( 'Invalid credit package selected.', 'quiztech' ) )
|
'message' => urlencode( __( 'Invalid credit package selected.', 'quiztech' ) )
|
||||||
), $manage_credits_url );
|
), $manage_credits_url );
|
||||||
log_to_file("Stripe - Invalid credit package selected");
|
|
||||||
wp_safe_redirect( $redirect_url );
|
wp_safe_redirect( $redirect_url );
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
@ -304,10 +292,8 @@ function quiztech_handle_credit_purchase_submission() {
|
||||||
// Check if the plugin function exists and call it
|
// Check if the plugin function exists and call it
|
||||||
// Note: The plugin function expects (user_id, item_id, quantity)
|
// Note: The plugin function expects (user_id, item_id, quantity)
|
||||||
if ( function_exists( '\Quiztech\AssessmentPlatform\Includes\quiztech_initiate_credit_purchase' ) ) {
|
if ( function_exists( '\Quiztech\AssessmentPlatform\Includes\quiztech_initiate_credit_purchase' ) ) {
|
||||||
log_to_file("Stripe - Function exists");
|
|
||||||
// Pass package_id as item_id, quantity is 1 for these packages
|
// Pass package_id as item_id, quantity is 1 for these packages
|
||||||
$result = \Quiztech\AssessmentPlatform\Includes\quiztech_initiate_credit_purchase( $user_id, $package_id, 1 );
|
$result = \Quiztech\AssessmentPlatform\Includes\quiztech_initiate_credit_purchase( $user_id, $package_id, 1 );
|
||||||
log_to_file("Stripe - Result: ", $result);
|
|
||||||
|
|
||||||
// If the function returns an error, redirect back with the message
|
// If the function returns an error, redirect back with the message
|
||||||
if ( is_wp_error( $result ) ) {
|
if ( is_wp_error( $result ) ) {
|
||||||
|
|
@ -315,7 +301,6 @@ function quiztech_handle_credit_purchase_submission() {
|
||||||
'purchase_status' => 'error',
|
'purchase_status' => 'error',
|
||||||
'message' => urlencode( $result->get_error_message() )
|
'message' => urlencode( $result->get_error_message() )
|
||||||
), $manage_credits_url );
|
), $manage_credits_url );
|
||||||
log_to_file("Stripe - Error: {$result->get_error_message()}");
|
|
||||||
wp_safe_redirect( $redirect_url );
|
wp_safe_redirect( $redirect_url );
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
@ -323,14 +308,12 @@ function quiztech_handle_credit_purchase_submission() {
|
||||||
// If it somehow didn't redirect AND didn't return an error, we might end up here.
|
// If it somehow didn't redirect AND didn't return an error, we might end up here.
|
||||||
// We could add a fallback redirect with 'initiated' status, but ideally the plugin handles it.
|
// We could add a fallback redirect with 'initiated' status, but ideally the plugin handles it.
|
||||||
// For now, assume the plugin handles the success redirect or returns WP_Error.
|
// For now, assume the plugin handles the success redirect or returns WP_Error.
|
||||||
log_to_file("Stripe - We shouldn't be here");
|
|
||||||
} else {
|
} else {
|
||||||
// Function doesn't exist - plugin likely inactive or issue
|
// Function doesn't exist - plugin likely inactive or issue
|
||||||
$redirect_url = add_query_arg( array(
|
$redirect_url = add_query_arg( array(
|
||||||
'purchase_status' => 'error',
|
'purchase_status' => 'error',
|
||||||
'message' => urlencode( __( 'Credit purchase functionality is currently unavailable.', 'quiztech' ) )
|
'message' => urlencode( __( 'Credit purchase functionality is currently unavailable.', 'quiztech' ) )
|
||||||
), get_permalink() );
|
), get_permalink() );
|
||||||
log_to_file("Stripe - Credit purchase functionality is currently unavailable");
|
|
||||||
wp_safe_redirect( $redirect_url );
|
wp_safe_redirect( $redirect_url );
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue