WhoBuilt

Mobile Payments in React Native

Mar 24, 2022· 38 min· 2.3K views·Watch on YouTube

Speakers

Host Łukasz speaks with Charlie of Stripe and Kuba of Callstack on mobile payment options, security, and implementing Stripe in React Native.

Payment types and app store rules

Kuba distinguishes paid apps and digital in-app purchases from payments for physical goods or services. Paid apps and digital items go through Apple or Google, which may take a 30% cut; physical purchases, such as food delivery, can use a developer-chosen processor. The boundary between digital and physical services can be unclear, and app review outcomes may vary.

Choose payment methods by region

Charlie says payment methods depend on where customers are: cards are common in the U.S., while bank debits account for over half of online transactions in some European countries. He also mentions Poland's BLIK, Apple Pay, Google Pay, buy now, pay later options such as Klarna and Afterpay, and Mexico's OXXO vouchers. Apple Pay and Google Pay are separate from app store in-app purchases.

Treat payment security as essential

Charlie warns that a breach involving payment data can expose bank details and seriously harm customers. Developers need safeguards in their own apps and should check their processor's security practices. He cites Stripe's HTTPS connections and HSTS as examples.

Use a processor and its React Native SDK

Kuba advises against building payment processing from scratch because compliance and security are complex, and failures could cost customers money. Charlie explains that Stripe handles connections with financial institutions so businesses can accept different payment methods through its services. The React Native SDK wraps native iOS and Android libraries and offers card input, hooks, functions, and PaymentSheet; a backend integration is also required.

Test the integration and invite feedback

Charlie says Stripe test mode is free, while live transaction fees depend on the payment method; he gives about 2.9% per credit card transaction as an example and points listeners to current pricing. At the episode's close, he asks developers to report bugs and share feedback through GitHub, Twitter, or Discord.

Takeaways

  • Classify what customers are paying for before choosing a payment flow, since digital purchases and physical goods follow different app store rules.
  • Select payment methods based on the regions where customers will pay.
  • Avoid handling card data and payment processing from scratch; use an established processor and review its security measures.
  • Plan for backend work alongside the React Native SDK integration.
  • Use test mode to validate the payment flow before processing live transactions.

Mentioned in this talk

Search inside this talk

What was claimed 18

Show all 18 facts

Related talks