Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function add_referral( $user_id, $price, $product_id, $order_id)
- {
- // See if affiliate ID present in cookie
- $affiliate_id = affiliate_wp()->tracking->get_affiliate_id();
- $affiliate_id = apply_filters('awp_idc_get_affiliate_id', $affiliate_id);
- if(!$affiliate_id){
- return;
- }
- // Ensure affiliate is active
- if ( !affwp_is_active_affiliate( $affiliate_id ) ) {
- return;
- }
- // Don't let users refer themselves
- if($user_id == affwp_get_affiliate_user_id($affiliate_id)){
- return;
- }
- // Get visit ID from cookie
- $visit_id = affiliate_wp()->tracking->get_visit_id();
- // Get referral rate
- $affiliate_rate = affiliate_wp()->settings->get( 'referral_rate', 15 );
- // Fetch order to get transaction ID and level name
- $order = new ID_Member_Order($order_id);
- $order_details = $order->get_order();
- $transaction_id = $order_details->transaction_id;
- $level = ID_Member_Level::get_level($product_id);
- $level_name = $level->level_name;
- // Log affiliate purchase
- $args = apply_filters('awp_idc_referrals_args', array(
- 'affiliate_id' => $affiliate_id,
- 'amount' => $price*$affiliate_rate/100,
- 'status' => 'unpaid',
- 'description' => "IgnitionDeck Package - $level_name \$$price",
- 'context' => 'ignitiondeck',
- 'campaign' => '',
- 'reference' => $transaction_id,
- 'visit_id' => $visit_id
- ), $affiliate_id, $price, $affiliate_rate, $level_name, $transaction_id, $visit_id);
- $referral_id = affwp_add_referral( $args );
- if( $referral_id ) {
- affiliate_wp()->visits->update( $visit_id, array( 'referral_id' => $referral_id ), '', 'visit' );
- }
- do_action('awp_idc_referral_created', $referral_id);
- }
Add Comment
Please, Sign In to add comment