Search packages, repositories and app categories

Package detailsv1.2.3

stripe_native

Create chargeable stripe tokens using Apple and Google Pay. Display native Apple and Google Pay sheets, then collect one-time source tokens.

30-day downloads
30
Likes
26
Pub points
40

Install package

flutter pub add stripe_native

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

The stripe_native package enables Flutter applications to create chargeable Stripe tokens using Apple Pay and Google Pay. It provides native payment sheet integration, allowing users to securely authorize payments through their device's built-in payment systems. After user approval, the package collects one-time source tokens for use in Stripe transactions. Designed for seamless checkout experiences, it leverages platform-specific APIs without requiring custom UI implementation. The package is ideal for apps needing secure, native payment flows with minimal setup.

Use cases

  • One-time payments via Apple Pay
  • One-time payments via Google Pay
  • Secure token generation for Stripe
  • Native checkout integration
  • Mobile e-commerce apps
  • In-app purchases

Key features

  • Native Apple Pay integration
  • Native Google Pay integration
  • One-time source token collection
  • Minimal UI customization
  • Platform-specific payment sheets
  • Secure payment processing

Suitable for

  • E-commerce mobile apps
  • Subscription-based services
  • Apps requiring secure payments
  • Developers using Stripe
  • Projects with Apple/Google Pay support

Considerations

  • Requires Stripe account setup
  • Limited to iOS and Android
  • Needs proper merchant configuration
  • Depends on device payment availability
  • Not suitable for recurring payments
  • No web platform support

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Stripe Native

Create chargeable stripe tokens using Apple and Google Pay.

This plugin will give you easy access to the Apple and Google Pay payment sheets. And provide one-time source tokens that are used to create a Stripe Charge.

Apple Pay

Setup

Both (Required)

To begin one will need a Stripe project, from there collect a publishable key.

iOS (Required)

On the Apple Developer portal, one will need to create a merchant identifier. Then connect that identifier to the Stripe project.

From the Stripe dashboard, create a signing certificate to share with Apple, then upload the signed certificate to Stripe.

Merchant Identifier

Lastly, open the apps' iOS module. Add the newly created identifier to the project's signing capabilities.

Signing Capablities

Android (Optional)

On the Google Play console, add the merchant identifier to the app capabilites. This makes the merchant known to Google Pay. With it, users will not see a warning saying this app is an unidentified merchant.

Functions

Set Publishable Key

Prior to calling native pay, set the publishable key.

StripeNative.setPublishableKey("pk_test_yZuUz6Sqm83H4lA7SrlAvYCh003MvJiJlR");
Set Merchant Identifier

Prior to calling native pay, set the merchant identifier.

StripeNative.setMerchantIdentifier("merchant.rbii.stripe-example");
Set Currency Key

In order to change the currency, pass in an ISO currency code prior to opening a payment sheet. On iOS it also requires passing in a country code.

StripeNative.setCurrencyKey("EUR");
// Not required on Android
StripeNative.setCountryKey("FR");
Native-Pay

There are two ways to create a payment sheet. With a list of items and prices, or with some subtotal, tax and tip.

Both methods require a merchant name to display at the bottom of the sheet.

// subtotal, tax, tip, merchant name
var order = Order(5.50, 1.0, 2.0, "Some Store");
var token = await StripeNative.useNativePay(order);
const itemPrices = <String, double>{"Nice Hat": 5.00, "Used Hat" : 1.50};
var receipt = Receipt(itemPrices, "Hat Store");
var token = await StripeNative.useReceiptNativePay(receipt);
Confirm Payment (iOS)

On iOS the payment sheet spins and ends with a check or X depending on the result passed in. During the spinning, query an endpoint for a charge using the token. This function does not affect Android.

// call charge endpoint w/ token
const wasCharged = await AppAPI.charge(token, amount);
// then show success or failure
StripeNative.confirmPayment(wasCharged);

Categories

Source repository

Projects using this package

No data available yet.