For the latest info, check this Vietnam visa agency's website (scroll to the bottom left and pick your country from the dropdown. You should also double check with your own government's official travel advisory site. This is the one for Canadians
As a Canadian passport holder (same for US passport holders), I had to get visa on arrival when I visited Vietnam
There were in total 5 things I needed to get my visa (detailed steps below):
Visa Approval Letter (printed out on paper)
Two passport photos (4cm x 6cm)
Completed NA1 Visa Application Form
Visa stamping fee of $25USD in cash US dollars
Passport with 6 months of remaining validity and 1 blank page
Here's my entire application process:
1. Getting all the required docs together
I applied for my Visa Approval Letter 1 month before my trip. To get it, I spent <5 minutes with an online application through this agency: https://vietnamvisa.govt.vn
Despite the URL, this agency is NOT an official government website
The online application for the Visa Approval Letter required: full legal name, gender, date of birth, passport number, arrival city in Vietnam, and arrival date
Note you don't need to have a flight booked to get the Visa Approval Letter. I got mine without providing any flight info. The way it works is that whatever "arrival date" you put in your approval letter application, you must arrive in Vietnam on or within 1 month of that day (the visa approval letter will indicate the last day you can arrive)
The cost was $17US. I read that some other agencies charge as low as $10US
Keep in mind this application is NOT for the visa, but the Visa Approval Letter, one of the five things you need to get the visa
I got my Visa Approval Letter in my email literally the next day (I didn't even use expedited service or anything. I went with the cheapest option), which I then printed out
Then I went and got my two 4cm x 6cm passport photos taken
Then I got $25 USD in cash
Then I completed the NA1 Visa Application Form. This is the actual application form for the visa itself. Whatever agency you use for the Visa Approval Letter should provide you with a link to download it. I downloaded the NA1 Visa Application Form from this link belonging to the agency I used, printed it and filled it out. You can always just Google "NA1 visa application form download".
2. On my travel day, I had to show the Visa Approval Letter to my airline when I showed up at the airport
3. At the Hanoi airport after I landed, I gave all 5 required docs to the immigration official and got the actual visa in my passport. No questions asked. Very easy.
4. After I got the visa in my passport, the rest was the typical process through the customs and immigration
Additional notes and tips:
Apply for the Visa Approval Letter at least 2 weeks in advance to give yourself plenty of time in case something goes wrong
The Visa Approval Letter I got contained the names and passport numbers of a bunch of other people. I was freaking out at first but upon further research it seems this is a standard practice: the government approves a single letter that bunches together the approval for a lot of people. This is probably a bad practice on the part of the government because I can see the passport info of other people and they can all see mine, but it is nonetheless the usual practice
For 46 countries (and only for single-entry visits for 30 days or less), there's also what's called an E-Visa, which you also apply online. What I described in this brief is NOT E-Visa, but Visa on Arrival, two different things. I'm not sure what the process is like for E-Visa, but most tourists use Visa on Arrival instead of E-Visa. Here's the official government website for E-Visa