I am using Google Wallet For Digital Goods.
Will I get a callback each month when money gets transferred or will the postback URL only get called once when setting up the subscription?
I'm afraid at this very moment Google Wallet only notifies the user when the subscription is cancelled.
I asked the same myself on google wallet for digital goods forum :
https://groups.google.com/forum/?fromgroups=#!topic/in-app-payments/YFaCBDwaF9g
See the 2nd answer from Mihai Ionescu from Google
EDIT: As suggested by Qix below, I'm quoting the answer given by Google below:
After the subscription is setup, you will receive a postback only when the subscription is cancelled:
https://developers.google.com/in-app-payments/docs/subscriptions#6
Currently the merchant can cancel or refund a subscription from the Merchant Center. We are working on adding API support for
cancellations and refunds.
Please note that the forum entry is from late 2012, however as of May 2014 things doesn't seem to have changed much, as Google still postbacks only for Subscription Cancellations
Related
Not sure if the title makes sense, I will say this question is very similar to the one I posted yesterday but no response on seen here. I have a user sign up and select a plan, once they are set to said plan there is a trial day limit set using the stripe dashboard. I am not creating the subscriptions via the API. Once the day 30 days are up, how can I tell? Only way I can think of telling is checking if their account is older than 30 days and doesn't have a stripe token/last 4 numbers of their CC. There has to be a better way that is more secure and prevents them from canceling their card and still being able to use the service. I know there is no code in this post and should be, but the only code I think is relevant is in the linked post you should check out.
I should add, where should I put this code in my routes? And I am using node.js, express, swig, and stripe.
What you are looking for is Stripe Events. When an action happens on your account, Stripe issues an "event". You should set up a webhook in your dashboard, and an endpoint on your site or app to capture Stripe Events and process the data that is sent.
Stripe issues two perfect events for what you need: customer.subscription.trial_will_end which fires three days before the trial ends , and customer.subscription.updated which fires in multiple cases, including when the status is changed from trialing to active.
Read through the Stripe docs here to learn more.
I am growing frustrated with the lack of features and poor documentation of the Google Wallet for digital goods subscription API.
My question is the following:
If Google wallet sends a postback to my URL, and I do not acknowledge the payment (send status 200), does the payment get refunded or not appear on the card statement in the first place?
It seems rather strange that there is no way to programmatically cancel subscriptions. A work around would be to manage subscriptions on my end and only accept the postback payment if their subscription is valid. This would of course be frustrating to a user if they canceled a subscription, yet they still see a charge to their card and then a refund. I would like to avoid that.
Thanks in advance again everyone.
I'm not a Googler so this is subject to being crucified :)
To get an official response, it would be best to contact Google directly - you should see a "HELP -> Contact Us" in your Wallet Merchant Center.
Important: If you specify a postback URL, your server must respond promptly and correctly to the HTTP POST messages that Google sends for each transaction. Otherwise, the transaction will be canceled.
REF: Official documentation on handling postbacks
This somehow/probably relates to the old question in credit card processing of the difference between an AUTHorization and an CHARGE (aka "capture").
An AUTH for x amount would need to be sent for processing. Otherwise, how would Google send you a positive result for the transaction (aka Google would send you a postback after such successful "Auth" transaction for x amount - re: does account have enough funds to cover x)?
So there would be a "pending AUTH" for x value on card holders' account, subject to "capture" (finalizing, turning that AUTH into a CHARGE) at some later time (perhaps after you successfully acknowledge the postback).
What Google does (e.g. "Void" or "never capture") to that pending AUTH if you don't acknowledge (aka "...transaction will be cancelled"), or whether or not the above scenario is actually what occurs in Wallet for Digital Goods, can only be answered by Google. The above is only a personal (mine and mine alone) insight to standard credit card processing...
Hth....
After 8 hours research I found that Google Wallet sends notification about subscription cancellation and doesn't send notification for monthly charges. Ok, I can live without this.
But customer's credit card can expire... What happens if Google can't get money from customer's credit card? Will Wallet cancel subscription or will it send notification to callback URL?
Does anyone have answer for this question?
I do not see information about this case anywhere.
One more issue is that I can't cancel subscription in my merchant center. Is this a feature or Google forgot to do this?
If you're referring to Wallet for Digital Goods:
If Google can't obtain payment (or when users cancel), they'll send you a failure postback
Canceling subscriptions in Merchant Center
Hth....
I am new to integrate Google Wallet and there are some confusion and questions related to that given below:
Is it possible to add multiple items for Google wallet?
How to handle discount by API?
What's the parameter in JWT response on postback URL for success and failure transaction?
Is refund functionality available for a transaction by API call?
Anyone have idea about this. Thanks in advance.
Can you clarify which specific API (Instant Buy or Wallet for Digital)?
Is it possible to add multiple items...
Digital - no, you can however "bundle", see this post for clarification.
Instant Buy - it's just a "layer" on top of your (pre) existing purchase/ordering processes and handles (just) the payment data of a Google Wallet user. The "order details" is something you control. See sample of data you send.
Discounts by API
By API - no. You can pass whatever (pre-calculated) value in both APIs.
Success vs. Failure Postback
Digital - Google will only send HTTP Post to your server URL on successful transaction. See #5: "Google sends an HTTP POST message to the postback URL whenever a purchase completes..."
Instant Buy - not relevant. You are processing the transaction, unlike in Digital where Google is. Instant Buy in a nutshell provides your web site, secure access to a Google Wallet user's data. You need to have your own merchant account/processor, be PCI compliant, etc. That said, you will have the success or failure info that you actually have to send to Google - they need to know if you have successfully processed or not (yup, it's the other way around).
Refund by API
By API - Unless a Googler says otherwise, AFAIK, not at this time, for both APIs.
On that note, for Instant Buy, it's actually unclear to me how to "inform Google" when performing a credit or refund. Its still a "private API" (not GA) so I actually haven't seen its "guts". It's understood that since the merchant uses their own processor that a credit/refund is the same procedure, but letting Google "know" about it (days/weeks after the fact) is something I personally have no actual info on..sorry...I can assume some "button" in merchant center for Instant Buy, but that's just a guess....
Hth....
W.r.t InstantBuy Refunds:
The Refund happens on the virtual one time card that is returned by the Google API. The refund on the card can be done by using any backend payment processor. Once the refund is made to the card, it hits the user's backing card.
My client is using moneris as our payment gateway for a new subscription based website that I am working on.
I will be using the language PHP
I've looked through their documentation for PHP api and am comfortable with how it works, it seems very straight forward.
One thing was missing in the documentation for me though. There is mention of how to start a recurring payment, how to update a recurring payment, but no mention of how to query a recurring payment?
Some payment gateways allow you to have a POST back URL of sorts that get updates on recurring billing status. This does not seem to be possible with moneris.
How do I go about automatting the process of tracking recurring payments with Moneris? I'd like for my customers to log in and be able to view their transaction history on my site.
This information will also make it easier for me to know when to close accounts. Ie. when a payment fails to go through, or a credit card expires? I don't want for my cleint(owner of website) to have to keep track of the recurring payments and cancel accounts manually?
I got an answer from Moneris:
Hi David, We currently do not have a reporting API or any way of
posting the information from our recurring payments back to your
server. It is something that has been mentioned previously and is
being looked into. We do not have a current ETA on such a solution.