Pakete, Repositories und App-Kategorien suchen

Cover von flutter_stripe_payment
Paketdetailsv0.0.18

flutter_stripe_payment

Fügen Sie Stripe Ihrer Flutter-Anwendung hinzu, um Kartenzahlungen mit Payment Intents unter starker SCA 3DS-Kompatibilität zu akzeptieren.

AndroidiOS
30-Tage-Downloads
85
Likes
57
Pub-Punkte
125

Paket installieren

flutter pub add flutter_stripe_payment

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

flutter_stripe_payment ist ein Flutter-Paket, das die nahtlose Integration der Zahlungsabwicklung von Stripe in mobile Anwendungen ermöglicht. Es unterstützt Kartenzahlungen über Payment Intents und gewährleistet die Einhaltung der Anforderungen an die starke Kundenauthentifizierung (SCA) und 3D Secure (3DS). Für Android und iOS entwickelt, vereinfacht das Paket die sichere Transaktionsverarbeitung mit integrierter Unterstützung für Tokenisierung und Echtzeit-Bestätigung von Zahlungen. Entwickler können robuste, PCI-konforme Zahlungsabläufe implementieren, ohne sensible Karteninformationen direkt verwalten zu müssen. Das SDK verwaltet komplexe Authentifizierungsprozesse und verbessert die Abrechnungserfolgsraten, während hohe Sicherheitsstandards gewahrt bleiben.

Anwendungsfälle

  • In-App-Käufe
  • E-Commerce-Kasse
  • Abonnementabrechnung
  • Zahlungen für digitale Dienstleistungen
  • Online-Spenden

Hauptmerkmale

  • SCA- und 3DS-konform
  • Zahlungsabsichtsunterstützung
  • Sichere Karten-Tokenisierung
  • Echtzeit-Zahlungsbestätigung
  • Plattformübergreifend (Android & iOS)

Geeignet für

  • Mobile E-Commerce-Apps
  • Abonnementbasierte Dienstleistungen
  • Apps, die sichere Zahlungen erfordern
  • Entwickler, die Stripe verwenden
  • Projekte, die SCA-Konformität erfordern

Hinweise

  • Stripe-Konto-Einrichtung erforderlich
  • Backend für die Erstellung des Zahlungsintents erforderlich
  • Beschränkt auf die Zahlungsmethoden von Stripe
  • Abhängig von der Netzwerkverbindung
  • Kann zusätzliche Konfiguration für Testumgebungen erfordern

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

flutter_stripe_payment

Add Stripe to your Flutter Application to Accept Card Payments using Payment Intents and the Latest SCA Compliance 3DS Requirements

Getting Started

Strong Customer Authentication (SCA), a new rule coming into effect on September 14, 2019, as part of PSD2 regulation in Europe, will require changes to how your European customers authenticate online payments. Card payments will require a different user experience, namely 3D Secure, in order to meet SCA requirements. Transactions that don’t follow the new authentication guidelines may be declined by your customers’ banks.

The Payment Intents API is a new way to build dynamic payment flows. It tracks the lifecycle of a customer checkout flow and triggers additional authentication steps when required by regulatory mandates, custom Radar fraud rules, or redirect-based payment methods.

Initialize

final _stripePayment = FlutterStripePayment();
_stripePayment.onCancel = (){
  print("User Cancelled the Payment Method Form");
};

Setup Stripe Environment


_stripePayment.setStripeSettings(
        appConfig.values.stripePublishableKey,
        appConfig.values.applePayMerchantId);

Show Payment Form

var paymentResponse = await _stripePayment.addPaymentMethod();
if(paymentResponse.status == PaymentResponseStatus.succeeded)
  {
    print(paymentResponse.paymentMethodId);
  }

Create Payment Intent On Server

var intent = PaymentIntent();
    intent.amount = widget.order.cart.total;
    intent.isManual = true;
    intent.isConfirmed = false;
    intent.paymentMethodId = paymentResponse.paymentMethodId;
    intent.currency = "usd";
    intent.isOnSession = true;
    intent.isSuccessful = false;
    intent.statementDescriptor = "Dorm Mom, Inc";
    var response = await widget.clientDataStore.createPaymentIntent(intent);

Confirm Payment Intent to Kick Off 3D Authentication

var intentResponse = await _stripePayment.confirmPaymentIntent(
          response.clientSecret, paymentResponse.paymentMethodId, widget.order.cart.total);

      if (intentResponse.status == PaymentResponseStatus.succeeded) {
        widget.order.paymentIntentId = intentResponse.paymentIntentId;
        widget.order.paymentMethodId = paymentResponse.paymentMethodId;
        _submitOrder();
      } else if (intentResponse.status == PaymentResponseStatus.failed) {
        setState(() {
          hideBusy();
        });
        globals.Utility.showAlertPopup(
            context, "Error Occurred", intentResponse.errorMessage);
      } else {
        setState(() {
          hideBusy();
        });
      }

Setup Payment Intent For Future Payments

var intentResponse = await _stripePayment.setupPaymentIntent(
        response.clientSecret, paymentResponse.paymentMethodId);

    if (intentResponse.status == PaymentResponseStatus.succeeded) {
      await _addCardToAccount(paymentResponse.paymentMethodId);
    } else if (intentResponse.status == PaymentResponseStatus.failed) {
      setState(() {
        hideBusy();
      });
      globals.Utility.showAlertPopup(
          context, "Error Occurred", intentResponse.errorMessage);
    } else {
      setState(() {
        hideBusy();
      });
    }

Screenshots

iOS View Android View
iOS View Android View

To Do

  • [DONE]Android Implementation
  • STPaymentCardTextField Inline Embedding

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.