Opencart: How the auto update currency process is working - php

I have been analyzing the platforms for shopping cart. I heard about opencart and its auto update currency process. I have surfed to find the process. But I couldn't get solution.
How it is working? Does it use any APIs by default? Is there any possibilities for auto update failure? How can we solve that?
Please advice. Thanks.

It gets them from http://download.finance.yahoo.com/d/quotes.csv
In answer to your question, presumably it would stop working if Yahoo ever discontinued the service or changed the URL.

The answer by colmde is right, it is using Yahoo finance web service, but it is still working in my local computer connected to internet.
How it is working?
As I check the code, there are 3 conditions for currency update to run:
When we are entering admin dashboard page (if auto update enabled)
When we set Auto Update Currency to Yes in page Setting / Store and we save it (if auto update enabled)
When we push button Refresh in page Localisation / Currencies
Does it use any APIs by default?
Yes, it is using Yahoo finance web service API as colmde mentioned
Is there any possibilities for auto update failure? How can we solve that?
Of course there is, you can see the code in /admin/model/localisation/currency.php in refresh() method. You can modify failure handling there. Currently the code will update the value of currency if the content from the web service is not empty.
Presumably it would stop working if Yahoo ever discontinued the service or changed the URL.
And you're not connected to internet.

Related

Paypal express checkout - buyer details

so I need to ask a question, I need to setup a simple paypal express checkout system, that one can allow users to change currencies, and two can then update the page with the updated currencies.
Then I need a way for me to get the order information. As I will be selling website templates so I need a way for me to get their email address, so I can then email them with the link to the template file download.
So my question is what data do I get if I set up an express checkout system. And what code do I need, Do i need to create a database to get the returned data back from paypal? Or do I just get an email or can i see that when i log into my paypal account and check orders and see their details that way, but the main important detail i need is their email address?
Can I also say that this is the first time I have looked into express shopping carts. So I am a complete novice in this field, So I will struggle with the coding aspect. But I think it is the route I need to go down.
Also I want to make it all in php as well. But also I don't want to use ready made systems. I just need the back-end code so that I can then just implement it into my current design. Not sure if paypal give you the code when you click the express shopping cart option in All tool section. I did notice though it redirects to a page that lists many partner sites. I couldn't find anywhere for any implementation advice or tips or code.
EDIT: Also I know I will also need to use either IPN or PDT but the documentation I read is highly confusing and just is making me unsure if I can even set a system up. I also read that you should implement both systems, but I also read that that had a risk of doing the payment twice. So yeah i am kinda a bit unsure how to even go about implementing a system I need.
Thanks in advance.

Accurately reporting referrer from payments made with PayPal in Google Analytics

