Currency exchange while using PayPal iOS sdk - ios

I am developing online shopping App for iPhone. For financial transaction, I have used PayPal SDK and also created sandbox accounts for both buyer and receiver having US based account. I also had a test with US currency (USD) and credit/debit happens perfectly on both the accounts.
But, now I need to give support of non-USD currency, i.e INR as my App will be distributed over India. The only bottleneck is, INR is not in Paypal’s currency support list unfortunately. What should I do? Suppose, buyer buys product worth 100.00 INR and buyer have US based account having $ 500.00 balance. Now at end of transaction, based on exchange rate of these two currencies, amount should be deducted from buyer's account.
How can I manage this kind of multi-currency transaction ?

#Pratik It sounds like your app will need to do its own currency conversion from INR to USD, and then perform the PayPal transaction in USD.
There are many online currency converters, including some that return their results as JSON.

Related

How to get IAP country/state code (in order to know the VAT rate)?

In order to calculate fair prices for paid app content, if the customer takes an auto-renewal subscription to access application content via In-App Purchases (IAP), we need to know the VAT rate that applies to the particular IAP transaction.
As far as I know, an app can only find the currency of the user's Apple ID, using IAP APIs.
Is there a way to get to the country/state code, from transaction info (i.e transaction_id or original_transaction_id) on either (app- or server-side) or iOS APIs?

How to get converted currency amount in Braintree?

I have multiple merchant accounts in Braintree and my settlement currency is USD. Let's say I charge a credit card 10 CAD then according to Braintree documentation the converted USD amount (lets say 7 USD) will be deposited into my account.
I want to know is there any API I can use to get the converted USD amount (i.e. 7) by passing the transaction id or something?
I don't want to go to the control panel and download the transaction-level fee report for every transaction. I need to automate the process for our internal invoicing purposes.

How to know the exact amount I'll receive from Apple In-App Purchase

I'm selling products inside my app, that unlock items on my server. Once the purchase is through, my server needs to distribute the incoming money of the purchase to different parties.
The account that I entered on iTunes connect is a EUR account, so everything will be converted to EUR (from what I've understood).
Is there a way for me to know the exact amount I'll receive into my bank account (from the receipt for example), so I can distribute the money correctly, or does Apple simply do a currency conversion at the time of the payment?
Apple does a currency conversion plus tax calculation depending on the country it was purchased in. You can see the exact exchange rate in your payout reports in App Store Connect. More information from Apple here:
Sales and Trends estimates the USD amount of sales and proceeds based
on a rolling average of the previous month's exchange rates. Final
payments in Payments and Financial Reports are based on the exchange
rate used to convert each report currency to the currency of your bank
account.
Usually, distributing money to users before you get paid from Apple is a risky business model that's open to exploitation. Users could refund their purchases and you'd have no way of knowing until it's too late.
A safer option could be to log the unlocked items and source country the purchase was from on your server, then divide up payouts from Apple when you get them based on these figures. That way, any scammers are distributed across the marketplace as a whole and doesn't come out of your pocket.

Questions about Merchant Center and payments from in-app purchases

I have few questions about Merchant Center ( payments.google.com )
I have few apps on the Google play store. In those apps people can make in-app purchases.
Is there a minimum amount of money that I need to achieve if I want to make a bank transfer and get those money? For example can I get 5$ from it or I have to wait until I get 100$.
2.How long time usually it takes to have this money in a bank account?
3.Are those payments are automatic or should I push a button ( or something like that) to start transfer process?
4.Can I print invoice for that money transfer ?
5.On that invoice there is one cumulative position for all payments or there is every single payment on it?
Thanks.
1) In Merchant Center you can configure the Payment schedule, under Payment Settings in Payments section. Here you can choose the minimum payment threshold to make a bank transfer and get money. However the transfer are executed monthly.
2) When you are eligible for receiving a payment, money will be on your bank account in few days.
3) The payments are automatic, monthly, if your earnings exceed your payment threshold specified in 1).
4) and 5) I haven't found yet a regular invoice for transfers, but when a payment is executed you can print a simple Payment Receipt.

Split/Deferred payments through apple pay

On the getting started page for Apple Pay, it says that Apple Pay supports "partial shipments." How is this implemented in practice? I know how to get a token from a successful PKPayment. Once I get that token, how do I use it to implement multiple sub-order payments through my payment gateway?
For example, say the user validates a total $100 purchase through Apple Pay of two separate suborder shipments ($40 and $60 each) and I now have an associated token for the $100 order. Because of restrictions on some networks, we can't capture each payment until the associated item has been shipped, and they ship at different times.
Do I have the ability to authorize and capture payments of any amounts using that token?
What is the best approach to authorizing and capturing those sub orders?
Do I auth for the total ($100) and then auth for each sub total ($40, $60) at shipment and then capture for each sub total? If so, then I will be potentially authorizing more than the necessary total ($200), and that doesn't seem right. Is it valid to just skip auth for the total, auth for each sub total, and then capture the sub totals as they ship?
You can't capture an authorization more than once. For stripe you would need to save the token to a customer, and charge the customer for each shipment separately. This isn't only the best way it is the only way to do it.
Once you have a token and attach it to the customer object in stripe, you have the ability to charge it at any time & any amount up until the expiration date or if they remove the card from their apple pay account, like you would any other card regardless of the initial authorization.
The rest of your questions will vary by opinion as there are different ways of doing it, but here is how I would charge this type of order. I think this method benefits both the business and the customer, in addition to keeping stripe/apple happy. This isn't apple pay specific, I would treat most orders with these requirements the same. Also keep in mind apple pay supports it, but it is not required. You can collect all up front regardless of shipment dates.
Generate token from PKPayment for $100
Create customer(if needed) & add token to customer
Create charge against customer using that card for $100 without
capture
Within 7 days assess expected shipping dates.
Once assessment is complete immediately capture only the amount
expected to ship within a week on the initial charge. In your
example this is where I would capture $40 for the first charge. If
nothing is expected to be captured issue a complete refund.
Any shipments beyond the 7 days, create individual charges for the
shipments using the customer object, not the token. Again in your example this is when the $60 shipment goes
out charge that here.
As long as the second shipment charge doesn't happen to go out earlier than the 7 days this would prevent any authorizations overlapping resulting in holds of more than the initial amount at any given moment. I would treat almost any transaction like this apple pay or not.

Resources