Formidable Forms

Formidable Forms

  • Features
  • Pricing
  • Resources
    • Docs & Support
    • Blog
    • Community
  • Solutions
    • Web Applications
    • Calculators
    • Surveys
    • Directories
    • Payments
    • Contact forms
  • Login
  • Get Formidable Forms

frm_payment_status_complete

Last Updated: January 24, 2022

Knowledge Base → Extend Formidable Forms → Formidable Hooks - for Developers → Add Ons → Stripe → frm_payment_status_complete
Heads up!
This article contains PHP code and is intended for developers. We offer this code as a courtesy, but don't provide support for code customizations or 3rd party development.

This hook allows you to do something after a successful payment action. It is triggered for all actions that have a "payment created" event.

Formidable Forms is the best WordPress Form Builder plugin. Get it for free!

Usage

add_action( 'frm_payment_status_complete', 'function_name', 10, 2);

Parameters

  • trigger (string) - the status of the payment
  • entry_id (int) - The ID of the entry linked to the payment
  • payment (object) - The payment information from the Formidable → Payments page
    • Includes: receipt_id, invoice_id, sub_id, item_id, amount, status, action_id, paysys, created_at, begin_date, expire_date, and meta_value

Examples

Trigger an action on complete payment

Use this code example to target a specific payment action ID and send an email if payment is marked as complete.

add_action( 'frm_payment_status_complete', 'frm_trigger_action_payment_complete' );
function frm_trigger_action_payment_complete( $atts ) {
	$target_action_id = 450; // change 450 to your payment action ID
	if ( $atts['payment']->status == 'complete' && $target_action_id === (int) $atts['payment']->action_id ) {
		$to      = get_option( 'admin_email' );
		$subject = 'Payment complete';
		$body    = 'Payment made for $' . $atts['payment']->amount;
		$headers = array( 'Content-Type: text/html; charset=UTF-8' );
		wp_mail( $to, $subject, $body, $headers );
	}
}

Change user role on complete payment

Use this example to change the user role when the payment is completed. With a recurring payment, this hook will be fired each time a payment is completed.

add_action( 'frm_payment_status_complete', 'frm_change_the_role' );
function frm_change_the_role( $atts ) {
  $new_role = 'contributor'; // change contributor to the new user role
  $entry = isset( $atts['entry'] ) ? $atts['entry'] : $atts['payment']->item_id;
  if ( is_numeric( $entry ) ) {
    $entry = FrmEntry::getOne( $entry );
  }

  $user_id = $entry->user_id;
  if ( ! empty( $user_id ) ) {
    $user = get_userdata($user_id);
    if ( ! $user ) {
        return; //don't continue if user doesn't exist
    }

    $updated_user = (array) $user;

    // Get the highest/primary role for this user  
    $user_roles = $user->roles;
    $user_role = array_shift( $user_roles );
    if ( $user_role == 'administrator' ) {
        return; //make sure we don't downgrade any admins
    }

    $updated_user['role'] = $new_role;
	
    wp_update_user( $updated_user );
  }
}
  • Usage
  • Parameters
  • Examples
    • Trigger an action on complete payment
    • Change user role on complete payment
Categories
×

Categories

  • Installation & Getting Started
  • Account Management
  • Forms
  • Entries
  • Views
  • Styles
  • Importing & Exporting
  • Add-Ons
  • Extend Formidable Forms

Using WordPress and want to get Formidable Forms for free?

Get Formidable Forms Lite Now

You do not have permission to view this form. Maybe you need to log in?

This article may contain affiliate links. Once in a while, we earn commissions from those links. But we only recommend products we like, with or without commissions.

Take on bigger projects Right Now

Get the tools you need to revolutionize your workflow and architect a masterpiece. Build the most advanced WordPress forms and actually use the data you collect in meaningful ways.

Get the most advanced WordPress form plugin and the only form builder with integrated Views.

Get Formidable Forms Now

Resources

  • Community
  • Affiliates
  • Contact
  • Free Online Form Builder

Top Features

  • Application Builder
  • Calculator Forms
  • Surveys & Polls
  • Quiz Maker
  • Form Templates
  • Application Templates
  • Directories
  • Donation Plugin

Company

  • About Us
  • Giving Back
  • Careers
  • Newsletter
  • WP Tasty
  • Nutrifox

Copyright © 2023 Strategy11, LLC. Formidable FormsĀ® is a registered trademark Strategy11, LLC.
Privacy Policy | Terms of Service | Sitemap

Join 300,000+ using Formidable Forms to create form-focused solutions fast. Get Started See User Reviews