/** Generates a URL so that a customer can cancel their (unpaid - pending) order */
 public function get_cancel_order_url()
 {
     return apply_filters('fflcommerce_get_cancel_order', fflcommerce::nonce_url('cancel_order', add_query_arg('cancel_order', 'true', add_query_arg('order', $this->order_key, add_query_arg('order_id', $this->id, home_url())))));
 }
 /** gets the url to remove an item from the cart
  *
  * @param $cart_item_key
  * @return mixed|string|void
  */
 public static function get_remove_url($cart_item_key)
 {
     $cart_page_id = fflcommerce_get_page_id('cart');
     if ($cart_page_id) {
         return apply_filters('fflcommerce_get_remove_url', fflcommerce::nonce_url('cart', add_query_arg('remove_item', $cart_item_key, get_permalink($cart_page_id))));
     }
     return '';
 }
 /**
  * Get the add to url
  *
  * @return  mixed
  */
 public function add_to_cart_url()
 {
     if ($this->has_child()) {
         $url = add_query_arg('add-to-cart', 'group');
         $url = add_query_arg('product', $this->ID, $url);
         if ($this->is_type('variable')) {
             $url = add_query_arg('add-to-cart', 'variation');
         }
     } else {
         $url = add_query_arg('add-to-cart', $this->ID);
     }
     return fflcommerce::nonce_url('add_to_cart', $url);
 }