How can I handle donations through iOS?
Asked Answered
B

5

21

My team and I are going to write an app for an organisation where the user can donate to this organisation. The app itself is not the problem, but we don't really know how we can handle this.

Our first thought was that we could make the donations like if you purchase an item in a game for real money. But there are 2 problems:

  1. There are only fixed amounts like 99c and so on
  2. Apple gets 30%, and we want the user to know who gets how much. The developers: 10%, The Organisation 90%. But if Apple gets 30% of ALL the money, and people see that, they may not donate for that reason. I wouldn't either.

Our second thought was that we implement a webthingy (don't know how the element is called atm) in our app, which simply works like Safari and we direct them to the donation page or something, but how does the organisation know that the donations are from our app then?

Is there any other way we can handle this? I think people will be able to donate via credit cards and PayPal.

Edit, I found this:

21.1 Apps that include the ability to make donations to recognized charitable organizations must be free

21.2 The collection of donations must be done via a web site in Safari or an SMS

The app will be free, and it is fine if it has to be via SMS or Safari, but HOW does the organisation know the donations coming in, are from the app?

Beetle answered 24/5, 2012 at 19:44 Comment(3)
As an aside, users care less about your split with the charity than what percentage of the donation actually goes to the program, and how much goes to administrative & fundraising (of which your fees are only part). Let's say you decide to split 90/10 with the charity, but let's assume, for example, that their programmatic vs administrative costs are 80/20, that means that for ever dollar donated, only 72% (80% of the 90% you passed along) will go to the program. That's what the average donor cares about. If you note a 90/10 split, that may be thought to imply that 90% goes to the program.Fennessy
Our app is free to download & use but has paid IAP's too. So can I add donations to this app?Latricelatricia
UPDATE: As of 10/24/16, i can not see 21.1 or 21.2 in the guidelines. I'm assuming with their recent overhaul of the review process, they removed this. It is worth noting that they say in the new guidelines that they can amend the guidelines based off of app submissions...Aesthetics
T
6

But HOW does the organisation know the donations coming in, are from the app?

  1. Make a new page on the organization's site that has a URL that isn't linked to anywhere and non-indexable by search engines (robots.txt).
  2. In your app, make a UIWebView set to a URL on your own servers that redirects to the page you make in step 1. You should also make this URL non-indexable.

In that page

  1. Check that the referrer is your page
  2. Check that the user agent is whatever UIWebView sends
  3. Have the page log whatever happens somewhere (date/time, donation amount, etc) -- to reconcile with their data
  4. When a successful donation is made, it should record that it came from this page (and therefore, your app)

Someone could fake that they used your app by making the appropriate request, but why would they. Even if they did, you should probably get credit for that donation anyway.

Telemark answered 24/5, 2012 at 20:24 Comment(4)
Apple's guidelines indicate that donations must be via Safari or SMS, I don't believe it's possible to use UIWebView in this case as that's not technically Safari.Pray
I'm wondering the same thing.... can anyone confirm that using a UIWebView in this capacity successfully passes review? URGENT.Harveyharvie
Please don't open donation webpage in UIWebView. My app is rejected due to this reason!Grossularite
Can I use donations with hybrid mobile apps like Ionic? :oSkiba
F
13

Update:

US non-profits can accept donations via Apple Pay:

Starting November 14, 2016, nonprofits based in the United States can use Apple Pay to provide a simple and secure way to accept donations from within their app and website. Similar to using Apple Pay to buy goods and services, users can donate without entering their billing, shipping, or contact details.

The App Store guidelines go on to say:

Acceptable

...

Approved nonprofits may fundraise directly within their own apps or third-party apps, provided those fundraising campaigns adhere to all App Review Guidelines and offer Apple Pay support. These apps must disclose how the funds will be used, abide by all required local and federal laws, and ensure appropriate tax receipts are available to donors. Additional information shall be provided to App Review upon request. Nonprofit platforms that connect donors to other nonprofits must ensure that every nonprofit listed in the app has also gone through the nonprofit approval process. Learn more about becoming an approved nonprofit.

Unacceptable

...

Unless you are an approved nonprofit or otherwise permitted under Section 3.2.1 (vi) above, collecting funds within the app for charities and fundraisers. Apps that seek to raise money for such causes must be free on the App Store and may only collect funds outside of the app, such as via Safari or SMS.

My old answer, below, predated this revision in the charitable giving policy.


As you note, section 21 of the App Store Review Guidelines says:

21.Charities and contributions

21.1 Apps that include the ability to make donations to recognized charitable organizations must be free

21.2 The collection of donations must be done via a web site in Safari or an SMS

You ask how you know if they're from your app: For Safari use a unique URL or include a HTTP parameter that you append to the URL when you invoke Safari, which their web server code will capture. As other have suggested, you might want to log the initiation of the transaction for your own reconciliation purposes, too. For SMS, I assume you'd have a dedicated SMS number for app donations.

Fennessy answered 25/5, 2012 at 6:39 Comment(0)
T
6

But HOW does the organisation know the donations coming in, are from the app?

  1. Make a new page on the organization's site that has a URL that isn't linked to anywhere and non-indexable by search engines (robots.txt).
  2. In your app, make a UIWebView set to a URL on your own servers that redirects to the page you make in step 1. You should also make this URL non-indexable.

In that page

  1. Check that the referrer is your page
  2. Check that the user agent is whatever UIWebView sends
  3. Have the page log whatever happens somewhere (date/time, donation amount, etc) -- to reconcile with their data
  4. When a successful donation is made, it should record that it came from this page (and therefore, your app)

Someone could fake that they used your app by making the appropriate request, but why would they. Even if they did, you should probably get credit for that donation anyway.

Telemark answered 24/5, 2012 at 20:24 Comment(4)
Apple's guidelines indicate that donations must be via Safari or SMS, I don't believe it's possible to use UIWebView in this case as that's not technically Safari.Pray
I'm wondering the same thing.... can anyone confirm that using a UIWebView in this capacity successfully passes review? URGENT.Harveyharvie
Please don't open donation webpage in UIWebView. My app is rejected due to this reason!Grossularite
Can I use donations with hybrid mobile apps like Ionic? :oSkiba
R
3

You can't use IAP for any virtual good that are not consumed in the app as far as I know, apple will reject your app if you try it. (However i've seem some exceptions to that)

