wc_stripe_generate_payment_request
passes 3 arguments. Take a look at the source code:
/**
* Filter the return value of the WC_Payment_Gateway_CC::generate_payment_request.
*
* @since 3.1.0
* @param array $post_data
* @param WC_Order $order
* @param object $source
*/
return apply_filters( 'wc_stripe_generate_payment_request', $post_data, $order, $prepared_source );
Try setting the correct amount of arguments to the filter hook, otherwise it won’t get called.
add_filter('wc_stripe_generate_payment_request', 'add_application_fee', 10, 3);