Support

Home Forums Event Espresso Premium Add Event Categories to Description in Stripe Transaction

Add Event Categories to Description in Stripe Transaction

Posted: May 12, 2020 at 6:30 am


Antenna Digital

May 12, 2020 at 6:30 am

I’m using this snippet that I found in the forum for adding a custom field to the Stripe Transaction Description.

I get the event name and the “| category: ” in the transaction as expected….but I can’t figure out how to get the Event Categories at this point in the transaction.
(see this line: $event_cat = WHAT DO I USE HERE TO GET CATEGORIES; below)


add_filter(
'FHEE__EEG_Stripe_Onsite__doDirectPaymentWithPaymentIntents__payment_intent_data',
'stripe_elements_cf_order_desc', 10, 4
);
function stripe_elements_cf_order_desc(
$stripe_data,
$payment,
$transaction,
$billing_info
) {
if ($transaction instanceof EEI_Transaction) {
$primary_registrant = $transaction->primary_registration();
if ($primary_registrant instanceof EE_Registration) {
$event = $primary_registrant->event_obj();
if ($event instanceof EEI_Event) {
$desc = $event->name();
$event_cat = WHAT DO I USE HERE TO GET CATEGORIES;
$desc .= ' | category: ' . $event_cat;
$stripe_data['description'] = $desc;
}
}
}
return $stripe_data;
}


Tony

  • Support Staff

May 12, 2020 at 6:54 am

If you want just a single category (the first EE finds on the event):

$event_cat = '';
$category = $event->first_event_category();
if ($category instanceof EE_Term) {
    $event_cat = $category->name();
}

If you have multiple categories on the events you can use $event->get_all_event_categories(); which will return an array of EE_Terms for you to loop over.


Antenna Digital

May 13, 2020 at 6:50 am

Thanks Tony, this works great for what we’re after.
On a related note, is there a way to include the Categories in the Registration export? I know I can filter by them and then export the filtered results, but the client would like everything in one sheet with a column for the Categories.
(let me know if this needs to be a new forum post)
Thanks


Tony

  • Support Staff

May 14, 2020 at 5:27 am

We have a snippet in our code snippet library that should do the above for you in:

https://github.com/eventespresso/ee-code-snippet-library/blob/master/admin/registration-reports/core/tw_ee_include_event_categories_in_csv.php

You can add that to a custom functions plugin on the site and we have some documentation on creating one here:

https://eventespresso.com/wiki/create-site-specific-plugin-wordpress-site/

You must be logged in to reply to this support post. Sign In or Register for an Account

Support forum for Event Espresso 3 and Event Espresso 4.
Documentation for EE3 and EE4
Documentation for Event Espresso 3 Documentation for Event Espresso 4

Status: publish

Updated by  Tony 5 months, 2 weeks ago ago

Topic Tags

Notifications

This topic is: not resolved
Do NOT follow this link or you will be banned from the site!
[gravityform id=80 title=false description=false ajax=false]
<div class='gf_browser_unknown gform_wrapper' id='gform_wrapper_80' ><form method='post' enctype='multipart/form-data' id='gform_80' action='/topic/add-event-categories-to-description-in-stripe-transaction/'> <div class='gform_body'><ul id='gform_fields_80' class='gform_fields top_label form_sublabel_below description_below'><li id='field_80_1' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_80_1' >First name<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_1' id='input_80_1' type='text' value='' class='medium' aria-required="true" aria-invalid="false" /></div></li><li id='field_80_2' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_80_2' >Email address<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_80_2' type='email' value='' class='medium' aria-required="true" aria-invalid="false" /> </div></li><li id='field_80_3' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' >GDPR Agreement<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_checkbox'><ul class='gfield_checkbox' id='input_80_3'><li class='gchoice_80_3_1'> <input name='input_3.1' type='checkbox' value='I consent to have this website store my submitted information so they can respond to my inquiry.' id='choice_80_3_1' /> <label for='choice_80_3_1' id='label_80_3_1'>I consent to have this website store my submitted information so they can respond to my inquiry.</label> </li></ul></div></li><li id='field_80_4' class='gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_80_4' >Comments</label><div class='ginput_container'><input name='input_4' id='input_80_4' type='text' value='' autocomplete='off'/></div><div class='gfield_description' id='gfield_description_80_4'>This field is for validation purposes and should be left unchanged.</div></li> </ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_80' class='gform_button button' value='Download Now' onclick='if(window["gf_submitting_80"]){return false;} if( !jQuery("#gform_80")[0].checkValidity || jQuery("#gform_80")[0].checkValidity()){window["gf_submitting_80"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_80"]){return false;} if( !jQuery("#gform_80")[0].checkValidity || jQuery("#gform_80")[0].checkValidity()){window["gf_submitting_80"]=true;} jQuery("#gform_80").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_80' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='80' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_80' value='WyJbXSIsIjBiNjdjZjkyMDUzOWUxOWY5Y2NiZjIwMzM4YjA1Mjk4Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_80' id='gform_target_page_number_80' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_80' id='gform_source_page_number_80' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div><script type='text/javascript'> jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 80) {} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [80, 1]) } ); </script>
[i]
[i]