Skip to content

Other Pro Integrations PRO ​

FluentAffiliate Pro includes integrations with a broad range of membership, LMS, donation, and booking plugins. All follow the same BaseConnector pattern.

LifterLMS ​

Detection constant: LLMS_PLUGIN_FILE
Integration key: lifterlms

Tracks commissions when a LifterLMS course or membership is purchased.

HookTrigger
lifterlms_order_status_completedOrder completed.
lifterlms_order_status_refundedOrder refunded.
php
add_filter('fluent_affiliate/formatted_order_data_by_lifterlms', function($data, $order) {
    return $data;
}, 10, 2);

GiveWP ​

Detection constant: GIVE_VERSION
Integration key: give

Tracks affiliate commissions from GiveWP donation form submissions.

HookTrigger
give_recurring_subscription_completedCompleted payment.
give_donation_status_publishDonation published/completed.

MemberPress ​

Detection constant: MEPR_PLUGIN_NAME
Integration key: memberpress

Tracks commissions when a MemberPress membership is purchased.

HookTrigger
mepr-txn-storeTransaction stored (payment completed).
mepr-txn-refundTransaction refunded.
php
add_filter('fluent_affiliate/formatted_order_data_by_memberpress', function($data, $txn) {
    return $data;
}, 10, 2);

Detection constant: PMPRO_VERSION
Integration key: pmpro

Tracks commissions when a Paid Memberships Pro order is completed.

HookTrigger
pmpro_after_checkoutCheckout completed.
pmpro_after_change_membership_levelMembership downgraded/cancelled.

TutorLMS ​

Detection constant: TUTOR_PRO_VERSION (Pro version required)
Integration key: tutorlms

Tracks commissions from TutorLMS course purchases.

HookTrigger
tutor_course_complete_afterCourse enrollment completed.

ProfilePress ​

Detection constant: PPRESS_VERSION_NUMBER
Integration key: profilepress

Tracks commissions when a ProfilePress membership plan is purchased.

HookTrigger
ppress_after_plan_purchasePlan purchased.
ppress_payment_refundPayment refunded.

Paymattic ​

Detection constant: WPPAYFORM_VERSION
Integration key: paymattic

Tracks commissions from Paymattic payment form submissions.

HookTrigger
wppayform/form_payment_successPayment successful.
wppayform/payment_refundedPayment refunded.

Paymattic also has a registration feed integration — see the Fluent Forms guide for the pattern (Paymattic uses the same feed approach).

The fluent_affiliate/wppayform__defaults filter lets you pre-fill form fields:

php
add_filter('fluent_affiliate/wppayform__defaults', function($fields, $formId) {
    if (is_user_logged_in()) {
        $user = wp_get_current_user();
        $fields['email'] = $user->user_email;
    }
    return $fields;
}, 10, 2);

FluentBooking ​

Detection constant: FLUENT_BOOKING_VERSION
Integration key: fluentbooking

Tracks commissions from FluentBooking paid bookings.

HookTrigger
fluent_booking/booking_payment_completedBooking payment completed.
fluent_booking/booking_cancelledBooking cancelled/refunded.

Voxel ​

Always loaded (no detection constant required).
Integration key: voxel

Tracks commissions from Voxel marketplace transactions.

Note: Voxel is always initialised regardless of whether the Voxel plugin is active, because it uses Voxel's internal hook system that fires only when Voxel is loaded.


Common Patterns ​

All integrations share the same filter hooks — only the {provider} segment changes:

Modify Order Data Before Referral ​

php
add_filter('fluent_affiliate/formatted_order_data_by_{provider}', function($data, $order) {
    // Normalise the order data
    return $data;
}, 10, 2);

Replace {provider} with: lifterlms, give, memberpress, pmpro, tutorlms, profilepress, paymattic, fluentbooking, voxel.

php
add_filter('fluent_affiliate/provider_reference_{provider}_url', function($url, $referral) {
    return admin_url('your-plugin-order-page?id=' . $referral->provider_id);
}, 10, 2);

Prevent Commission on Specific Products ​

php
add_filter('fluent_affiliate/commission', function($commission, $context) {
    // Return 0 to skip recording (filtered by ignore_zero_amount_referral)
    if (in_array($context['product_id'] ?? 0, [99, 100])) {
        return 0;
    }
    return $commission;
}, 10, 2);

FluentAffiliate developer documentation