Google Checkout Order Report API -> Google Wallet analog? - google-app-engine

I used Google Checkout API for getting subscriptions reports every half an hour.
https://checkout.google.com/api/checkout/v2/reports/Merchant/
(https://developers.google.com/checkout/developer/Google_Checkout_XML_API_Order_Report_API)
Our company have ours support team which provides help for users of application. My script downloaded last purchases every half an hour and stored in DB (time,serialnumber,email). After that support was getting access to this information through our web-interface (thus, we did not give an access (login,pass) for a main Checkout account).
Now Google Checkout was shut down and I don't understand how to do it at Google Wallet. Does anyone now can it provide this functionality or not?

AFAIK there currently is no similar "infrastructure" (reporting, querying, etc, via API like in Google Checkout) for Google Wallet for Digital Goods which, based on your comments, sounds like the product you are looking for (to replace your current Google Checkout implementation) - it's specifically for digital goods and does support subscriptions.
You'd manage orders via Merchant Center.
You will get order data via postbacks so as for ideas - you would need to store order data on your end when you handle the postback/s from Google - for both "placed" and "cancelled".
This would replace how you currently do it via Order Report API in Google Checkout...
Hth...

Related

How do I authenticate users of a web-app to access GCP data relevant only to them?

I have spent 3 days researching this problem and cannot find a solution or similar use case that shows how to solve the problem, so any pointers would be greatly appreciated.
I am creating a web-app that uses Google Cloud Storage and Bigquery. A user registers on the web app and then can upload data to Cloud Storage and Big Query. Two users could be from the same company and therefore should be able to view the same data - i.e. Jack and Jill work for company A and if Jack uploads a massive dataset via this app, Jill should also be able to view it later.
Another scenario will be I have two completely separate clients with users using this web-app. If users from Company A upload data, users from Company B should not be able to view Company A's data, and vice versa. But users from the same company should be able to view the data within their company.
Currently, I have an app that works for a single company. This has a React front-end that uses Firebase for authentication. Once the user is logged in, they can use the app which sends off API calls to a Flask back-end that does some error checking and authentication checking and then fires off an API call to GCP. This uses a service account and the key is loaded as an environment variable in the environment in which the Flask app is running.
However, if Company B want to use the app now, both Company A and Company B will be able to see each other's data and visualize it through the app. In addition, they will be sharing a project (I would like to change this to allocate billing more easily to have each client have their own project).
I ultimately want to get this app onto Kubernetes and ensure that each company is independent of each other, however, do not want to have to have separate URL's for every company using the app. Also, I want to abstract GCP away from the client. I would prefer to authenticate a user based on their login credentials and then they will be given access to their GCP project (via my front-end) accordingly.
I thought about perhaps having separate service keys for each client and then storing the service key info in Firebase, while using the respective keys for API calls but not sure this is best practice. It is however the only strategy I can think of.
If anyone could provide some help or guidance it would be very much appreciated. This is my first GCP project and have not been able to find any answers on GCP, SO, Google Groups, Slack or Medium.
Thanks,
TJ
First if all, welcome on GCP! It's an awesome platform, very powerful and flexible. But not magic.
Indeed, the use case that you describe is specific to your business logic. GCP provides told for securing access for user and VM(through service account) but not for customer. Here you have to implement your own custom and authorisation logic, with a database (I don't recommend bigquery for website, the latency is too high) to list three users, the companies where they work, the blobs of each company...
Nothing is magic and your use case specific.
If you want to discuss more about which component to use and to start, no problem. Let a comment.

Why Google cloud vision auto create many Computer Engine

My application run normal until now.
But suddenly one service account (used for google cloud vision) create many Computer Engine instances(about 32 instances).
I checked log and see this line.
enter image description here
My billing increase from 10 to 200$/day :(
Anyone help me?
This does not seem normal as the Vision API does not require to create Compute Engine instances to work with. It is possible that your credentials might have been filtered. I suggest you remove the service account that is generating the problem and create a new one. Also you can contact Google Cloud billing support if you need more information on your charges. You can fill this form to get in touch with them.

Unverified app screen in google Cloud

I am hosting some Web Applications in Google Cloud Platform using App Engine and those are for internal purpose only. One month ago I got a mail from Google Cloud Team, saying one of my apps needs verification. By based on their response I did some research and finally migrated all apps to the Organisation level as they mentioned in documentation (below link for reference). https://support.google.com/googleapi/answer/7394288#gsuite-app
But, yesterday also I got another notification regarding the same.
May I ignore this notification, or are there any further steps I need to complete?
As stated in this other documentation page:
If you're creating an internal web app for which [...] your project is
associated with a Cloud Organization that your users belong to, you
don't need to go through verification. Internal users of your
application won't see the unverified app screen.
If your application will only be used by internal users belonging to the same organization as where your project is located, you can ignore this message. It was probably triggered by the fact that your application is indeed not verified (although you do not need to do so).
So if that is the case, you will only need, as stated in the link you shared, to create an Organization and then migrate your existing project to that organization (then make sure that the users who will be accessing the app belong to the same organization).

Showing Google Analytics Data in real time

I would like to show number of visitors on a site since beginning of the month, number of users on the current day and currently on site.
I have Google Analytics installed, I tried to solve this issue with Embed API by enabling Google Analytics API from developer console - but I requires user authorization, etc.
What would be the easiest way to show analytics on-site without user authentication and accepting access by Embeded API, etc. Application is written in Angular, so Javascript API is the one I look for.
Thank you for any suggestion.
Authorization has to happen in order to get the data you want. Either you can let visitors to your site authorize themselves, or you'll have to authorize server-side on their behalf.
Once authorized, you can do something similar to what the Third Party Visualization Embed API demo shows. It uses a custom ActiveUsers Embed API component and includes the source code to show how it works.
Whether you use the ActiveUsers component or not, the basic gist is that once the users is authenticated via the Embed API, you have access to the method gapi.client.analytics.data.realtime.get, which you can use to query this data.
Here's where that happens in the source code for the ActiveUsers component:
https://github.com/googleanalytics/ga-dev-tools/blob/master/src/javascript/embed-api/components/active-users.js#L69-L87
Authentication with the Analytics service is mandatory. But the OAuth 2.0 Service Accounts (for Server to Server Applications) can be used to automate it in many cases.
It's unclear to me (from a quick scan) if the Auth options of the Embeed API would work with the automated authentication scheme, you may want to go through the details.
You should be able to use the Analytics Core Reporting API and maybe the Analytics Real Time Reporting API (beta) which work with the automated authentication according to their guides (look for the Authorisation sections on the left frames of the respective guides).
Donno if this qualifies as easy, tho, YMMV :)

Google Analytics is not showing all tracking of order

I am running a website and registered for Google Analytics. Got code embedded into my site.
My site in On Drupal and using Ubercart for Online shopping. There is only one payment mode BY CREDIT/DEBIT CARD.
The issue is that Analytics in not tracking my all orders that have been made, some of them is missing.
I have checked that the code has no issues in it, not problem of Sync as well because i have waited a long and orders that are missing are of the date say for example 5-9-2013 and i do have orders tracked of date 6-9-2013.
Anyone have any idea how to resolve it?
User can opt out of the Google Analytics Tracking, they may have not javascript, they may cancel page load before the tag has fired, they may sit an office where the company firewall filters out calls to the google server etc. Javascript-based tracking is never especially accurate (Google themselves warns that Analytics show Trends, not exact numbers).
So I don't think there's a way to resolve differences between GA and backend systems.

Resources