stripe_native 1.0.1 copy "stripe_native: ^1.0.1" to clipboard
stripe_native: ^1.0.1 copied to clipboard

outdated

Create chargeable stripe tokens using Apple and Google Pay. Display native Apple and Google Pay sheets, and collect one time source tokens. The tokens are meant to be used be an endpoint connected to [...]

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:stripe_native/stripe_native.dart';

void main() => runApp(NativePayExample());

class NativePayExample extends StatefulWidget {
  @override
  _NativePayExampleState createState() => _NativePayExampleState();
}

class _NativePayExampleState extends State<NativePayExample> {

  @override
  void initState() {
    super.initState();
    StripeNative.setPublishableKey("pk_test_yZuUz6Sqm83H4lA7SrlAvYCh003MvJiJlR");
    StripeNative.setMerchantIdentifier("merchant.rbii.stripe-example");
  }

  Future<String> get receiptPayment async {
    /* custom receipt w/ useReceiptNativePay */
    const receipt = <String, double>{"Nice Hat": 5.00, "Used Hat" : 1.50};
    var aReceipt = Receipt(receipt, "Hat Store");
    return await StripeNative.useReceiptNativePay(aReceipt);
  }

  Future<String> get orderPayment async {
    // subtotal, tax, tip, merchant name
    var order = Order(5.50, 1.0, 2.0, "Some Store");
    return await StripeNative.useNativePay(order);
  }

  Widget get nativeButton => Padding(padding: EdgeInsets.all(10), child: RaisedButton(padding: EdgeInsets.all(10),
        child: Text("Native Pay"),
        onPressed: () async {

          // var token = await orderPayment;
          var token = await receiptPayment;

          print(token);
          /* After using the plugin to get a token, charge that token. On iOS the Apple-Pay sheet animation will signal failure or success using confirmPayment. Google-Pay does not have a similar implementation, so I may flash a SnackBar using wasCharged in a real application.
          call own charge endpoint w/ token
          const wasCharged = await AppAPI.charge(token, amount);
          then show success or failure
          StripeNative.confirmPayment(wasCharged);
          */
          // Until this method below is called, iOS will spin a loading indicator on the Apple-Pay sheet
          StripeNative.confirmPayment(true); // iOS load to check.
          // StripeNative.confirmPayment(false); // iOS load to X.

        }
    ));

  @override
  Widget build(BuildContext context) => MaterialApp(home: Scaffold(body: Center(child: nativeButton)));


}
26
likes
0
pub points
21%
popularity

Publisher

unverified uploader

Create chargeable stripe tokens using Apple and Google Pay. Display native Apple and Google Pay sheets, and collect one time source tokens. The tokens are meant to be used be an endpoint connected to the StripeAPI. For iOS and Apple Pay, provide Stripe with a signed merchant identifier. Android does not require a merchant identifier, but it will remove a warning to the user during payment. Examples of charge functions can be found at https://stripe.com/docs/api/charges/create

Homepage

License

unknown (license)

Dependencies

flutter

More

Packages that depend on stripe_native