Paying to another user in Swift application Paying to another user in Swift application swift swift

Paying to another user in Swift application


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-othershttps://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