Add option to add extra fees to Ubercart checkout? - drupal

I have a Drupal website with the UBERCART module to accept donations in the form of adopting a book in my library. I need to add an option in the cart page before the checkout to add an entry to the cart with the value of 3% of the total order to cover the payment transaction fees.
It could be a check box that says..
[_] I wish to add 3% to cover the online transfer fees.
Any Ideas of how to implement this? Thanks

I'm not sure how to set up an optional fee, but for required fees, this module will do it:
https://drupal.org/project/uc_fee
Unfortunately there seems to be no version for Drupal 7 yet.
Also, it's a little quirky in some ways...for example, if you want to create a fee to be applied to all products of a particular class, by default that fee gets applied at the cart level, meaning that that a long as the cart contains at least one product of the type you specified when creating the conditional action, the fee will be applied to the other products in the cart as well. If the fee only should be applied once per order then you can just set Max Applications to zero, otherwise...
The process to apply a fee to each product in the cart of a particular class is as follows:
Create a fee at Store administration > Fees with a price of zero
Click the "conditions" link next to the fee (again, from Store administration > Fees) and say the cart needs to contain at least one product of your desired class
Go to Store administration > Products > Manage classes, click "edit" for your desired class, go to the Fees tab and override the price to be whatever the fee should be.
Create products of that class. If your products are already created, it appears you need to edit each already-existing product and override the fee there (on the Fees tab); unfortunately the product-class override only appears to apply to products created after the setting was changed.

I realise it's a long time since this question was posted, but it came up in search when I was trying to solve a similar problem. Since it hasn't been satisfactorily answered after all this time, I thought I'd share the solution I found for my own problem.
There is some sample module code here:
http://www.stevenalanwilson.com/articles/open-drupal-pages-using-built-overlay
I created my own module with this code to allow customers to specify if they live in a rural area. If they check the box, a $5 rural delivery fee is added to the cost of their order. The label on the checkbox and the value of the fee can be set by changing the code in the module.
The scenario asked here would need some additional coding to calculate the 3% fee based on the value of the order, which shouldn't be too hard to achieve.

if you are using drupal 6 then visit these link in your site
Administer -> Store administration -> Configuration -> Shipping quote settings
then visit the "quote method" where you can define your shipping quote setting
once you understand the method for creating shipping charges, you can apply whatever shipping rate you want to charge.

Related

How do I get order information from the woocommerce payment screen?

Hi i want to woocommerce checkout page get woocommerce-checkout-review-order-table.
How do I get all the information for that order? The important thing is to be sensitive to situations such as VAT, cargo. I just need information.
You can get all the details of the products you've added into cart on checkout page. Please check if you've added tax(VAT) and shipping (CARGO) class to each product from your WP admin.
Here you can refer WC tax rate docs and you can see here to assign products a tax classes.
Similarly, you supposed to create and assign shipping zones and it's rates as well. You can find docs for creating shipping zone from here
You can find many tutorials to set shipping for your desire requirements however, here is the one for quick reference. WooCommerce Shipping Methods
Hope this may help you in your requirements!
Be noted you can't get order information before you placed order successfully. I answer you based on understanding that your need information of tax, shipping cost on checkout page.

WooCommerce - Apply coupon of discounts of a given payment method

I'm integrating a solution with WooCommerce where a coupon of discount is given depending on the payment method that customer chooses. So, to do it, the coupon needs to be created/applyed in checkout page, when customer is selecting the payment method he wants.
Is it possible? How should I do this?
There are 2 free plugins that allow you to set discount codes based on payment methods:
https://wordpress.org/plugins/woocommerce-auto-added-coupons/ - With over 5K+ active installs, this one seems to be the right choice.
https://wordpress.org/plugins/woocommerce-payment-discounts/ - Although this one has 3K+ active installs, it is specifically meant to give discounts based on payment methods. So this does exactly what you are looking for.
Try out both plugins, preferrably 2nd one first.

WooCommerce: Override product info before adding to cart

I've found the following example (WooCommerce: Add product to cart with price override?) which lets the user add a product to the cart. However, it hard codes the prices directly on the cart itself.
Is there a way to make adjustments to a product instance i.e. costs, append additional user input, etc. and then add the product to the cart?
Thank you very much for everyones help.
Edit:
Having another crack at explaining, as doublesharp has pointed out it's not quite clear.
Joe clicks on a product, he then chooses various options on the product form which then calculates a custom cost after the 'add to cart' button is clicked but before it is added to the cart.
These options need to be completely custom as the calculations involved are outside of scope of a woocommerce 'variable product'. What I'm trying to achieve is the customer being able to add multiple instances of the same product with various costs and info associated with it.
With regards to the first part of your question where you want to add multiple instances of a product with various costs, you can have a look at the following plugins to achieve that objective
Dynamic Pricing
Pricing Deals for WooCommerce
As for the second part of your question where you want to append additional user input to the cart. This can be done using the following steps
Create a custom session and add the custom data to this session.
Add the data from the custom session to the WooCommerce session.
Extract custom data from WooCommerce session and insert it into cart
object.
Display custom data in Cart and Checkout page.
Add custom data as metadata to the order items.
Remove the associated custom data if an item is removed from the
cart.
For a more detailed on the above steps you have a look at the following link,
How to Add Custom Data to WooCommerce Order

WooCommerce add delivery date as hidden product in checkout (Third party payment gateway)

Im developing an e-commerce site with wordpress and woocommerce 2.1. Im using a third party payment gateway (Klarna Checkout) which doesn't offer the customer to specify a delivery date/time. I need to make this feature available but the problem is that the gateway only sends the order-meta from their form, which doesn't offer a date field, when the order is completed. In other words, the standard checkout fields in woocommerce won't be passed to the final order.
My idea of solution is to add a hidden free product called Time, with variations for different time spans, on the checkout page and automatically add this product(with selected variation) to the cart when a customer selects a variation. The specified time would then show as a ordered product when viewing the order in wordpress. How could i do this?
If anyone has a better idea of how to solve this problem feel free to contribute :)
Thanks!
Try this free plugin that adds a delivery date on the checkout page: http://wordpress.org/plugins/order-delivery-date-for-woocommerce/

Adding weight and volume to woocommerce products

I'm trying to configure the FedEx plugin on my woocommerce installation. According to the woocommerce documentation: http://wcdocs.woothemes.com/user-guide/extensions/shipping-methods/fedex/
The FedEx Shipping Extension only works when your products have a defined volume and weight. That’s how it calculates what to charge for shipping. Whenever you add a new product to your inventory, make sure you have entered its weight along with the size of the smallest box you plan to ship it in.
The problem is when I'm adding a new product or editing an existing one, I do not see these options anywhere.
This is what the documentation shows
This is what I see
The shipping tab isn't much help either - it just has a shipping class dropdown menu. Tried creating a test shipping class, but I don't see anywhere where to specify weight and/or volume. Any help is highly appreciated!
Those fields will only display on the edit product page if you enable them.
Go to WooCommerce -> Settings and click on the "Catalog" tab. Then under the "Product Data" section check the boxes next to "Enable the weight field for products" and "Enable the dimension fields for products".

Resources