I would like to know the best way to do this:
users of my Android app gain points as they use the app.
they can then 'check out' their points for money to their paypal or bank account
the app should take the money out of my the app's paypal account and transfer it to the users bank or paypal account.
any suggestions?
The payment from you to your app users does NOT happen on the Android app. Instead, the payment can be triggered either by user actions (for example clicking on some "pay" button) or by other events like "user has gained enough points and the payment will be done at the end of the month", etc.
The payment from you to your app users' PayPal account can be done by calling PayPal Payouts API or Mass Pay API on your server. Payouts API is REST API and Mass Pay is classic which uses NVP/SOAP. Check here for the docs:
https://developer.paypal.com/docs/payouts/
The Payouts API and Mass Pay API can be used to pay a lot of people in a call, so it's recommended to get a list of users and pay them at the same time, say, at the end of the week or month.
Or, in a cumbersome way, you can have script telling you which users and how much to pay periodically, say a month, and ask a customer service person / assistance or whoever you trust with your money to manually pay through your PayPal account. I know it's funny, but it's a way useful if there aren't a lot of users to pay, or this is what you can do before your automated process is in place. Some merchants do this, and I'm just trying to list the ways that you can do through PayPal, and leaving the decision to you. ;-P
I don't know the exact logistics of how to do this but here is a link to a possible PayPal api you could use https://developer.paypal.com/docs/integration/mobile/android-integration-guide/.
I will warn you that if done improperly this could be very dangerous for your bank account. If someone could use a tool like SB Game Hacker or Game Guardian to change their point value they could essentially steal money from you that they did not earn.
To combat this you can set up a database containing your user's point values and use that database when deciding how much money to give. Also make sure a user could not push their own manipulated point values to the db.
Related
Is there Mobile API for Android that have an option to charge clients automatically or in the end of the month? And also can handle wallet information? (I don't want to keep card information on my own server)
For example taxi, Lime (scooters) apps that charges automatically in the end of ride (card information was entered before), or even Google Ads that charges in the end of the month.
Which payment services they are use? Someone familiar?
For PayPal on Android, a partial answer would be the Native SDK: https://developer.paypal.com/docs/business/native-checkout/ (not the web Checkout SDK referenced in another answer)
This does not address recurring billing / future transactions, however. For that with PayPal you need a feature called 'reference transactions' to be able to save or vault a billing agreement with each user. The PayPal business account owner can contact PayPal's general support (not their technical support) to inquire about enabling reference transactions with their service, and explain the business need for it. On review, PayPal may or may not approve the request, which is necessary for auto billing.
Most merchant services should provide you with one. Here is paypals, but you would only want to use it if paypal is your merchant.
https://github.com/paypal/Checkout-Java-SDK
Really, you should contact your merchant services (the company you are running the credit cards through)
I have an application which user play some games and earn scores and after that, they can earn money, according to their sum od scores.
The problem is, I don't know how should I integrate this method (sending money to the user) with my app. I both have Visa card and business paypal account and to be honest, I wanna have both of them in my app. although I have read previous posts in stackoverflow about this thing, I haven't reached to my answer.
Please help me in details, if possible.
The Payouts API or the Hyperwallet service could fit your use case.
Either would require approval by PayPal. You need to apply to use them and explain your business use case.
In my Android app, I need it to where, if the user has enough points, then they can click a button that will then send them money through PayPal. It's basically like those apps where you watch ads for points, then you redeem for PayPal cash. The problem is, I can't seem to find a way to do this, even though I've seen it done with countless apps.
To give a better understanding of what I am trying to achieve, here is a scenario:
Bob has 1,000 points. In the app, 1,000 points is $1 USD. He clicks a button that says 'Redeem $1'. The app then prompts him to sign into his PayPal account, and then it sends Bob the money (to his PayPal).
How can I achieve this?
The PayPal mobile SDK supports payments to the account associated with the mobile app client_id. Payments to the mobile app user, like you are interested in making, could be built on your server side using the PayPal Payouts API. This API should be supported by all of the PayPal REST SDKs.
I am creating an Android application that will offer users a subscription option if the user has his credit card information stored in their device. If he does not, I am thinking about offering different methods for the user to use the application.
Does anyone know if there is a way to check if a user has his credit card information stored in their device?
To clarify what I am looking for:
Android devices allow users to store credit card information so they don't have to re-enter the information for every purchase. I'm talking about identifying that the user has that data stored. I am not talking about storing that information myself for the user or trying to get it. All I need is a boolean method that will tell me if the user has the data stored or something similar.
Credit Card information isn't really stored "on the device." In the case of devices that are connected to the Play Store, Google account credentials are stored and payments are made through Google Wallet. I don't have a lot of experience with other types of devices, but I imagine they all work in a similar fashion, for example a Kindle Fire will keep Amazon account credentials, etc.
If you're looking to create an application that provides in-app purchases and will be available on the Play Store, you can click here to read about Google's In-App Billing API that allows your users to use their Google Wallet to make payments. For Kindle Devices, Amazon has a similar API.
It would be a pretty major security concern if arbitrary apps had access to the device owner's credit card information. If you're writing an app that you intend to distribute outside of a reputable app store and therefore without a built-in in-app purchase api, you're going to have to use your own payment mechanism. If this is the case, I wouldn't recommend creating your own. I believe PayPal has an Android API, and a quick Google search came up with a few other less notable brands that offer this service, though if you do intend to use the Play Store or Amazon's app store, using a 3rd party payment API usually goes against their terms of service.
Edit: The AccountManager class allows you to view info about accounts on the device, however, I don't believe that you can use it to discover if the user has a payment method set up through Google Wallet. I found this SO question that goes into detail about what the AccountManager can be used for. If this is a Play Store app, I'd look into the Google In-App Billing API, it's probably the best option for what you're trying to do.
I'm trying to write a free mobile app that would make payments merchant-agnostic for the customer.
Context: Most web-apps are merchant centric and allow for multiple payment types from the customer. But the problem I'm trying to additionally solve is to have, say, a mobile app that is capable of paying as many merchants as possible using your debit, credit or PayPal account. It shouldn't rely on per-merchant technical partnerships to work. It should just be able to talk to any merchant after writing the upfront code.
There are a few solutions that come to mind: Integrate with VISA, Mastercard, or PayPal. However, my goal is to integrate with stores that sometimes only take debit, sometimes only VISA, sometimes only PayPal, etc, while re-inventing the wheel as little as possible. I'm wondering if anybody has already solved a problem like this before?
Which APIs are the easiest to integrate against? Could you name a few?
Are there well known merchant-aggregating APIs that are already very popular? Do they cover much larger merchants like Costco and Walmart?
Are there partnership costs (with say VISA) I need to be aware of?
Is there one API to rule them all that would aggregate even across Debit, VISA, PayPal, etc to reduce things to one integration point?
I need this for a free consumer Android app and would really appreciate any help I can get - especially if it's cost-effective.
Best!
Amin
You might be able to obtain a large quantity of Paypal account info on companies who publish their account info for payment, but doing it with credit cards directly would be rather challenging as you would need the company's merchant account information and provider's information in order to process. This info is sensitive data as releasing this info would also allow you to refund yourself money using their merchant account.
Have you thought about using electronic check as a pay option instead? If so, that would allow your app to pay thousands of companies from your application without the complications of getting merchant account info. Let me know if that might be a viable solution for you and I can give you a hand with it.