Using the paypal iOS sdk, is possible to:
1-take a payment from one user for X dollars plus a fee of Y
2-deposit X+Y into your paypal account
3-make a payment of X to another user
I'm looking for an approach that will do this and for all intents and purposes, the users on both ends will only see the regular paypal api payment workflow.
I've looked at the documentation and steps 1 and 2 seem pretty straightforward, I'm just confused about how to do step 3 automatically without user intervention. My first guess would be to use the "send money" functionality of the API to send money from my account to that second user but I believe that would eliminate the chance of reversing the whole transaction (in case a refund is needed).
What you are describing is called Chained Payments (more info on https://www.x.com/developers/paypal/documentation-tools/adaptive-payments/integration-guide/APIntro) but iOS SDK currently does not have support for them. But even with chained payments you can't automatically reverse both legs of the transaction.
Related
I have this problem. I'm making an iOS application in Swift that sells user images and videos. I've got my own server, so all media is saved there. But now I've come to a point where I need make possible that user can buy some content from another user using a credit card or PayPal account. Other users can be found on a map, they have added their payment information to their profile (it's not visible to others) so that transactions could be made.
I've done some research on this topic and I know that a powerful tool for payments in Swift is Stripe. However, as far as I read about it, users can only pay to one account that you register. Basically, they can make purchases as if buying from a store. But in my case, I need to provide the possibility to pay to another user.
Also, I need to integrate PayPal. For this I found API's like Auth0 and PayPal API, but can't seem to find any more information on inter-user transactions.
And there is In-App Purchases option, of course, but I'm not sure if I can use that in this case, because most of my purchases will be done from a Web App.
Can somebody please help me, by giving some tips on how to move forward from here and implement this payment system?
There are several considerations to take into account, the three most important being price, ease of implementation and availability. I'll briefly discuss each point of the 3 options you mentioned:
Stripe:
Implementation: Stripe has a native SDK for iOS and has a functionality called Stripe Connect which enables payment between users directly, without having the money to go through your account, yet allows you to take a cut of the transaction if you'd like:
https://support.stripe.com/questions/can-i-enable-my-users-to-receive-payments-from-others
https://stripe.com/docs/connect
Price: Stripe has a starting fee of 0.3$ and takes 2.9 % of the full amount.
Availability: Currently Stripe is only available in 9 countries worldwide and available as a beta in another 15 countries:
https://stripe.com/global
PayPal:
Implementation: PayPal has a native SDK for iOS, but a very fractioned history of SDK libraries depending on how complex functionality you need (Which Pryo's answer underlined). Paypal has something called Adaptive Payments which allows for peer-to-peer payments:
https://developer.paypal.com/docs/classic/products/adaptive-payments/
Price: PayPal has a lot of mixed information about pricing (currency conversion, cross border transfer, etc.), but roughly it is a starting fee of 0.3$ and another 3.9 %.
Availability: PayPal is available in 203 countries/markets around the world:
https://www.paypal.com/webapps/mpp/country-worldwide
In-App Purchase:
Implementation: This money will always go directly to the developer, so this means you will need to implement some sort of service which takes money from your account to the final user. So the flow goes: buyer -> you -> receiver.
Price: Apple will take 30 % of the total amount.
Availability: In-App Purchase is available in every country where you would be able to distribute the iOS app.
Conclusion:
Don't use the In-App Purchase option for user-to-user sales, it's simply too complex and expensive out of the three options.
PayPal has a strong brand that people trust and is available in many countries, which makes it a stronger candidate than Stripe, but IMHO I would choose Stripe due to its simplicity and cheaper pricing.
If you want to implement in the swift Paypal has already SDK, which you can use to make between users to make simple payment:
https://github.com/paypal/PayPal-iOS-SDK
or if you need some more advanced feature like (third-party, parallel, and chained payments ) you can check old MPL library by Paypal:
https://github.com/paypal/sdk-packages/tree/gh-pages/MPL
For the In-App Purchases payment can be made by valid app store user only and there is mostly no facility of inter-user in general case in-app payments are made to app owner
So I’m creating an app for a guy who runs a local auction (a mini ebay meets craigslist if you will, but for more in person transactions). I’m doing it as a favor, but to also build my portfolio, so hey we both get something out of it. Now I’m running into a bit of a thinker on the “payment system”. The idea we came up with is when a seller completes the transaction, and confirms the sale, the money is held “by a middle man” until the buyer confirms the item (kind of like how Pay pal can release funds early if the buyer of an ebay item says it’s a good sale).
The client wants it set up this way so that he doesn’t miss out on his cut (10% of the sale)– as in I buy an item, meet the seller in person, then we just do an exchange there having used the app as more of a means to meet. I know Uber charges your card automatically upon GPS once you reach your destination, but it would be better to pull up the “buyer” portion of the app to confirm the sale, thus moving it from the middle man to the seller.
Aside from ensuring the client gets his cut, this can also build confidence that the “sale is funded” when the buyer is on their way.
Anyway, are there API’s out there that can help be build something like this for speedy transactions?
Not sure if this helps, but we will be using Parse as the back end.
Thanks!
There are several payment APIs for the iOS, and I can recommend Stripe which has everything you need. They have an excellent support and documentation for integrating with iOS. You can check the documentation here. Also it works really well with Apple Pay and it's implementation is no brainer.
I have a scenario, I am working in the phone gap iOS application which able a user to buy and sell a commodity. Take three persons A(Owner of the app),B(Seller),C(Buyer).
B wants to sale a commodity and C want to buys it. C agreed upon a common point and proceed with the payment. Now when the C pays for the commodity i want to shift 2% of the amount to the A account and rest of the payment to the B.
I am aware this is done over the websites and there are plenty of examples. I want to know few things:
Is it possible in phone gap application, does paypal sdk allow to do so.
how could i do the two transaction in one single go, in case i need to do both the things manually.
Is this thing can be automated or this will be handled manually at the back end.
Here is the link for the phone gap plugin that i am using for app.
If anyone could guide me to any doc which explains this or any helping material that will be a great help. I have been reading and searching over net but could not get any help.
Thanks in advance
1) It's definitely possible as it's just a matter of making API calls. The SDK should handle it for you, but if not you could always build the requests yourself.
2) You could do either a parallel payment (where the payer would see both receivers during checkout) or a chained payment (where the payer would only see the primary receiver during checkout.)
Most people doing this sort of thing like to hide the split, so I'll assume you want to do a chained payment. You'll make a request to the Pay API with a primary receiver set to the seller and the secondary receiver set to you.
You'll set the primary receiver amount the full amount and the secondary receiver to their amount accordingly. For example, if $100 is paid the primary receiver amount would be $100 (not $98) and the secondary receiver would be $2.
I would definitely recommend reviewing the Adaptive Payments documentation which has a lot of detail about chained payments and how it all works.
3). Both transactions will automatically happen when the payer completes the checkout.
My app needs the ability to pay different merchants, so essentially I'm acting as a middle man. A user would fill up their cart from one merchant and then I'd present them the whole paypal interface and then that particular merchant would get paid. So first question: is that possible? Or is it only possible for MY account to get paid? If I had 10 merchants, I'd like to directly send them the payment amount (and have them pay the transaction fees).
The other question is discounts. Say a merchant creates a discount of some kind, is it possible with the mobile SDKs to apply these discounts?
My app is for iOS at first but will be quickly followed by an Android and then a web version of it. I don't really care which SDK I use so long as it can meet all my feature needs.
If none of this is possible with any of the SDKs, are there any out there that might accomplish what I need? Thanks.
It sounds like you're describing chained payments. You can utilize chained payments by integrating with classic MPL. The new Mobile SDKs will support these kinds of payments in the future, so keep on the look out!
I am building a webapp which requires users to regularly top up their account. To allow for this I am exploring the google wallet inapp payments api and have got this working fine. However, I would like users to be given the option to auto-top up when their account balance becomes low. I have looked at the subscription documentation but cannot see whether this is possible or not - it seems you can only have a subscription which draws money at regular intervals.
Is there a way to have a user pre-authorise this kind of transaction, and if so could you please point me to any documentation that would allow for this?
I don't believe so. The subscription feature is probably your best bet and should (unless I'm missing something) get you to the "same place".
A "pre-authorization" somewhat says, you'll come back at some later time to charge (aka "capture") the pre-auth. There is no API command that does that (capture/charge) in Wallet for Digital Goods. The process is immediate...
There (is) used to be one in the Google Checkout API where you are given 7 calendar days to charge a pre-auth. However, this product will be retired in November.