try www.stripe.com, they have the best payment interface i've seem so far.

someone even made an iOS SDK to help you with the implementation https://github.com/briancollins/stripe-ios

Rooted answered 24/5, 2012 at 20:36 Comment(1)
Apple will not allow to donate with Strip API via native application, they want it via safari browser or SMS.Approbate
H
1

I don't believe Apple will allow you to use in-app purchases to accept donations. Marco looked into this with his Instapaper app and couldn't do it (now he charges for server searches). You actually have to provide something for the money. Your best bet is to develop a web app that uses a private api to process the donation. That way you can know for certain where the donations are coming from.

Ah, nevermind, you can accept donation on a free app. Missed that. Still, using a private api in a web app is probably your best bet.

Hauteloire answered 24/5, 2012 at 20:7 Comment(0)
K
-1

From April 2020 you cannot donate inside the app. Apple teams say you can't donate inside the IOS app if you are a nonprofit organization. you must redirect the user to Safari or on your website for donation or using SMS for donation.

Otherwise, You can use Apple Pay for donation like in App Purchase if you are profit Organization

soo if you are a nonprofit organization and you want to donate, please follow these steps. I am using Flutterwave SKD for donation. You can use as you want like Stripe and PayPal etc.

1: I am using the Flutterwave Php SDK for donation. just download the PHP SDK of your payment gateway from your Payment gateway DOC.

2: create a webpage for payment on your web end and from your app open this webpage into Safari, And pass user ID with URL parameter so you can keep the record of which user donate us and how much. like (PageWebUrl/userID) (https://www.mywebPageLink.com/donation/userId=20)

3: When a user successfully donates save the data into that user-id and redirect the user to your app.

4: call an API to retrieve the donation data for your app.

Coooool Done...

Keslie answered 20/4, 2021 at 7:36 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.