Toolset Forms Commerce API Hooks
Toolset Forms Commerce is an add-on plugin for Forms, to enable payments via e-commerce plugins, when submitting forms.
This add-on can be used to build functionality that requires special conditions (involving payments) in order to create/edit posts and custom post types. Toolset Forms Commerce covers most needed functionality out-of-the-box, however for extra fine-tuning or customization the following API hooks are available. The hooks are related to actions after a form is submitted and/or the purchase order changes status (completed/cancelled/refunded).
Filter that allows to dynamically alter the product associated with a CRED Commerce form, when adding to cart.
$product_id: ID of the product associated with the form and payment.
$form_id: ID of the CRED Commerce form that the customer used.
$post_id: ID of the post that was created or edited with the form.
More Usage examples
add_filter( 'cred_commerce_add_product_to_cart', 'my_hook', 10, 3 );
function my_hook( $product_id, $form_id, $post_id ) {
if ( $post_id == 123 ) {
$product_id = 345;
}
return $product_id;
}
Action to be executed after a product for a CRED Commerce form is added to customer cart.
$form_id. The current CRED Commerce form that is accessed.
$post_id. The ID of the post created or edited with the current CRED Commerce form.
More Usage examples
add_action( 'cred_commerce_after_add_to_cart', 'my_hook', 10, 2 );
function my_hook( $form_id, $post_id ) {
//some code here
}
Action to be executed after WooCommerce order status is set to completed.
$data is an associative array that holds various information related to the order, with such structure:
$data => array(
'user_id' => $user_id,
'transaction_id' => $transaction_id,
'extra_data' => array(
array(
'cred_product_id' => $product_id,
'cred_form_id' => $form_id,
'cred_post_id' => $post_id,
...
)
),
...
);
Note: There may be other elements present in the array. These are internal to CRED Commerce and their presence or format is not guaranteed.
$user_id: ID of the user that placed the order.$transaction_id: ID of the WooCommerce order associated with the buying process.$product_id: ID of the product associated with the form and payment.$form_id: ID of the CRED Commerce form that the customer used.$post_id: ID of the post that was created or edited with the form.More Usage examples
add_action( 'cred_commerce_after_order_completed', 'my_hook', 10, 1 );
function my_hook( $data ) {
//some code here
}
Action to be executed after the purchase is cancelled.
$data is an associative array that holds various information related to the purchase, with such structure:
$data = array(
'extra_data' => array(
'cred_form_id' => $form_id,
'cred_post_id' => $post_id,
'cred_product_id' => $product_id
...
),
...
)
Note: There may be other elements present in the array. These are internal to CRED Commerce and their presence or format is not guaranteed.
$form_id: ID of the CRED Commerce form that the customer used.$post_id: ID of the post that was created or edited with the form.$product_id: ID of the product that was associated with the form and payment.More Usage examples
add_action( 'cred_commerce_after_payment_cancelled', 'my_hook', 10, 1 );
function my_hook( $data ) {
//some code here
}
Action to be executed after the purchase is completed successfully.
$data is an associative array that holds various information related to the purchase, with such structure:
$data = array(
'extra_data' => array(
'cred_form_id' => $form_id,
'cred_post_id' => $post_id,
'cred_product_id' => $product_id
...
),
...
)
Note: There may be other elements present in the array. These are internal to CRED Commerce and their presence or format is not guaranteed.
$form_id: ID of the CRED Commerce form that the customer used.$post_id: ID of the post that was created or edited with the form.$product_id: ID of the product that was associated with the form and payment.More Usage examples
add_action( 'cred_commerce_after_payment_completed', 'my_hook', 10, 1 );
function my_hook( $data ) {
//some code here
}
Action to be executed after the purchase is refunded to the client.
$data is an associative array that holds various information related to the purchase, with such structure:
$data = array(
'extra_data' => array(
'cred_form_id' => $form_id,
'cred_post_id' => $post_id,
'cred_product_id' => $product_id
...
),
...
)
Note: There may be other elements present in the array. These are internal to CRED Commerce and their presence or format is not guaranteed.
$form_id: ID of the CRED Commerce form that the customer used.$post_id: ID of the post that was created or edited with the form.$product_id: ID of the product that was associated with the form and payment.More Usage examples
add_action( 'cred_commerce_after_payment_refunded', 'my_hook', 10, 1 );
function my_hook( $data ) {
//some code here
}
Action to be executed after the notification has been sent and on order status change.
$data is an associative array that holds various information related to the notidication, with such structure:
$data => array(
'order_id' => $order_id,
'previous_status' => $previous_status,
'new_status' => $new_status,
'cred_meta '=> array(
array(
'cred_product_id' => $product_id,
'cred_form_id' => $form_id,
'cred_post_id' => $post_id,
)
)
);
Note: There may be other elements present in the array. These are internal to CRED Commerce and their presence or format is not guaranteed.
$order_id: ID of the WooCommerce order associated with the buying process.$previous_status: The initial status of the order.$new_status: The new status of the order. It can take one of the following values: pending, failed, processing, completed, on-hold, cancelled, refunded.$product_id: ID of the product associated with the form and payment.$form_id: ID of the CRED Commerce form that the customer used.$post_id: ID of the post that was created or edited with the form.More Usage examples
add_action( 'cred_commerce_after_send_notifications', 'my_hook', 10, 1 );
function my_hook( $data ) {
//some code here
}
Action to be executed before a product for a CRED Commerce form is added to customer cart.
$form_id. The current CRED Commerce form that is accessed.
$post_id. The ID of the post created or edited with the current CRED Commerce form.
More Usage examples
add_action( 'cred_commerce_before_add_to_cart', 'my_hook', 10, 2 );
function my_hook( $form_id, $post_id ) {
//some code here
}
Action to be executed after CRED Commerce form has been submitted.
$action. The form action according to form settings.
$form_id. The current form that is accessed.
$post_id. The ID of the post created or edited with the current form.
$form_data. The form data (form type, post type), similarly to CRED hooks.
$is_ajax. Whether it is an AJAX form.
More Usage examples
add_action( 'cred_commerce_form_action', 'my_hook', 10, 4 );
function my_hook( $action, $form_id, $post_id, $form_data ) {
if ( $post_id == 123 ) {
wp_redirect( 'http://domain.com/my/page' );
exit();
}
}