I'm no expert but I created an android app that accepts a payment for a download then gives the customer that download once payment is confirmed. I used the PayPal SDK for Android, their example app is here https://github.com/paypal/PayPal-Android-SDK which I am basing my code on.
My little app works well, I'm very pleased with it. I have one BIG issue, should a customer want a refund I go into PayPal to issue it, if they paid via PayPal login it's easy, scroll down, look for their name or email and click refund. If they paid by direct card payment it's very different. If you go into papa and look you can spot the card payments quite clearly, they have no name or email attached to them, in fact there is no personal detail to associate the payment to them at all.
How on earth is that acceptable? I can't locate a customers payment in PayPal to even know if they really are a customer. Surely it should at leafs be able to give you a name?
Am I missing something in the SDK? Is there perhaps a field I'm not populating that puts detail into the Paypal transaction?
Any help and / or code snippets would be very much appreciated.
At this time, your app should correlate the payment ID returned by the SDK with your customer/sale and communicate this back to your server. This way, you can use the payment ID to get the associated transaction ID to refund.
Related
I need to implement the payment transactions with paypal account and credit/debit card using paypal on my mobile application (Android and iOS SDK's).
In one hand I understand the part of having a paypal account and paying with it, but in the other hand I took a look at Uber and I found that the users can save their credit card without creating a paypal account. How can I achieve this behavior? Do I have to save this credit cards on my server? or is this a feature of Paypal?
PD: I already know Uber uses BrainTree, but I have seen the same feature on other apps with Paypal.
What you're looking for is called "reference transactions" or "vaulted credit cards". PayPal saves the card data on their server, and then you just save the transaction ID on your server. When you submit a reference transaction request you just include the transaction ID from the original transaction you processed (could be an Auth or Sale transaction) along with the new amount you need to process.
Depending on what you're using to process the cards, though, the API you would use for the reference / vaulted transaction would be different.
If you're using Payments Pro you would be using either DoDirectPayment / DoReferenceTransaction or the PayFlow API setup as a reference transaction.
If you're working with REST that's where the vaulted transactions would come into play.
I would like to implement payment via paypal.
I downloaded the example samplepaypalsdk and I tye to modify:
NFIG_CLIENT_ID
CONFIG_RECEIVER_EMAIL
with the data generated from the center of development.
In addition I have also modified
EXTRA_CLIENT_ID, "buyer#paypalsandbox.com"
EXTRA_PAYER_ID, "mypayer"
I run the app and I bought the jeans, now I would see the status of transaction?
I tried to search in developer center, but I didn't find it. I would understand how can I manage a transaction...
There is currently a problem displaying AdaptivePayment transactions in the developer console. (AdaptivePayments is the name of the "classic" API that is used by the Mobile SDKs to process PayPal transactions).
However, you can see the notification generated by this transaction in the notifications section, and you can log in to the sandbox webapp as either buyer or seller to see the transaction record.
Ok, I called paypal today and asked them if they can take debit/credit cards through a mobile application. They said no. However, online people write it like there is a way.
Also, I emailed a mobile company pretending I didn't feel secure about giving them my card info and asked them how they were taking credit/debit cards through their application and they responded that they used Paypal for that!
So I am confused. Anyone here has taken a credit/debit card payment in android without logging in to Paypal?
I searched everywhere including here in stackoverflow:
Android payment processing through paypal/credit card
But I am still uncertain. Can anyone have a definite answer and not just send me to some some other link.
Update: It seems this can be done, does anyone have a tutorial on how to do this?
UPDATE 2: I gave up with paypal trying to do this. I now use zooz. I highly suggest anyone going into the trouble of getting paypal working for them to use zooz. Its soo easy. Btw, I don't work for zooz, I use them for my apps. Their website is zooz.com
Thanks!
It is possible to take PayPal payments through your mobile device, and it's not all that difficult either. Just use PayPal payments and embed their payment gateway (webpage) into a WebView. You can optionally receive feedback through IPN, and fire off a GCM event to your app.
No, you will not be able to take the customer's credit card number and other information, feed it to PayPal and process the payment. But the point of using PayPal is that all the security of capturing, transferring and storing that info (including the significant liability that comes with handling it securely!) is PayPal's responsibility, not yours.
Keep in mind that you would violate the Google Play/Market TOS if you're using PayPal to charge for your app or digital content within the app. If you're creating a shopping app, however, you should be ok.
I'm searching for a tutorial or an explanation on how to remove advertisement in my application with in-app purchase?
I will put some ads with ad-mob in my app but I also want, that the user can disable the ads when he pays a little donation. Do you know a site or tutorial where I can find a step-by-step explanation how to do this?
Or do I need to publish 2 versions of my app? One with ads and one without ads for paying?
Don't use the SharedPreferences method because if the user flushes the app data or uninstalls/reinstalls your app their ad-free status will be lost.
A couple of ideas:
If your app has any kind of web based login or authorization, you can flag the user as having bought the ad free version by updating the web database's customer data and then disable ads in code following login and verification. This has the added benefit of following the user to new devices.
Use one of the several ways to get a unique device id, and store that in a web server database. On startup, query the DB to see if the device is ad-free. See Android Unique Device ID. This will only work for that particular device though.
The two apps approach is simple enough to get the job done too. :)
This presentation seems to explain an example and includes a link to source code at github:
http://gotocon.com/dl/2011/GeekNights/Tjen_penge_p%C3%A5_Android_ARH.pdf .
It stores the purchased upgrade at a sharedpreference.
However, I'm still looking for a more secure and robust solution that works out the use-case explained here:
http://vlingo-en.custhelp.com/app/answers/detail/a_id/1785/~/moving-in-app-purchase-(ad-removal)-to-new-android-phone/p/180
I'm developing a game on iPhone with Appcelerator Titanium (wrapper in javascript) and I want to sell virtual goods with Paypal (Titanium has a module for that).
The thing is I don't want to be charged the whole transaction fee right away: I want the user to be able to add some extra stuff to the order a few minutes later. In other words, I want to authorize a first payment, then offer an update if necessary, then later capture the transaction (close it).
Does Paypal offer this kind of thing? I don't see it with Ti.Paypal (the titanium module).
Thanks!
No. Paypal doesn't offer such a thing. If you want to do this, keep it local until you know the user is done, and then send it to PayPal. Not the other way around!
Good luck
Apple will reject the application anyway. You in app purchase of virtual goods must go through apple, not PayPal