Monday, 18 November 2013

Drupal 7 / Ubercart Video Tutorial 6 of 10: Configuring Shipping, Paypal and Taxes




[Drupal 7 / Ubercart video tutorial 6 of 10 showing how to set UPS, Paypal, and conditional taxes]
[Drupal 7 / Ubercart video tutorial 7 of 10 showed how to use the default catalog module]
[Drupal 7 / Ubercart video tutorial 8 of 10 showed an alternative flexible method of showing a catalog]
[Drupal 7 / Ubercart video tutorial 9 of 10 shows how to use product kits, stock, and order states]
[Drupal 7 / Ubercart video tutorial 10 of 10 shows a simple checkout, reports, and suggests a theme]
 
Hullo and welcome to the 6th video tutorial in this ten part video tutorial series. I am Peter Yaworski the Toronto website developer specialising in Drupal and Ubercart. Like other video tutorials in this series, this is a collaboration between myself and the Ubercart.org help pages.
So let's get into it. I'm going to assume that you have watched the other video tutorials in the series and that you are ready to set up payments and shipping as well as taxes. In order to do so we are going to go into...

Ubercart basic UPS and flat rate shipping

>store >configuration >store address
Make sure this is entered in if you are using UPS shipping quotes. If it is not, you will get an error; this is actually sent to UPS. Make sure this is actually set to UPS. With a lot of clients that I have dealt with have screwed this up. One time I screwed-up, actually: I want to record this. I kept on getting error messages until I realised that it was because of entering this store address that there were problems. Once we have done that we can go into - I'll start with shipping quotes.So let's go into our settings for shipping quotes

>store >configuration >shipping quotes > settings

Two things I want to show you right here
Log errors dyuring checkong to watchdog
Display debug information to administrators
Prevent the customer from completing an order if the shipping quote is not selected

Displaying debug information to administrators is hugely helpful. If you are having trouble setting up UPS and you go to https://drupal.org/community forums, people might ask for this debug information to figure out what is going wrong. When you post that, be sure to wipe out your username and password from that information: you don't want to share that.

Secondly, default pickup information. This is where the pickup will take place from UPS. You will see we have our shop information at 1 Main Street Hollywood California; it should match your store information, assuming that the pickup is in the same place. Again, this information is sent-out to UPS and you want to make sure that this is filled out correctly, or it will cause errors. But, that said, there
01.53

Credentials

You will have to contact UPS, and set-up your own account. They will send you a personal access key, a telephone number, a shipper ID, as well as a password. The great guys over at XXXX allowed us to borrow theirs for the making of this video tutorial series. You will see that at present we are in testing server mode. Later on when we go into production, we will make the connection live but right now we are using it in testing mode.

Service options

This again depends upon your agreement with UPS. We only want UPS ground to be available, but this will be where you choose what other services ... be sure to know what services you have set-up for your account and so what services are available to you.

Quote Options

Each product in its own package or all products in one package. I'm just drawing your attention to that. The other information there is all dependant on your agreement with UPS, with the exception of
System of measurement

