I have android application. I want to accept payments in this application for some services. But unfortunately I can't find solution how to provide credit card(VISA, Master Card, etc.) payment inside android app.
Can somebody help me with this? Any sample how to accept payments with any payment-getaway like authorize.net?
Source: Tips4all
Accepting credit cards can be an absolute nightmare. Basically, something you need to become very familiar with is PCI compliance. PCI (payment card industry) security standards are enforced by the payment card companies, Visa, MasterCard, etc. and you are required to be in compliance with PCI standards in order to accept each type of card. The easiest (and cheapest) way to accept payment cards is by using a webview to show a form hosted elsewhere (specifically at a PCI-compliant processor) such as Google Checkout or Authorize.NET. Doing it this way allows you to accept payment but never touch the sensitive information: it's posted directly to the company that has already been certified. As soon as your code touches the sensitive information, you have PCI responsibilities. For more information about PCI standards, check out the official website. I know it's not as pretty of a solution, but it significantly reduces your liability and responsibility. In addition, it allows you to accept credit cards without having to audit your code, etc, etc, etc.
ReplyDeleteAll you need to do is be able to work with Authorize.Net's, or any payment gateways, API to make payment. It won't really be any different then working with a website in practice.
ReplyDeleteUpdate 2011-11-23
Authorize.Net now offers an Android SDK
Go for paypal android sdk,
ReplyDeletehttps://www.x.com/community/ppx/xspaces/mobile
Tutorial: https://www.x.com/docs/DOC-2532
Though you might have to check with the Terms and conditions laid by google for implementing a payment gateway to your application the following links might be helpful to you
ReplyDeletehttp://www.boku.com/android/
https://www.x.com/community/ppx/xspaces/mobile/mep
http://www.google.as/support/forum/p/Android+Market/thread?tid=16da6edd03924413&hl=en
I think your best solution would be to create a webview to your payment site. For example if I was selling you credits to your account. You click the button an internal webview opens to a website like paypal or google checkout. Process the order via the webview and then return to your application and do an update to the account.
ReplyDeleteGoogle Checkout has been mentioned before, and I know you expressed that you don't like it, but keep in mind that the TOS say that "All fees received by Developers for Products distributed via the Market must be processed by the Market's Payment Processor."
ReplyDeleteIt seems that for the time being, you will have to use the web-based API.
I used Paypal in my application itself (for donations though, not fees), and Paypal handles all kinds of payments (credit card and otherwise) nicely. I'm doing it via their web interface though - I haven't used the Paypal API.
Download Authorize.net's AIM manual. (http://www.authorize.net/support/AIM_guide.pdf) It lists the POST fields you need to submit to their servers. Then use HTTPRequest to submit them and listen for a request. Process as necessary.
ReplyDeleteFYI - Google checkout's fees are the same as Paypal's, $0.30 transaction fee and 2.2%, last I checked. They are just as good as Authorize.net. The difference is your users don't have the additional hurdle of another account and another page to enter data.
A previous post also mentions PCI compliance. This is a must.
I have absolutely no experience in doing this, but a quick Google of Google Checkout might be just what you are looking for. I would also think that Google Checkout and Android would play well together given the obvious connections between them. Google Checkout accepts most major credit cards as the background charging mechanism whilst providing developers with a nice way of tapping into the infrastructure.
ReplyDeletehttp://code.google.com/apis/checkout/developer/index.html