In our Google Analytics ecommerce PayPal is getting credit as the referrer. I've found many articles outlining use on the utmnooveride to ensure PayPal transactions pass the data so that the original referrer gets credit.
We use PayPal to process our credit cards as well as allow people to pay with their PayPal account. When a visitor pays with credit card they never leave our site, so we are only seeing this inaccuracy when a user leaves our site to pay with their PayPal account.
More accurately we are using PayPal express checkout and using NVP (name value pair) API. https://developer.paypal.com/docs/classic/api/NVPAPIOverview/
We've implemented the suggestions and code changes we have found but PayPal is still getting credit.
We've even talked with PayPal and Google techs and aren't getting any thing more from them than what we are finding online.
Is anyone else encountering this issue, have you found a solution or have any suggestions? Your help is much appreciated.
-- Solution Update --
Moved to the answers.
Per request.. I am moving the answer from a followup in the question to the actual answer.
Based on some various articles on how to improve accuracy of data reporting I just happened to be messing with property settings in Analytics and came across the Referral Exclusion List. I've mostly used this to just cancel out links from other sites in our domain structure; subdoimain.foosite.com -> foosite.com, but decided to investigate adding PayPal to this and came across this support doc from Google.
After reading that article I wondered what would happen. The result = NO MORE PAYPAL referrals and referrals from the original source without having to worry about utm=nooverride=1 usage.
I have verified with a Google support specialist that the below has no negative effects on ecommerce reporting and they have submitted my case to their help team for future use. He also mentioned that this methodology actually recently added which is why there is little documentation about it.
Here is how.
Make sure you are using Universal Analytics
Admin -> Property Settings -> Tracking Info -> Referral Exclusion List
Add Referral Exclusion
Insert referral domain - my case was paypal.com but you may have this issue with others - key here is to identify any domain that might be hijacking ecommerce transactions. So if you are seeing anything that has ecommerce credit that you don't think should; add it
This should solve the problem but I would suggest taking things a few steps further.
Adjust your session settings. Admin -> Property Settings -> Tracking Info -> Session Settings
A few notes about session settings- depending on your site and how users engage I would initially adjust the session timeout so that session is longer than 30 mins. I set mine to 2 hours for testing. Then for campaign timeout I set it 1 day (much shorter time than our normal campaigns.
This allowed me to initially see that it was indeed eliminating PayPal from the referral source and but that my transactions in GA matched my internal reports.
After verification I set the session timeout to 45 mins - 15 mins longer than our site session settings and set the campaign timeout to 7 days.
Make use of Google URL builder and add parameters to your URLs.
This is not only good practice it saves you tons of time trying to segment out your referral sources in GA. It is especially helpful if you collect acquisition source in your internal reports or logs because you can compare those to GA to ensure you are getting accurate ecomm numbers from GA.
Let me share my experience with the 'referral exclusion list' in UA:
I added paypal.com and another similar payment provider to the list.
Consequence:
The traffic attributed to those referrers was reduced from that moment on - but far from beeing zero. (Let's say it was halfed.)
No idea why it is working for parts of the traffic only.
Just wanted to add my answer in case anyone comes across this same issue.
From my understanding the following no longer works with newer GA code:
utm_nooverride=1
However if you pass the _ga parameter google analytics will be able to relate the two instances before being transferred to paypal. Okay great so all you have to do is add the _ga parameter to the return URL...but how do you get it?
Unfortunately you need to grab it client side first:
ga(function(tracker) {
var linkerParam = tracker.get('linkerParam');
});
Hope this helps someone.
Reference
https://ecommerce.shopify.com/c/ecommerce-marketing/t/tracking-true-referrals-in-google-analytics-when-using-paypal-163514
https://developers.google.com/analytics/devguides/collection/analyticsjs/cross-domain
I just wanted to add my experience. I have been having the very same problem, and as you have mentioned the solution is putting paypal.com on the Referral Exclusion List. You must be upgraded to the new Google Universal Analytics in order for to have access to it.

Magento FedEx not working

I am really stuck with the Magento-FedEx integration process and cannot proceed further.I have filled up all the valid data for FedEx at the backend and not able to implement the same at the frontend.Its giving me the default error message that FedEx is unavailable.It would be great if anyone could help me out with this.Please find the screenshot of the issue below.In addition is there any table in database where the filled up details are getting inserted,if yes it would be great if I can know that too.
I am using the built in FedEx shipping for magento and have given the following details at the backend side for implementation.Yes,I'm using a web service for FedEx.
Is there anything else I need to do for this?Or else, what could be the reason for the issue.
There was a problem with the weights of the product created and hence after making it correct the error message is not shown now.But currently its showing that, no quotes are available for the product.Is there anything else I need to change in order to tackle this issue.

Google Checkout and PHPMyAdmin

I am creating a website with a google checkout link that lets customers purchase a digital product. This digital product is a credit to their account on the site. Therefore, I need to know how to make the completion of a google checkout order change a field in my PHPMyAdmin database. I would very much appreciate your answers.
phpMyAdmin is merely an administration interface to a database called mySQL.
Consider working through a basic PHP / mySQL tutorial first to get a fundamental understanding how these things work - especially if you're programming things in connection with commercial activity.
https://stackoverflow.com/questions/1610543/recommended-way-to-learn-php
However, a good and complete code sample that you could derive from can be found here:
Good tutorial on how to update your Mysql database with a PHP form?
You need to implement a web service on your server as described in the document Implementing the Notification API. You can do whatever you want in your web service when you receive a notification, including updating your data base.

How can I automatically alert my php/mysql web app that a PayPal transaction has gone through?

I have a client who will be selling access to an online service on their website. They would like to integrate a PayPal Buy Now button into the site... no problems there. However, they want their customers to have instant access to the online service that they are selling as soon as the payment is processed. That seems reasonable to me... the problem is that I can't seem to find a way to automate that. So my question is really this:
How can I automatically alert my php/mysql web app that a PayPal transaction has gone through?
All I would really need is like a callback process that triggers a php script to updates the customer's record in the database... right? Seems simple to me. But I can't seem to find a way to do it! Anyway, if you've accomplished anything similar with PayPal, I'd be grateful for your advice!
See Instant Payment Notification.
I think you want to send in a variable to paypal (item_number) that they will return to a page that you specify in your post to them (return - success and cancel_return - cancel). They will send you back whether the transaction was successful or not and then with your variable you can make a call to your db to update the record in your database based upon the result of the transaction. In the return page you can also send some sort of notification to the client of the success or failure of the payment process and clean up after a canceled transaction.
PayPal maintains an extensive knowledge base on how to integrate their services with your web app. In think that is a good first starting point. See www.x.com

Categories