Oh: sorry - not with the exception of system of measurement, but I am just drawing your attention to the fact that if this is wrong you will get errors. You have two options here - British and Metric, depending on your agreement with UPS. [2'45"]

Markups

Rate markup type

The last thing I wanto draw your attention to. If you want to mark-up your shipping costs, for various reasons, you have these uptions here. You can do that as a percentage, a multiplier, or additional dollars. So we could add $2 to every quote that we recieve from UPS.

Label printing


Then label printing. You can go ahead and set that up

You will want to go ahead and save that configuration. (I don't need to because I've already got the information there.)


But, before we move on, we will also add a flat rate quote

Shipping method title*

the rate shown to admnistrators to distinguish this method from other methods 

Line item label*

The name shown to the customer when they choose a shipping method at checkout 

Base price*
$
The starting price for shipping costs

Default product shipping rate*
$
Additional shipping costs per product in cart



Conditions

We can go ahead and add a condition here. If you only want to sell within Ontario or you only want to offer a flat rate within Ontario, you can add a condition.
+Add condition +Add or +Add and
You will see conditions [set-up] when we go and look at tax, so I don't want to set one up here, but it it possible to do that, so that is always good. Then we are going to go back to Shipping Quotes, and add a weight quote [03'57"]


Weight Quote

Shipping method title*

the rate shown to admnistrators to distinguish this method from other methods
Line item label*

The name shown to the customer when they choose a shipping method at checkout
Base price*
$
The starting price for shipping costs

Default cost adjustment per pound weight (lb)*
$
The amount per weight unit to add to the shipping cost for an item

We'll go ahead and save that.
+Add condition +Add or +Add and
Again, there can be conditions if you want to do them. And I believe that's all for our shipping quotes. [4'19"]


Payment methods set-up in Ubercart

>store >configuration >payment methods

Now we are going to to into our payment methods.
You should have two payment methods if you have followed-through the other video tutorials in the series,
Paypal Express Checkout
Paypal Website Payments Standard

If you don't have these, check your
>modules and make sure that the Paypal modules is checked-off.

Express Checkout is simply one button that will take your user over to Paypal to directly type-in their credit card information. Website Payments Standard progresses your order through Ubercart and then sends all the information to Paypal at the end when you checkout.
In order to use the Express Checkout you have to have a business account with Paypal, so you want to go ahead and do that.
Currency Code

This is what the currency is being sent to Paypal. Interestingly, you can get additional modules now that make this [choice] per order, so that if customers are in the US they can pay in US dollars; in Canada they can pay in Canada dollars. I've just set-up a custom module for a client who wanted to do that so that his customers did not have to change currency.
API Server

Setting that up for the sandbox is what I am going to be doing - so https://developer/paypal.com . I suggest that you do this to test things out. I am obviously logged-in [to the site] but if you are not logged-in, there is a simple sign-up button and you just do that.
API Credentials
API Username

API Passwword

Signature

You need your API credentials so I supply the API that I got from the sandbox. I got them right here from
Sandbox >API and Payment Card Credentials [a menu choice on developer.paypal.com] Right?
Sandbox >Test Accounts
The other cool thing that they do is that they create test accounts, so I have "Test Business" and "Test Personal", so I can

you would actually get these by logging into your business account with a profile. You click "my selling tools > API access" an [6'00]
This is kind of important:
Default PayPal landing page
Create card submission form
Account login form
...because when you are using Paypal Express Checkout you don't want to make people have to open a [Paypal] account; you just want them to get their credit card information, enter that information, and get off [the paypal site] as soon as quickly. as soon as possible. Because e-commerce studies are showing that the longer you make the payment process the more likely people are to abandon their cart. So make this as seamless as possible.
You also have to go over your settings in your Paypal Business account and make sure that it directs a user to a credit card information page and not to a login page. That is key because, you know, you don't want people to have to create a paypal account if they don't want to. So this is our ???? for express checkout.
Checkout Standard
This is a little bit easier. All you need is your paypal address that the money is going to be paid to, your currency code,.... I am using the default Paypal language which is US, and the sandbox. This is what we are giong to be doing. I should be using my sandbox email address. [7'00"] This one here. So cut and paste it into the page.
Then obviously you want an itemised order
Paypal cart submission method
-submit the whole order as a single line item
submit an itemised order showing each product and description
And then we can...

This debug information. Again, it is a big time-saver.

A conditional tax rule setup in Ubercart


.>store >settings >taxes

The last thing we are going to do is checkout the taxes. So when we were setting up we set a tax rate for Ontario. So that's that. Let me show you a key thing here.
include product tax when displaying prices
You will see when you set-up a product that there is the sell price and the display price. This display price will include taxes. You will want to have this checked to "off" if your taxes are conditional or for a specific area - lets say only for Ontario. Because everyone will see the price including tax, they won't know what's going on. You don't want that to happen. So I just wanted to draw your attention to that.
We are going to add a condition
+Add condition +Add or +Add and
...so we don't charge Ontario tax.
Select the condition to add

You will see here that we have [example conditions on the drop down menu for] orders, but order conditions to not include the provence or state. We have "order state", but this specifically refers to - you know: is it in process? is it completed? is it in checkout? That's the order state. Not the geographical region. So in order to do that you have to go to data comparison
Click
Now our data selector is the "order..." - ".." stands for additional information. Look for "billing address", and then "zone". This zone is the actual state, provence, or zone. That's what we are going to see when we hover over it. So we choose that.
Click
And because we are choosing this data comparison, it is going to give us these pre-populated values that are available per Ubercart. So: there is our "Ontario".
Click
And now the taxes only apply to Ontario orders, and we are good to go.
>content >add content >add product
Why don't we add some products? Or a product.
Name: Pete's awesome product
Descritpion: Test product description (you don't need that but:: whatever)
Image: Add a new file
We'll add Bailey like we always do.
We have not set-up the catalog because that is going to be in the next video tutorial series, but we obviously need
SKU*

Sell price*


Now: weight. If you are using UPS weight quotes, you will have to add a weight.
Weight

You also have dimensions, right? Those are going to be your appropriate dimensions. Maximum package quantity: how many in a package can there be? So we are going to add up to 50 Baileys to our package.
shipping settings

Then shipping settings

Again, this is from UPS and depends upon what [options] you have from UPS. I have a "customer supplied package" [which is one of their options]
Default product shipping type It's going to be the store default, so we will set that as the store default. Default product pickup address.
If you are having issues with UPS, getting shipping quotes, and then you realise that you did not have your store set up properly,
...you would have to come back in here and set-up your default shipping address for your product. It does not get updated automatically when you change that store address, so if you have changed your store address and everything is set-up properly for UBercart but you can't work out why you keep-on getting errors from UPS shipping qutoes, it could be because your product is possibly not set-up properly. So check that out if you are having issues.
Shipping weights we can obviously customise if we are using flat or weight quotes
XML site maps does not set-up correctly until we have all that included.
Publishing: I am going to put it to publish it to the front page to see what I've got available for ordering.

Now: this is actually a huge picture. What I did not show you is that I actually went into
>structure >content types >products >manage display
This by default is just "image", so we can see the product ....
....and just save it.
As I showed you before, there is the list price, the cost, and the sale price, and the display price. Four prices. We actually don't want the cost [price], so that is [set to] hidden, we don't want the sale price: no. We want the sell price but we do not want the list price. We will be covering this in another video tutorial so bear with me. We will go ahead and we will save that.
And then just briefly: the teaser [abbreviated display to show with others: one of two buttons top right of the screen]
We are going to get display price and sale price [as options]. So you are going to get two of those and you can remove whichever one you want to. And you have the descriptions, so that's fine.
Let's go to the home page now: here is one our product. Like I said, display price is what this is; sell price is what this is. [on the teaser]. Go ahead and look at that. Here we have the display price, the sell price, the dimensions, and the add to cart button. [tests it] And we can [use paypal's] express checkout. And then this is what it [the paypal order form] looks like for you; you are right into it. You will see that it is trying to get you to set-up a paypal account. This is where those settings go right through with the payment screen; you do that on your own Paypal account as well as on Ubercart.
This is the standard Paypal checkout. We choose "checkout". Obviously I can fill in my information here.
These are our three shipping options, so obviously UPS is providing us with the quotes.
This one is $17.52
There is the flat rate
There is also the weight quote.
Obviously you would not provide all these to everybody who orders; you would just provide them with one quote. For testing purposes we are going to use UPS ground in order to complete our order.
review order screen : you will see here that we are not getting charged any tax becausee we are not in Ontario. lets go and try that out. [changes address to one in Ontario]
Obviously UPS is going to return an error because we have a Canadian postal code. You could use debug information to check that out. Shipping is $15. We review our order. And there is our Ontario tax - HST - because we are in Ontario and pay 1.95%.
We are going to submit our order, and it looks alright in our sandbox. You will see here that we have the default currency - that's $USD - and I could use my sand box information to change that.
So that's it - that's setting-up payments through Paypal, setting-up UPS flat rate and weight quotes for shipping, and setting-up conditional taxes.

I hope this helped-out. The next video tutorial will most likely be coming in a week or two. As always, leave comments: I love to see the likes and dislikes on Youtube . As always, if you need additional help: drupal.org/forums. Ubercart.org/forums, or torontowebsitedeveloper.com We'll see you in the next video tutorial

[Drupal 7 / Ubercart video tutorial 6 of 10 showing how to set UPS, Paypal, and conditional taxes]
[Drupal 7 / Ubercart video tutorial 7 of 10 showed how to use the default catalog module]
[Drupal 7 / Ubercart video tutorial 8 of 10 showed an alternative flexible method of showing a catalog]
[Drupal 7 / Ubercart video tutorial 9 of 10 shows how to use product kits, stock, and order states]
[Drupal 7 / Ubercart video tutorial 10 of 10 shows a simple checkout, reports, and suggests a theme]

About transcription: 

I'm not connected with Ubercart or Peter Yaworski. I transcribed this from the Youtube video.

One method is to use my favourite wisywig html editor squeezed onto the same screen as the you tube video. Play abour half a sentence at a time. Where the text and the form-filling on screen are the same thing, use the Wisywig's dashboard to add these components - http://www.w3schools.com/html/html_forms.asp - as you go. Blogger's html editor - the default "compose" screen - doesn't have nearly enough of them. I hadn't heard of fieldset before and now feel more clever, but my old html editor has not got a button for it so I've often left it out. Horizontal rules are just <hr> and easy to put-in by hand. Headings and typefaces are easy to put-in in Blogger.

Youtube does have automatic captions on it from a voice recognition system, but they don't work on this particular accent. I don't know if an author can add captions; if so I'm happy for these to be glued-in.

When the first useful draft is done, show it on screen as raw HTML, and cut/paste to the raw HTML editor of your blog. Don't be put-off by the hideously complex html that it is converted to; it needn't be so complicated. That's what worked for me on Blogger.com, which is free and allows adverts like Qadabra or Adsense or whatever. Example.wordpress.com only allows their own adverts, which I don't know anything about. I wouldn't go spending money on a domain name because the ad revenue was only a cent or so a day and then ceased altogether from Qadabra, so it isn't really a living even without buying a domain. The main motive for doing this is so that nobody else has to repeat the same work, if their concentration isn't great or english is a second language and they need the nitty-gritty text. Oh and I get lots of pages on which to mention a shop selling vegan shoes from the UK.

No comments:

Post a Comment