I've got a general question regarding in-app billing and checking strategics:
I have several apps and I would like to offer them for a trial time with full features (14 days) and then charge a fee to use it. I would like to follow the http://developer.android.com/guide/market/billing/billing_best_practices.html and check the signature on my own SQL server. There are good examples, see Android in-app purchase server signature verification using php OpenSSL
My Idea is the following, (correct me if this is not possible):
start App and contact to google server to obtain user ID (account which installed the app from google Play
with that ID contact my SQL server (sending ID and App name), if not existing create entry with date in order to check Trial period, and obtain Public Key, trial period and so on
with the Public Key contact google Server and check state of inapp-purchases for that user
update the app according to google answer (full features, trial period valid/expired)
Is that a good approach?
Are there some good examples to do this? I looked up the forum, there are approaches but, not that one.
Many thanks,
I am not very sure if it is possible form inapp purchase, but you can do one thing, suppose you have an item which is available for purchasing, create a timer or some kind of counter, and check for your specified trial period, if(inTrialPeriod){ don't show any purchasing option just give them free from your app with different item id) else(show the item purchase option from google play).
Related
I have a website coded in PHP that uses paypal buttons/IPN for subscriptions.
The method is limited and I need to replace it with the REST-API.
What the system needs to do:
Accept new user recurring-payment subscriptions
Be able to change plan pricing for new users
Be able to change plan pricing for existing users
Change subscription plans mid-subscription(If a user upgrades from pro to master the price goes up, and the opposite way it goes down).
The price difference between packages is 5$
Give periodic discounts for a limited amount of months.
The questions:
1.) What is the equivalent of recurring-payments in the PHP-API or REST-API? (I'd rather it auto-charges and notifies my IPN if possible)
2.) How can I automatically refund/charge an additional amount when the user upgrades/downgrades in the middle of a month?
3.) Is there a standalone PHP control-panel that can connect to the paypal API to manage the subscription packages + sales?
Thanks in advance!
If you are looking to use REST APIs, the best place to start is going to be at the REST API docs. For your situation, you can use the vault to set up a recurring payment system. You could also use the future payments API, but you will need to make sure you buy DPRP for your account. Contact PayPal Customer Support to enable DPRP.
With the Vault API, you can just create one time payments over and over with the token you get when storing a credit card.
There is an in-depth walkthrough using the SDK on the PayPal PHP SDK Wiki.
To do refunds, you can use the Refund REST API. All this assuming that you would be writing scripts to detect your user downgrading/upgrading. You would just need to store the amount they are paying each month in your DB.
There are some shopping carts out there that are implementing REST APIs. You might need to google search for something like that.
Hope that helps and gets you started in the right direction!
We have used DoDirectMethod to credit card payment and recurring payment with CreateRecurringPaymentsProfile Method. But Some how i can not get error "This transaction cannot be processed due to an invalid merchant configuration.".
I found some solution for this :
1)I have problem like : Features that are not enabled for live transactions
2) If for use of REST API ,
I need to change my country then how can i change country or currency.
3) In paypal errorcode i found : Occurs when you have not agreed to the billing agreement.
- Then how can i agreed billing agrrement- need steps for it.
Please help me by providing steps of configuration or any other solution.
PayPal is confusing peoples/developers completely, i am also getting the same issue from one month on one of our client's website, i was used DoDirectPayment, and it works like a charm for test transactions, but as i make it LIVE it is was showing the same issue, i found that too, to performing transactions in LIVE mode we need to 'Enable' this feature for Direct Credit Cards, but many times i requested them (PayPal) to enable that feature, but all time they just received my Application Online and reponsed that it will take about 24 hours. I have also added extra information like SSN, EIN all that but they are so lazy or not active to do that.
At one point they are saying we need Website Payments Pro but i have not found a single link to register that, I found PayPal Payments Pro link at many sites and even in their site, these guys have a huge documentation on that website payments pro and dodirect method but not a single link how to register for that service or how they enable that feature for 'Live' mode.
And today i found they updated their developers site and make things a little different, also provided an extra method "braintreegateway" in order to process, and i tried that too using their sandbox account, its working with only PHP 5.4 and above, so old PHP version servers are unable to get that. And they also need to register your details at their end.
If i have already a PayPal Business account why do i need to register at every single method.
Sucked
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.
I am trying to connect to MLS Rets server in my local wordpress but can't connect.
I also don't know how to use Rets Server and get data from there? Also need some real estate sample data for testing purpose.
Does Anybody have any idea. How can I do that.
Im not familiar with that wordpress plugin but you would get your login information and other details on connecting from the MLS that you are subscribed to. They could potentially have restricted access times or have IP restricted access among other general inconveniences causing you to not be able to connect.
Once connected, if you were looking for sample data then you would set your batch to a few hundred properties or something just to start. Or its possible that the MLS offers a sample set of data or a test server to use in developing your application.
to answer your comment
You have to be a member of one. Multiple Listing Services are organizations that realtors belong to in order to share their listing data through broker reciprocity. There are several hundred MLSes in the US alone and although many of them use the RETS standard (which really shouldnt be considered a 'standard' in the first place) there is absolutely nothing standardized about them beyond a few similarities here and there... im not sure about other countries... There is also a way to become an IDX vendor for MLSes.. This usually involves setup and monthly fees and strict approval processes.. In that case you would be selling your IDX service to a member of the MLS in question. If your not a realtor and just want to display listing data im pretty sure your going to have a hard time getting approved to do so.
You need to Connect RETS Service Provide they will give Credential once you register as agent under that agency and Provide Limited Access for RETS Data Feed once Again you can check your credential working or not using http://retsmd.com or if find any issue i having Script PHRETS and RETS IQ we will discuss if you facing any other issue.
To add to Andrew's answer - to get RETS credentials, you'll not only need to have an agent sign off for you, but you'll also need to get their broker in charge to approve it. Most agents choose to use a third party service that is already setup as a vendor since it can be a months or year long process for a new vendor to get setup and approved. Especially if that vendor doesn't already have standing relationships with other MLSs.
Some MLSs charge vendor fees that can range from $0 to as high as $5000 / month for access.
I realize they have an API but some of
the questions I have wouldn't be
answered by it, and it would be great
to receive feedback from others who
have integrated it before.
I basically am working with a web site where visitors may choose to sell a used item to the site owner.
If the user decides to sell, he can enter in the specifications of the item and be given a quote. Then he'll proceed to enter in his address, which I assume I'll have to verify using the Fedex API before or during the part where it creates a shipping label.
So assuming the address is verified, it looks like the script in the API I have to interact with is /Ship/Ground/Domestic/ShipGroundDomestic.php5 ( since we will not integrate any other type of shipment type yet ).
Is this is the script that actually creates the shipment and charges the account setup, assuming all goes well it returns a xml response with the status?
Since it's SOAP based - I realize there are options for a pdf and png shipping label type, it looks like it generates the label but where is it actually stored, is it just temporary?
In the script it specifies options for a API Key, password, account #, and Meter # - so I would have to actually know the site owners credentials, since it charges for creating shipments/labels I can't use a normal account that doesn't have a CC setup, can I?
I can't actually test anything without contacting them and telling them to make my account go into test mode? Or is there an extra parameter for test mode?
I should store all shipments in a local database to pull them up, right? Or should I solely rely on Fedex for storing all the information? If I use a local database I can map shipments to users and use a Fedex provided script to look up the delivery status so I would think I have to do that.
If I were to have a feature that automatically emailed customers with status updates of a delivery, I would have to use some type of cron job to look and see if there were any updates made, I can't do this any other way?
If you are using the the Fedex Web Services API you get a test key by going to https://www.fedex.com/wpor/wpor/editConsult.do
(You may need to be already signed in).
The label it generates it just dumps into the current directory. That is obviously not acceptable for production code, since it does not even generate a unique file name, but the php file is example code. Modify the code they give to do whatever you want with the returned label.
You would want a local database.
Why would you want to send users updates? Is there any reason they cannot just use the tracking number and look it up themselves? I mean it would be possible to call the tracking API periodically and generate emails, but do users really want these emails?