From 49103f789699a842c20b338512303ae98138f5c1 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 2 Apr 2021 11:37:19 +0200 Subject: [PATCH 1/9] sync android --- .../PaymentMethodCreateParamsFactory.kt | 119 ++++++++++++++++++ .../reactnativestripesdk/StripeSdkModule.kt | 7 +- 2 files changed, 123 insertions(+), 3 deletions(-) diff --git a/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/PaymentMethodCreateParamsFactory.kt b/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/PaymentMethodCreateParamsFactory.kt index 35d2dfa12..ba04589a1 100644 --- a/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/PaymentMethodCreateParamsFactory.kt +++ b/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/PaymentMethodCreateParamsFactory.kt @@ -13,6 +13,12 @@ class PaymentMethodCreateParamsFactory(private val clientSecret: String, private return when (paymentMethodType) { PaymentMethod.Type.Card -> createCardPaymentConfirmParams() PaymentMethod.Type.Ideal -> createIDEALPaymentConfirmParams(paymentMethodType) + PaymentMethod.Type.Alipay -> createAlipayPaymentConfirmParams() + PaymentMethod.Type.Bancontact -> createBancontactPaymentConfirmParams() + PaymentMethod.Type.Giropay -> createGiropayPaymentConfirmParams() + PaymentMethod.Type.Eps -> createEPSPaymentConfirmParams() + PaymentMethod.Type.GrabPay -> createGrabPayPaymentConfirmParams() + PaymentMethod.Type.P24 -> createP24PaymentConfirmParams() else -> { throw Exception("This paymentMethodType is not supported yet") } @@ -28,6 +34,7 @@ class PaymentMethodCreateParamsFactory(private val clientSecret: String, private return when (paymentMethodType) { PaymentMethod.Type.Card -> createCardPaymentSetupParams() PaymentMethod.Type.Ideal -> createIDEALPaymentSetupParams(paymentMethodType) + PaymentMethod.Type.Bancontact -> createBancontactPaymentSetupParams() else -> { throw Exception("This paymentMethodType is not supported yet") } @@ -56,6 +63,25 @@ class PaymentMethodCreateParamsFactory(private val clientSecret: String, private ) } + @Throws(PaymentMethodCreateParamsException::class) + private fun createP24PaymentConfirmParams(): ConfirmPaymentIntentParams { + val billingDetails = billingDetailsParams?.let { it } ?: run { + throw PaymentMethodCreateParamsException("You must provide billing details") + } + if (urlScheme == null) { + throw PaymentMethodCreateParamsException("You must provide urlScheme") + } + + val params = PaymentMethodCreateParams.createP24(billingDetails) + + return ConfirmPaymentIntentParams + .createWithPaymentMethodCreateParams( + paymentMethodCreateParams = params, + clientSecret = clientSecret, + returnUrl = mapToReturnURL(urlScheme) + ) + } + @Throws(PaymentMethodCreateParamsException::class) private fun createCardPaymentConfirmParams(): ConfirmPaymentIntentParams { val cardParams = getMapOrNull(params, "cardDetails") @@ -122,6 +148,99 @@ class PaymentMethodCreateParamsFactory(private val clientSecret: String, private return ConfirmSetupIntentParams .create(paymentMethodParams, clientSecret) } + + @Throws(PaymentMethodCreateParamsException::class) + private fun createAlipayPaymentConfirmParams(): ConfirmPaymentIntentParams { + return ConfirmPaymentIntentParams.createAlipay(clientSecret) + } + + @Throws(PaymentMethodCreateParamsException::class) + private fun createGrabPayPaymentConfirmParams(): ConfirmPaymentIntentParams { + if (urlScheme == null) { + throw PaymentMethodCreateParamsException("You must provide urlScheme") + } + val billingDetails = billingDetailsParams ?: PaymentMethod.BillingDetails() + val params = PaymentMethodCreateParams.createGrabPay(billingDetails) + + return ConfirmPaymentIntentParams + .createWithPaymentMethodCreateParams( + paymentMethodCreateParams = params, + clientSecret = clientSecret, + returnUrl = mapToReturnURL(urlScheme) + ) + } + + @Throws(PaymentMethodCreateParamsException::class) + private fun createBancontactPaymentConfirmParams(): ConfirmPaymentIntentParams { + val billingDetails = billingDetailsParams?.let { it } ?: run { + throw PaymentMethodCreateParamsException("You must provide billing details") + } + if (urlScheme == null) { + throw PaymentMethodCreateParamsException("You must provide urlScheme") + } + val params = PaymentMethodCreateParams.createBancontact(billingDetails) + + return ConfirmPaymentIntentParams + .createWithPaymentMethodCreateParams( + paymentMethodCreateParams = params, + clientSecret = clientSecret, + returnUrl = mapToReturnURL(urlScheme) + ) + } + + @Throws(PaymentMethodCreateParamsException::class) + private fun createBancontactPaymentSetupParams(): ConfirmSetupIntentParams { + val billingDetails = billingDetailsParams?.let { it } ?: run { + throw PaymentMethodCreateParamsException("You must provide billing details") + } + if (urlScheme == null) { + throw PaymentMethodCreateParamsException("You must provide urlScheme") + } + val params = PaymentMethodCreateParams.createBancontact(billingDetails) + + return ConfirmSetupIntentParams + .create( + paymentMethodCreateParams = params, + clientSecret = clientSecret, + returnUrl = mapToReturnURL(urlScheme) + ) + } + + @Throws(PaymentMethodCreateParamsException::class) + private fun createEPSPaymentConfirmParams(): ConfirmPaymentIntentParams { + val billingDetails = billingDetailsParams?.let { it } ?: run { + throw PaymentMethodCreateParamsException("You must provide billing details") + } + if (urlScheme == null) { + throw PaymentMethodCreateParamsException("You must provide urlScheme") + } + val params = PaymentMethodCreateParams.createEps(billingDetails) + + return ConfirmPaymentIntentParams + .createWithPaymentMethodCreateParams( + paymentMethodCreateParams = params, + clientSecret = clientSecret, + returnUrl = mapToReturnURL(urlScheme) + ) + } + + @Throws(PaymentMethodCreateParamsException::class) + private fun createGiropayPaymentConfirmParams(): ConfirmPaymentIntentParams { + val billingDetails = billingDetailsParams?.let { it } ?: run { + throw PaymentMethodCreateParamsException("You must provide billing details") + } + if (urlScheme == null) { + throw PaymentMethodCreateParamsException("You must provide urlScheme") + } + val params = PaymentMethodCreateParams.createGiropay(billingDetails) + + return ConfirmPaymentIntentParams + .createWithPaymentMethodCreateParams( + paymentMethodCreateParams = params, + clientSecret = clientSecret, + returnUrl = mapToReturnURL(urlScheme) + ) + } } class PaymentMethodCreateParamsException(message:String): Exception(message) diff --git a/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/StripeSdkModule.kt b/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/StripeSdkModule.kt index 4a95bb452..e6a294799 100644 --- a/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/StripeSdkModule.kt +++ b/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/StripeSdkModule.kt @@ -21,7 +21,6 @@ class StripeSdkModule(context: ActivityPluginBinding) : ReactContextBaseJavaModu private var confirmSetupIntentPromise: Promise? = null private val mActivityEventListener = object : BaseActivityEventListener() { - override fun onActivityResult(activity: Activity, requestCode: Int, resultCode: Int, data: Intent) { stripe.onSetupResult(requestCode, data, object : ApiResultCallback { override fun onSuccess(result: SetupIntentResult) { @@ -51,7 +50,9 @@ class StripeSdkModule(context: ActivityPluginBinding) : ReactContextBaseJavaModu val paymentIntent = result.intent when (paymentIntent.status) { - StripeIntent.Status.Succeeded -> { + StripeIntent.Status.Succeeded, + StripeIntent.Status.Processing, + StripeIntent.Status.RequiresCapture -> { confirmPromise?.resolve(mapFromPaymentIntentResult(paymentIntent)) handleCardActionPromise?.resolve(mapFromPaymentIntentResult(paymentIntent)) } @@ -87,7 +88,7 @@ class StripeSdkModule(context: ActivityPluginBinding) : ReactContextBaseJavaModu private lateinit var stripe: Stripe init { - context.addActivityResultListener(mActivityEventListener) + context.addActivityResultListener(mActivityEventListener); } private fun configure3dSecure(params: ReadableMap) { From d2b7d7bd1c9654ffb837ef651c1020b6e9b02363 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 2 Apr 2021 12:16:38 +0200 Subject: [PATCH 2/9] POC: add createPaymentMethodFromGooglePay method for Android integration --- stripe/lib/src/stripe.dart | 11 ++++++++ .../com/flutter/stripe/StripeAndroidPlugin.kt | 10 ++++++- .../reactnativestripesdk/StripeSdkModule.kt | 27 ++++++++++++++++++- .../lib/src/method_channel_stripe.dart | 10 +++++++ .../lib/stripe_platform_interface.dart | 3 +++ 5 files changed, 59 insertions(+), 2 deletions(-) diff --git a/stripe/lib/src/stripe.dart b/stripe/lib/src/stripe.dart index d6e4cbee9..c57420439 100644 --- a/stripe/lib/src/stripe.dart +++ b/stripe/lib/src/stripe.dart @@ -81,6 +81,17 @@ class Stripe { } } + Future createPaymentMethodFromGooglePay( + PaymentMethodParams data) async { + try { + final paymentMethod = + await _platform.createPaymentMethodFromGooglePay(data); + return paymentMethod; + } on StripeError catch (error) { + throw StripeError.generic(message: error.message, code: error.message); + } + } + Future retrievePaymentIntent(String clientSecret) async { try { final paymentMethod = await _platform.retrievePaymentIntent(clientSecret); diff --git a/stripe_android/android/src/main/kotlin/com/flutter/stripe/StripeAndroidPlugin.kt b/stripe_android/android/src/main/kotlin/com/flutter/stripe/StripeAndroidPlugin.kt index 4241ecc36..1ac74ce02 100644 --- a/stripe_android/android/src/main/kotlin/com/flutter/stripe/StripeAndroidPlugin.kt +++ b/stripe_android/android/src/main/kotlin/com/flutter/stripe/StripeAndroidPlugin.kt @@ -4,6 +4,8 @@ import androidx.annotation.NonNull import com.facebook.react.bridge.Promise import com.facebook.react.bridge.ReadableMap import com.reactnativestripesdk.StripeSdkModule +import com.stripe.android.model.GooglePayResult +import com.stripe.android.model.PaymentMethodCreateParams import io.flutter.embedding.engine.plugins.FlutterPlugin import io.flutter.embedding.engine.plugins.activity.ActivityAware import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding @@ -11,6 +13,7 @@ import io.flutter.plugin.common.MethodCall import io.flutter.plugin.common.MethodChannel import io.flutter.plugin.common.MethodChannel.MethodCallHandler import io.flutter.plugin.common.MethodChannel.Result +import org.json.JSONObject /** StripeAndroidPlugin */ class StripeAndroidPlugin : FlutterPlugin, MethodCallHandler, ActivityAware { @@ -63,6 +66,10 @@ class StripeAndroidPlugin : FlutterPlugin, MethodCallHandler, ActivityAware { clientSecret = call.requiredArgument("clientSecret"), promise = Promise(result) ) + "createPaymentMethodFromGooglePay" -> stripeSdk.createPaymentMethodFromGooglePay( + data = call.requiredArgument("data"), + promise = Promise(result) + ) else -> result.notImplemented() } } @@ -94,7 +101,8 @@ private inline fun MethodCall.optionalArgument(key: String): T? { private inline fun MethodCall.requiredArgument(key: String): T { if (T::class.java == ReadableMap::class.java) { - return ReadableMap(argument>(key) ?: error("Required parameter $key not set")) as T + return ReadableMap(argument>(key) + ?: error("Required parameter $key not set")) as T } return argument(key) ?: error("Required parameter $key not set") } diff --git a/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/StripeSdkModule.kt b/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/StripeSdkModule.kt index e6a294799..f567ada4c 100644 --- a/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/StripeSdkModule.kt +++ b/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/StripeSdkModule.kt @@ -1,13 +1,13 @@ package com.reactnativestripesdk import android.app.Activity -import android.content.Context import android.content.Intent import android.os.AsyncTask import com.facebook.react.bridge.* import com.stripe.android.* import com.stripe.android.model.* import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding +import org.json.JSONObject class StripeSdkModule(context: ActivityPluginBinding) : ReactContextBaseJavaModule(context) { override fun getName(): String { @@ -223,4 +223,29 @@ class StripeSdkModule(context: ActivityPluginBinding) : ReactContextBaseJavaModu promise.reject(ConfirmPaymentErrorType.Failed.toString(), error.localizedMessage) } } + + + /// not part of original plugin + + @ReactMethod + fun createPaymentMethodFromGooglePay(data: ReadableMap, promise: Promise) { + val paymentDataJson = JSONObject(data) + + //val shippingInformation = GooglePayResult.fromJson(paymentDataJson).shippingInformation + // TODO do we need it? + val paymentMethodCreateParams = PaymentMethodCreateParams.createFromGooglePay(paymentDataJson) + + stripe.createPaymentMethod( + paymentMethodCreateParams, + callback = object : ApiResultCallback { + override fun onError(e: Exception) { + confirmPromise?.reject("Failed", e.localizedMessage) + } + + override fun onSuccess(result: PaymentMethod) { + val paymentMethodMap: WritableMap = mapFromPaymentMethod(result) + promise.resolve(paymentMethodMap) + } + }) + } } diff --git a/stripe_platform_interface/lib/src/method_channel_stripe.dart b/stripe_platform_interface/lib/src/method_channel_stripe.dart index 5ad665039..c2cff3618 100644 --- a/stripe_platform_interface/lib/src/method_channel_stripe.dart +++ b/stripe_platform_interface/lib/src/method_channel_stripe.dart @@ -59,6 +59,16 @@ class MethodChannelStripe extends StripePlatform { return PaymentMethod.fromJson(result.unfoldToNonNull()); } + @override + Future createPaymentMethodFromGooglePay( + PaymentMethodParams params) async { + final result = + await _methodChannel.invokeMethod('createPaymentMethodFromGooglePay', { + 'data': params.toJson(), + }); + return PaymentMethod.fromJson(result.unfoldToNonNull()); + } + @override Future configure3dSecure(ThreeDSecureConfigurationParams params) { // TODO: implement configure3dSecure diff --git a/stripe_platform_interface/lib/stripe_platform_interface.dart b/stripe_platform_interface/lib/stripe_platform_interface.dart index 8661eaee6..39f221196 100644 --- a/stripe_platform_interface/lib/stripe_platform_interface.dart +++ b/stripe_platform_interface/lib/stripe_platform_interface.dart @@ -41,6 +41,9 @@ abstract class StripePlatform extends PlatformInterface { Map options = const {}, ]); + Future createPaymentMethodFromGooglePay( + PaymentMethodParams data); + Future handleCardAction(String paymentIntentClientSecret); Future confirmPaymentMethod( String paymentIntentClientSecret, PaymentMethodParams data, From bd38c498af22ed871857ae09401e9db4ecb38198 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 2 Apr 2021 12:40:38 +0200 Subject: [PATCH 3/9] Rename .java to .kt --- ...aseActivityEventListener.java => BaseActivityEventListener.kt} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename stripe_android/android/src/main/kotlin/com/facebook/react/bridge/{BaseActivityEventListener.java => BaseActivityEventListener.kt} (100%) diff --git a/stripe_android/android/src/main/kotlin/com/facebook/react/bridge/BaseActivityEventListener.java b/stripe_android/android/src/main/kotlin/com/facebook/react/bridge/BaseActivityEventListener.kt similarity index 100% rename from stripe_android/android/src/main/kotlin/com/facebook/react/bridge/BaseActivityEventListener.java rename to stripe_android/android/src/main/kotlin/com/facebook/react/bridge/BaseActivityEventListener.kt From 6094df8fcdd8194755c17bd309571ebdf6b0fd3a Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 2 Apr 2021 12:40:38 +0200 Subject: [PATCH 4/9] check intent in activity results --- .../react/bridge/BaseActivityEventListener.kt | 21 ++++++++++--------- .../reactnativestripesdk/StripeSdkModule.kt | 13 ++++++++++-- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/stripe_android/android/src/main/kotlin/com/facebook/react/bridge/BaseActivityEventListener.kt b/stripe_android/android/src/main/kotlin/com/facebook/react/bridge/BaseActivityEventListener.kt index efbc4f2b4..e6cc87391 100644 --- a/stripe_android/android/src/main/kotlin/com/facebook/react/bridge/BaseActivityEventListener.kt +++ b/stripe_android/android/src/main/kotlin/com/facebook/react/bridge/BaseActivityEventListener.kt @@ -1,13 +1,14 @@ -package com.facebook.react.bridge; +package com.facebook.react.bridge -import android.content.Intent; +import android.content.Intent +import com.stripe.android.Stripe +import io.flutter.plugin.common.PluginRegistry.ActivityResultListener -import io.flutter.plugin.common.PluginRegistry; - -public abstract class BaseActivityEventListener implements ActivityEventListener, PluginRegistry.ActivityResultListener { - @Override - public boolean onActivityResult(int requestCode, int resultCode, Intent data) { - onActivityResult(null, requestCode, resultCode, data); - return true; +abstract class BaseActivityEventListener(private val stripeProvider: () -> Stripe?) : ActivityEventListener, ActivityResultListener { + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent): Boolean { + if (stripeProvider()?.isAuthenticateSourceResult(requestCode, data) == true) { + onActivityResult(null, requestCode, resultCode, data) + } + return true } -} +} \ No newline at end of file diff --git a/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/StripeSdkModule.kt b/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/StripeSdkModule.kt index f567ada4c..a3d642492 100644 --- a/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/StripeSdkModule.kt +++ b/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/StripeSdkModule.kt @@ -5,7 +5,10 @@ import android.content.Intent import android.os.AsyncTask import com.facebook.react.bridge.* import com.stripe.android.* -import com.stripe.android.model.* +import com.stripe.android.model.PaymentMethod +import com.stripe.android.model.PaymentMethodCreateParams +import com.stripe.android.model.StripeIntent +import com.stripe.android.model.Token import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding import org.json.JSONObject @@ -20,7 +23,13 @@ class StripeSdkModule(context: ActivityPluginBinding) : ReactContextBaseJavaModu private var handleCardActionPromise: Promise? = null private var confirmSetupIntentPromise: Promise? = null - private val mActivityEventListener = object : BaseActivityEventListener() { + private val mActivityEventListener = object : BaseActivityEventListener( + stripeProvider = { + if (this::stripe.isInitialized) { + stripe + } else null + } + ) { override fun onActivityResult(activity: Activity, requestCode: Int, resultCode: Int, data: Intent) { stripe.onSetupResult(requestCode, data, object : ApiResultCallback { override fun onSuccess(result: SetupIntentResult) { From 8609353249686869dbc66783c8fd61234f3bc25f Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 2 Apr 2021 12:49:44 +0200 Subject: [PATCH 5/9] use untyped data for now --- stripe/lib/src/stripe.dart | 2 +- stripe_platform_interface/lib/src/method_channel_stripe.dart | 4 ++-- stripe_platform_interface/lib/stripe_platform_interface.dart | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/stripe/lib/src/stripe.dart b/stripe/lib/src/stripe.dart index c57420439..75b0be18a 100644 --- a/stripe/lib/src/stripe.dart +++ b/stripe/lib/src/stripe.dart @@ -82,7 +82,7 @@ class Stripe { } Future createPaymentMethodFromGooglePay( - PaymentMethodParams data) async { + Map data) async { try { final paymentMethod = await _platform.createPaymentMethodFromGooglePay(data); diff --git a/stripe_platform_interface/lib/src/method_channel_stripe.dart b/stripe_platform_interface/lib/src/method_channel_stripe.dart index c2cff3618..06eb088e1 100644 --- a/stripe_platform_interface/lib/src/method_channel_stripe.dart +++ b/stripe_platform_interface/lib/src/method_channel_stripe.dart @@ -61,10 +61,10 @@ class MethodChannelStripe extends StripePlatform { @override Future createPaymentMethodFromGooglePay( - PaymentMethodParams params) async { + Map data) async { final result = await _methodChannel.invokeMethod('createPaymentMethodFromGooglePay', { - 'data': params.toJson(), + 'data': data, }); return PaymentMethod.fromJson(result.unfoldToNonNull()); } diff --git a/stripe_platform_interface/lib/stripe_platform_interface.dart b/stripe_platform_interface/lib/stripe_platform_interface.dart index 39f221196..e68741f70 100644 --- a/stripe_platform_interface/lib/stripe_platform_interface.dart +++ b/stripe_platform_interface/lib/stripe_platform_interface.dart @@ -42,7 +42,7 @@ abstract class StripePlatform extends PlatformInterface { ]); Future createPaymentMethodFromGooglePay( - PaymentMethodParams data); + Map data); Future handleCardAction(String paymentIntentClientSecret); Future confirmPaymentMethod( From a4680ac8606cba46632db2686941cfddad4d9f00 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 2 Apr 2021 17:57:18 +0200 Subject: [PATCH 6/9] revert createPaymentMethodFromGooglePay --- stripe/lib/src/stripe.dart | 11 ------- .../com/flutter/stripe/StripeAndroidPlugin.kt | 10 +----- .../reactnativestripesdk/StripeSdkModule.kt | 32 ++----------------- .../lib/src/method_channel_stripe.dart | 10 ------ .../lib/stripe_platform_interface.dart | 3 -- 5 files changed, 3 insertions(+), 63 deletions(-) diff --git a/stripe/lib/src/stripe.dart b/stripe/lib/src/stripe.dart index 75b0be18a..d6e4cbee9 100644 --- a/stripe/lib/src/stripe.dart +++ b/stripe/lib/src/stripe.dart @@ -81,17 +81,6 @@ class Stripe { } } - Future createPaymentMethodFromGooglePay( - Map data) async { - try { - final paymentMethod = - await _platform.createPaymentMethodFromGooglePay(data); - return paymentMethod; - } on StripeError catch (error) { - throw StripeError.generic(message: error.message, code: error.message); - } - } - Future retrievePaymentIntent(String clientSecret) async { try { final paymentMethod = await _platform.retrievePaymentIntent(clientSecret); diff --git a/stripe_android/android/src/main/kotlin/com/flutter/stripe/StripeAndroidPlugin.kt b/stripe_android/android/src/main/kotlin/com/flutter/stripe/StripeAndroidPlugin.kt index 1ac74ce02..4241ecc36 100644 --- a/stripe_android/android/src/main/kotlin/com/flutter/stripe/StripeAndroidPlugin.kt +++ b/stripe_android/android/src/main/kotlin/com/flutter/stripe/StripeAndroidPlugin.kt @@ -4,8 +4,6 @@ import androidx.annotation.NonNull import com.facebook.react.bridge.Promise import com.facebook.react.bridge.ReadableMap import com.reactnativestripesdk.StripeSdkModule -import com.stripe.android.model.GooglePayResult -import com.stripe.android.model.PaymentMethodCreateParams import io.flutter.embedding.engine.plugins.FlutterPlugin import io.flutter.embedding.engine.plugins.activity.ActivityAware import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding @@ -13,7 +11,6 @@ import io.flutter.plugin.common.MethodCall import io.flutter.plugin.common.MethodChannel import io.flutter.plugin.common.MethodChannel.MethodCallHandler import io.flutter.plugin.common.MethodChannel.Result -import org.json.JSONObject /** StripeAndroidPlugin */ class StripeAndroidPlugin : FlutterPlugin, MethodCallHandler, ActivityAware { @@ -66,10 +63,6 @@ class StripeAndroidPlugin : FlutterPlugin, MethodCallHandler, ActivityAware { clientSecret = call.requiredArgument("clientSecret"), promise = Promise(result) ) - "createPaymentMethodFromGooglePay" -> stripeSdk.createPaymentMethodFromGooglePay( - data = call.requiredArgument("data"), - promise = Promise(result) - ) else -> result.notImplemented() } } @@ -101,8 +94,7 @@ private inline fun MethodCall.optionalArgument(key: String): T? { private inline fun MethodCall.requiredArgument(key: String): T { if (T::class.java == ReadableMap::class.java) { - return ReadableMap(argument>(key) - ?: error("Required parameter $key not set")) as T + return ReadableMap(argument>(key) ?: error("Required parameter $key not set")) as T } return argument(key) ?: error("Required parameter $key not set") } diff --git a/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/StripeSdkModule.kt b/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/StripeSdkModule.kt index a3d642492..d6549dd67 100644 --- a/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/StripeSdkModule.kt +++ b/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/StripeSdkModule.kt @@ -1,16 +1,13 @@ package com.reactnativestripesdk import android.app.Activity +import android.content.Context import android.content.Intent import android.os.AsyncTask import com.facebook.react.bridge.* import com.stripe.android.* -import com.stripe.android.model.PaymentMethod -import com.stripe.android.model.PaymentMethodCreateParams -import com.stripe.android.model.StripeIntent -import com.stripe.android.model.Token +import com.stripe.android.model.* import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding -import org.json.JSONObject class StripeSdkModule(context: ActivityPluginBinding) : ReactContextBaseJavaModule(context) { override fun getName(): String { @@ -232,29 +229,4 @@ class StripeSdkModule(context: ActivityPluginBinding) : ReactContextBaseJavaModu promise.reject(ConfirmPaymentErrorType.Failed.toString(), error.localizedMessage) } } - - - /// not part of original plugin - - @ReactMethod - fun createPaymentMethodFromGooglePay(data: ReadableMap, promise: Promise) { - val paymentDataJson = JSONObject(data) - - //val shippingInformation = GooglePayResult.fromJson(paymentDataJson).shippingInformation - // TODO do we need it? - val paymentMethodCreateParams = PaymentMethodCreateParams.createFromGooglePay(paymentDataJson) - - stripe.createPaymentMethod( - paymentMethodCreateParams, - callback = object : ApiResultCallback { - override fun onError(e: Exception) { - confirmPromise?.reject("Failed", e.localizedMessage) - } - - override fun onSuccess(result: PaymentMethod) { - val paymentMethodMap: WritableMap = mapFromPaymentMethod(result) - promise.resolve(paymentMethodMap) - } - }) - } } diff --git a/stripe_platform_interface/lib/src/method_channel_stripe.dart b/stripe_platform_interface/lib/src/method_channel_stripe.dart index 06eb088e1..5ad665039 100644 --- a/stripe_platform_interface/lib/src/method_channel_stripe.dart +++ b/stripe_platform_interface/lib/src/method_channel_stripe.dart @@ -59,16 +59,6 @@ class MethodChannelStripe extends StripePlatform { return PaymentMethod.fromJson(result.unfoldToNonNull()); } - @override - Future createPaymentMethodFromGooglePay( - Map data) async { - final result = - await _methodChannel.invokeMethod('createPaymentMethodFromGooglePay', { - 'data': data, - }); - return PaymentMethod.fromJson(result.unfoldToNonNull()); - } - @override Future configure3dSecure(ThreeDSecureConfigurationParams params) { // TODO: implement configure3dSecure diff --git a/stripe_platform_interface/lib/stripe_platform_interface.dart b/stripe_platform_interface/lib/stripe_platform_interface.dart index e68741f70..8661eaee6 100644 --- a/stripe_platform_interface/lib/stripe_platform_interface.dart +++ b/stripe_platform_interface/lib/stripe_platform_interface.dart @@ -41,9 +41,6 @@ abstract class StripePlatform extends PlatformInterface { Map options = const {}, ]); - Future createPaymentMethodFromGooglePay( - Map data); - Future handleCardAction(String paymentIntentClientSecret); Future confirmPaymentMethod( String paymentIntentClientSecret, PaymentMethodParams data, From a8d031384683430a609cc863f4f916f14a51bd00 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 2 Apr 2021 19:24:41 +0200 Subject: [PATCH 7/9] - fix card input + payment methods - allow creating cards with token (Android only atm) --- .../screens/setup_future_payment_screen.dart | 9 +- .../react/bridge/ActivityEventListener.java | 4 +- .../react/bridge/BaseActivityEventListener.kt | 9 +- .../com/reactnativestripesdk/Mappers.kt | 16 +- .../reactnativestripesdk/StripeSdkModule.kt | 16 +- .../lib/src/method_channel_stripe.dart | 2 +- .../lib/src/models/card_field_input.dart | 10 +- .../src/models/card_field_input.freezed.dart | 761 ------------------ .../lib/src/models/card_field_input.g.dart | 30 +- .../lib/src/models/payment_methods.dart | 9 +- .../src/models/payment_methods.freezed.dart | 279 +++++-- .../lib/src/models/payment_methods.g.dart | 307 ------- 12 files changed, 299 insertions(+), 1153 deletions(-) delete mode 100644 stripe_platform_interface/lib/src/models/card_field_input.freezed.dart delete mode 100644 stripe_platform_interface/lib/src/models/payment_methods.g.dart diff --git a/stripe/example/lib/screens/setup_future_payment_screen.dart b/stripe/example/lib/screens/setup_future_payment_screen.dart index b4b82024f..521405eb2 100644 --- a/stripe/example/lib/screens/setup_future_payment_screen.dart +++ b/stripe/example/lib/screens/setup_future_payment_screen.dart @@ -42,6 +42,13 @@ class _SetupFuturePaymentScreenState extends State { } Future _handlePayPress() async { + // just for testing purposes + final test = await Stripe.instance.confirmPaymentMethod( + 'paymentIntentClientSecret', + PaymentMethodParams.card( + cardDetails: CardFieldInputDetails.cardFromToken( + token: 'examplePaymentMethodToken'))); + print(test); if (_card == null) { return; } @@ -65,7 +72,7 @@ class _SetupFuturePaymentScreenState extends State { .confirmSetupIntent( clientSecret, PaymentMethodParams.card( - details: _card, + cardDetails: _card, //billingDetails, )) .then((setupIntentResult) { diff --git a/stripe_android/android/src/main/kotlin/com/facebook/react/bridge/ActivityEventListener.java b/stripe_android/android/src/main/kotlin/com/facebook/react/bridge/ActivityEventListener.java index 30b48ab6e..69379b0f0 100644 --- a/stripe_android/android/src/main/kotlin/com/facebook/react/bridge/ActivityEventListener.java +++ b/stripe_android/android/src/main/kotlin/com/facebook/react/bridge/ActivityEventListener.java @@ -3,6 +3,8 @@ import android.app.Activity; import android.content.Intent; +import androidx.annotation.Nullable; + public interface ActivityEventListener { - public void onActivityResult(Activity a, int requestCode, int resultCode, Intent data); + public boolean onActivityResult(@Nullable Activity a, int requestCode, int resultCode, @Nullable Intent data); } diff --git a/stripe_android/android/src/main/kotlin/com/facebook/react/bridge/BaseActivityEventListener.kt b/stripe_android/android/src/main/kotlin/com/facebook/react/bridge/BaseActivityEventListener.kt index e6cc87391..6dc8d2465 100644 --- a/stripe_android/android/src/main/kotlin/com/facebook/react/bridge/BaseActivityEventListener.kt +++ b/stripe_android/android/src/main/kotlin/com/facebook/react/bridge/BaseActivityEventListener.kt @@ -4,11 +4,8 @@ import android.content.Intent import com.stripe.android.Stripe import io.flutter.plugin.common.PluginRegistry.ActivityResultListener -abstract class BaseActivityEventListener(private val stripeProvider: () -> Stripe?) : ActivityEventListener, ActivityResultListener { - override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent): Boolean { - if (stripeProvider()?.isAuthenticateSourceResult(requestCode, data) == true) { - onActivityResult(null, requestCode, resultCode, data) - } - return true +abstract class BaseActivityEventListener : ActivityEventListener, ActivityResultListener { + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?): Boolean { + return onActivityResult(null, requestCode, resultCode, data) } } \ No newline at end of file diff --git a/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/Mappers.kt b/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/Mappers.kt index 8c9961efd..7c69ef0f5 100644 --- a/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/Mappers.kt +++ b/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/Mappers.kt @@ -275,12 +275,16 @@ internal fun mapToPaymentMethodCreateParams(cardData: ReadableMap): PaymentMetho } internal fun mapToCard(card: ReadableMap): PaymentMethodCreateParams.Card { - return PaymentMethodCreateParams.Card.Builder() - .setCvc(card.getString("cvc")) - .setExpiryMonth(card.getInt("expiryMonth")) - .setExpiryYear(card.getInt("expiryYear")) - .setNumber(card.getString("number").orEmpty()) - .build() + if (card.hasKey("token")) { + return PaymentMethodCreateParams.Card.create(card.getString("token")) + } else { + return PaymentMethodCreateParams.Card.Builder() + .setCvc(card.getString("cvc")) + .setExpiryMonth(card.getInt("expiryMonth")) + .setExpiryYear(card.getInt("expiryYear")) + .setNumber(card.getString("number").orEmpty()) + .build() + } } fun getValOr(map: ReadableMap, key: String, default: String? = ""): String? { diff --git a/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/StripeSdkModule.kt b/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/StripeSdkModule.kt index d6549dd67..fc5182c4c 100644 --- a/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/StripeSdkModule.kt +++ b/stripe_android/android/src/main/kotlin/com/reactnativestripesdk/StripeSdkModule.kt @@ -20,15 +20,9 @@ class StripeSdkModule(context: ActivityPluginBinding) : ReactContextBaseJavaModu private var handleCardActionPromise: Promise? = null private var confirmSetupIntentPromise: Promise? = null - private val mActivityEventListener = object : BaseActivityEventListener( - stripeProvider = { - if (this::stripe.isInitialized) { - stripe - } else null - } - ) { - override fun onActivityResult(activity: Activity, requestCode: Int, resultCode: Int, data: Intent) { - stripe.onSetupResult(requestCode, data, object : ApiResultCallback { + private val mActivityEventListener = object : BaseActivityEventListener() { + override fun onActivityResult(activity: Activity?, requestCode: Int, resultCode: Int, data: Intent?): Boolean { + val onSetupResult = stripe.onSetupResult(requestCode, data, object : ApiResultCallback { override fun onSuccess(result: SetupIntentResult) { val setupIntent = result.intent when (setupIntent.status) { @@ -51,7 +45,7 @@ class StripeSdkModule(context: ActivityPluginBinding) : ReactContextBaseJavaModu } }) - stripe.onPaymentResult(requestCode, data, object : ApiResultCallback { + val onPaymentResult = stripe.onPaymentResult(requestCode, data, object : ApiResultCallback { override fun onSuccess(result: PaymentIntentResult) { val paymentIntent = result.intent @@ -88,6 +82,8 @@ class StripeSdkModule(context: ActivityPluginBinding) : ReactContextBaseJavaModu handleCardActionPromise?.reject(NextPaymentActionErrorType.Failed.toString(), e.toString()) } }) + + return onSetupResult || onPaymentResult } } diff --git a/stripe_platform_interface/lib/src/method_channel_stripe.dart b/stripe_platform_interface/lib/src/method_channel_stripe.dart index 80ca0ea88..6752a23ae 100644 --- a/stripe_platform_interface/lib/src/method_channel_stripe.dart +++ b/stripe_platform_interface/lib/src/method_channel_stripe.dart @@ -78,7 +78,7 @@ class MethodChannelStripe extends StripePlatform { ]) async { final result = await _methodChannel.invokeMethod('confirmPaymentMethod', { 'paymentIntentClientSecret': paymentIntentClientSecret, - 'data': params.toJson(), + 'params': params.toJson(), 'options': options, }); return PaymentIntent.fromJson(result.unfoldToNonNull()); diff --git a/stripe_platform_interface/lib/src/models/card_field_input.dart b/stripe_platform_interface/lib/src/models/card_field_input.dart index d4531455d..516d2c044 100644 --- a/stripe_platform_interface/lib/src/models/card_field_input.dart +++ b/stripe_platform_interface/lib/src/models/card_field_input.dart @@ -41,15 +41,21 @@ class ColorKey { @freezed class CardFieldInputDetails with _$CardFieldInputDetails { + const factory CardFieldInputDetails() = _CardFieldInputDetailsDefault; + @JsonSerializable(explicitToJson: true) - const factory CardFieldInputDetails({ + const factory CardFieldInputDetails.card({ required String last4, required int expiryMonth, required int expiryYear, required CardBrand brand, required bool complete, required String? postalCode, - }) = _CardFieldInputDetails; + }) = _CardFieldInputDetailsCard; + + const factory CardFieldInputDetails.cardFromToken({ + required String token, + }) = _CardFieldInputDetailsWithToken; factory CardFieldInputDetails.fromJson(Map json) => _$CardFieldInputDetailsFromJson(json); diff --git a/stripe_platform_interface/lib/src/models/card_field_input.freezed.dart b/stripe_platform_interface/lib/src/models/card_field_input.freezed.dart deleted file mode 100644 index 3343335e7..000000000 --- a/stripe_platform_interface/lib/src/models/card_field_input.freezed.dart +++ /dev/null @@ -1,761 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND -// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides - -part of 'card_field_input.dart'; - -// ************************************************************************** -// FreezedGenerator -// ************************************************************************** - -T _$identity(T value) => value; - -final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more informations: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); - -CardDecoration _$CardDecorationFromJson(Map json) { - return _CardDecoration.fromJson(json); -} - -/// @nodoc -class _$CardDecorationTearOff { - const _$CardDecorationTearOff(); - - _CardDecoration call( - {@JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? backgroundColor, - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? textColor, - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? borderColor, - double? borderWidth, - double? borderRadius, - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? textErrorColor}) { - return _CardDecoration( - backgroundColor: backgroundColor, - textColor: textColor, - borderColor: borderColor, - borderWidth: borderWidth, - borderRadius: borderRadius, - textErrorColor: textErrorColor, - ); - } - - CardDecoration fromJson(Map json) { - return CardDecoration.fromJson(json); - } -} - -/// @nodoc -const $CardDecoration = _$CardDecorationTearOff(); - -/// @nodoc -mixin _$CardDecoration { - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? get backgroundColor => throw _privateConstructorUsedError; - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? get textColor => throw _privateConstructorUsedError; - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? get borderColor => throw _privateConstructorUsedError; - double? get borderWidth => throw _privateConstructorUsedError; - double? get borderRadius => throw _privateConstructorUsedError; - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? get textErrorColor => throw _privateConstructorUsedError; - - Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) - $CardDecorationCopyWith get copyWith => - throw _privateConstructorUsedError; -} - -/// @nodoc -abstract class $CardDecorationCopyWith<$Res> { - factory $CardDecorationCopyWith( - CardDecoration value, $Res Function(CardDecoration) then) = - _$CardDecorationCopyWithImpl<$Res>; - $Res call( - {@JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? backgroundColor, - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? textColor, - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? borderColor, - double? borderWidth, - double? borderRadius, - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? textErrorColor}); -} - -/// @nodoc -class _$CardDecorationCopyWithImpl<$Res> - implements $CardDecorationCopyWith<$Res> { - _$CardDecorationCopyWithImpl(this._value, this._then); - - final CardDecoration _value; - // ignore: unused_field - final $Res Function(CardDecoration) _then; - - @override - $Res call({ - Object? backgroundColor = freezed, - Object? textColor = freezed, - Object? borderColor = freezed, - Object? borderWidth = freezed, - Object? borderRadius = freezed, - Object? textErrorColor = freezed, - }) { - return _then(_value.copyWith( - backgroundColor: backgroundColor == freezed - ? _value.backgroundColor - : backgroundColor // ignore: cast_nullable_to_non_nullable - as Color?, - textColor: textColor == freezed - ? _value.textColor - : textColor // ignore: cast_nullable_to_non_nullable - as Color?, - borderColor: borderColor == freezed - ? _value.borderColor - : borderColor // ignore: cast_nullable_to_non_nullable - as Color?, - borderWidth: borderWidth == freezed - ? _value.borderWidth - : borderWidth // ignore: cast_nullable_to_non_nullable - as double?, - borderRadius: borderRadius == freezed - ? _value.borderRadius - : borderRadius // ignore: cast_nullable_to_non_nullable - as double?, - textErrorColor: textErrorColor == freezed - ? _value.textErrorColor - : textErrorColor // ignore: cast_nullable_to_non_nullable - as Color?, - )); - } -} - -/// @nodoc -abstract class _$CardDecorationCopyWith<$Res> - implements $CardDecorationCopyWith<$Res> { - factory _$CardDecorationCopyWith( - _CardDecoration value, $Res Function(_CardDecoration) then) = - __$CardDecorationCopyWithImpl<$Res>; - @override - $Res call( - {@JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? backgroundColor, - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? textColor, - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? borderColor, - double? borderWidth, - double? borderRadius, - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? textErrorColor}); -} - -/// @nodoc -class __$CardDecorationCopyWithImpl<$Res> - extends _$CardDecorationCopyWithImpl<$Res> - implements _$CardDecorationCopyWith<$Res> { - __$CardDecorationCopyWithImpl( - _CardDecoration _value, $Res Function(_CardDecoration) _then) - : super(_value, (v) => _then(v as _CardDecoration)); - - @override - _CardDecoration get _value => super._value as _CardDecoration; - - @override - $Res call({ - Object? backgroundColor = freezed, - Object? textColor = freezed, - Object? borderColor = freezed, - Object? borderWidth = freezed, - Object? borderRadius = freezed, - Object? textErrorColor = freezed, - }) { - return _then(_CardDecoration( - backgroundColor: backgroundColor == freezed - ? _value.backgroundColor - : backgroundColor // ignore: cast_nullable_to_non_nullable - as Color?, - textColor: textColor == freezed - ? _value.textColor - : textColor // ignore: cast_nullable_to_non_nullable - as Color?, - borderColor: borderColor == freezed - ? _value.borderColor - : borderColor // ignore: cast_nullable_to_non_nullable - as Color?, - borderWidth: borderWidth == freezed - ? _value.borderWidth - : borderWidth // ignore: cast_nullable_to_non_nullable - as double?, - borderRadius: borderRadius == freezed - ? _value.borderRadius - : borderRadius // ignore: cast_nullable_to_non_nullable - as double?, - textErrorColor: textErrorColor == freezed - ? _value.textErrorColor - : textErrorColor // ignore: cast_nullable_to_non_nullable - as Color?, - )); - } -} - -@JsonSerializable(explicitToJson: true) - -/// @nodoc -class _$_CardDecoration implements _CardDecoration { - _$_CardDecoration( - {@JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - this.backgroundColor, - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - this.textColor, - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - this.borderColor, - this.borderWidth, - this.borderRadius, - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - this.textErrorColor}); - - factory _$_CardDecoration.fromJson(Map json) => - _$_$_CardDecorationFromJson(json); - - @override - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - final Color? backgroundColor; - @override - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - final Color? textColor; - @override - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - final Color? borderColor; - @override - final double? borderWidth; - @override - final double? borderRadius; - @override - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - final Color? textErrorColor; - - @override - String toString() { - return 'CardDecoration(backgroundColor: $backgroundColor, textColor: $textColor, borderColor: $borderColor, borderWidth: $borderWidth, borderRadius: $borderRadius, textErrorColor: $textErrorColor)'; - } - - @override - bool operator ==(dynamic other) { - return identical(this, other) || - (other is _CardDecoration && - (identical(other.backgroundColor, backgroundColor) || - const DeepCollectionEquality() - .equals(other.backgroundColor, backgroundColor)) && - (identical(other.textColor, textColor) || - const DeepCollectionEquality() - .equals(other.textColor, textColor)) && - (identical(other.borderColor, borderColor) || - const DeepCollectionEquality() - .equals(other.borderColor, borderColor)) && - (identical(other.borderWidth, borderWidth) || - const DeepCollectionEquality() - .equals(other.borderWidth, borderWidth)) && - (identical(other.borderRadius, borderRadius) || - const DeepCollectionEquality() - .equals(other.borderRadius, borderRadius)) && - (identical(other.textErrorColor, textErrorColor) || - const DeepCollectionEquality() - .equals(other.textErrorColor, textErrorColor))); - } - - @override - int get hashCode => - runtimeType.hashCode ^ - const DeepCollectionEquality().hash(backgroundColor) ^ - const DeepCollectionEquality().hash(textColor) ^ - const DeepCollectionEquality().hash(borderColor) ^ - const DeepCollectionEquality().hash(borderWidth) ^ - const DeepCollectionEquality().hash(borderRadius) ^ - const DeepCollectionEquality().hash(textErrorColor); - - @JsonKey(ignore: true) - @override - _$CardDecorationCopyWith<_CardDecoration> get copyWith => - __$CardDecorationCopyWithImpl<_CardDecoration>(this, _$identity); - - @override - Map toJson() { - return _$_$_CardDecorationToJson(this); - } -} - -abstract class _CardDecoration implements CardDecoration { - factory _CardDecoration( - {@JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? backgroundColor, - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? textColor, - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? borderColor, - double? borderWidth, - double? borderRadius, - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? textErrorColor}) = _$_CardDecoration; - - factory _CardDecoration.fromJson(Map json) = - _$_CardDecoration.fromJson; - - @override - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? get backgroundColor => throw _privateConstructorUsedError; - @override - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? get textColor => throw _privateConstructorUsedError; - @override - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? get borderColor => throw _privateConstructorUsedError; - @override - double? get borderWidth => throw _privateConstructorUsedError; - @override - double? get borderRadius => throw _privateConstructorUsedError; - @override - @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) - Color? get textErrorColor => throw _privateConstructorUsedError; - @override - @JsonKey(ignore: true) - _$CardDecorationCopyWith<_CardDecoration> get copyWith => - throw _privateConstructorUsedError; -} - -CardFieldInputDetails _$CardFieldInputDetailsFromJson( - Map json) { - return _CardFieldInputDetails.fromJson(json); -} - -/// @nodoc -class _$CardFieldInputDetailsTearOff { - const _$CardFieldInputDetailsTearOff(); - - _CardFieldInputDetails call( - {required String last4, - required int expiryMonth, - required int expiryYear, - required CardBrand brand, - required bool complete, - required String? postalCode}) { - return _CardFieldInputDetails( - last4: last4, - expiryMonth: expiryMonth, - expiryYear: expiryYear, - brand: brand, - complete: complete, - postalCode: postalCode, - ); - } - - CardFieldInputDetails fromJson(Map json) { - return CardFieldInputDetails.fromJson(json); - } -} - -/// @nodoc -const $CardFieldInputDetails = _$CardFieldInputDetailsTearOff(); - -/// @nodoc -mixin _$CardFieldInputDetails { - String get last4 => throw _privateConstructorUsedError; - int get expiryMonth => throw _privateConstructorUsedError; - int get expiryYear => throw _privateConstructorUsedError; - CardBrand get brand => throw _privateConstructorUsedError; - bool get complete => throw _privateConstructorUsedError; - String? get postalCode => throw _privateConstructorUsedError; - - Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) - $CardFieldInputDetailsCopyWith get copyWith => - throw _privateConstructorUsedError; -} - -/// @nodoc -abstract class $CardFieldInputDetailsCopyWith<$Res> { - factory $CardFieldInputDetailsCopyWith(CardFieldInputDetails value, - $Res Function(CardFieldInputDetails) then) = - _$CardFieldInputDetailsCopyWithImpl<$Res>; - $Res call( - {String last4, - int expiryMonth, - int expiryYear, - CardBrand brand, - bool complete, - String? postalCode}); -} - -/// @nodoc -class _$CardFieldInputDetailsCopyWithImpl<$Res> - implements $CardFieldInputDetailsCopyWith<$Res> { - _$CardFieldInputDetailsCopyWithImpl(this._value, this._then); - - final CardFieldInputDetails _value; - // ignore: unused_field - final $Res Function(CardFieldInputDetails) _then; - - @override - $Res call({ - Object? last4 = freezed, - Object? expiryMonth = freezed, - Object? expiryYear = freezed, - Object? brand = freezed, - Object? complete = freezed, - Object? postalCode = freezed, - }) { - return _then(_value.copyWith( - last4: last4 == freezed - ? _value.last4 - : last4 // ignore: cast_nullable_to_non_nullable - as String, - expiryMonth: expiryMonth == freezed - ? _value.expiryMonth - : expiryMonth // ignore: cast_nullable_to_non_nullable - as int, - expiryYear: expiryYear == freezed - ? _value.expiryYear - : expiryYear // ignore: cast_nullable_to_non_nullable - as int, - brand: brand == freezed - ? _value.brand - : brand // ignore: cast_nullable_to_non_nullable - as CardBrand, - complete: complete == freezed - ? _value.complete - : complete // ignore: cast_nullable_to_non_nullable - as bool, - postalCode: postalCode == freezed - ? _value.postalCode - : postalCode // ignore: cast_nullable_to_non_nullable - as String?, - )); - } -} - -/// @nodoc -abstract class _$CardFieldInputDetailsCopyWith<$Res> - implements $CardFieldInputDetailsCopyWith<$Res> { - factory _$CardFieldInputDetailsCopyWith(_CardFieldInputDetails value, - $Res Function(_CardFieldInputDetails) then) = - __$CardFieldInputDetailsCopyWithImpl<$Res>; - @override - $Res call( - {String last4, - int expiryMonth, - int expiryYear, - CardBrand brand, - bool complete, - String? postalCode}); -} - -/// @nodoc -class __$CardFieldInputDetailsCopyWithImpl<$Res> - extends _$CardFieldInputDetailsCopyWithImpl<$Res> - implements _$CardFieldInputDetailsCopyWith<$Res> { - __$CardFieldInputDetailsCopyWithImpl(_CardFieldInputDetails _value, - $Res Function(_CardFieldInputDetails) _then) - : super(_value, (v) => _then(v as _CardFieldInputDetails)); - - @override - _CardFieldInputDetails get _value => super._value as _CardFieldInputDetails; - - @override - $Res call({ - Object? last4 = freezed, - Object? expiryMonth = freezed, - Object? expiryYear = freezed, - Object? brand = freezed, - Object? complete = freezed, - Object? postalCode = freezed, - }) { - return _then(_CardFieldInputDetails( - last4: last4 == freezed - ? _value.last4 - : last4 // ignore: cast_nullable_to_non_nullable - as String, - expiryMonth: expiryMonth == freezed - ? _value.expiryMonth - : expiryMonth // ignore: cast_nullable_to_non_nullable - as int, - expiryYear: expiryYear == freezed - ? _value.expiryYear - : expiryYear // ignore: cast_nullable_to_non_nullable - as int, - brand: brand == freezed - ? _value.brand - : brand // ignore: cast_nullable_to_non_nullable - as CardBrand, - complete: complete == freezed - ? _value.complete - : complete // ignore: cast_nullable_to_non_nullable - as bool, - postalCode: postalCode == freezed - ? _value.postalCode - : postalCode // ignore: cast_nullable_to_non_nullable - as String?, - )); - } -} - -@JsonSerializable(explicitToJson: true) - -/// @nodoc -class _$_CardFieldInputDetails implements _CardFieldInputDetails { - const _$_CardFieldInputDetails( - {required this.last4, - required this.expiryMonth, - required this.expiryYear, - required this.brand, - required this.complete, - required this.postalCode}); - - factory _$_CardFieldInputDetails.fromJson(Map json) => - _$_$_CardFieldInputDetailsFromJson(json); - - @override - final String last4; - @override - final int expiryMonth; - @override - final int expiryYear; - @override - final CardBrand brand; - @override - final bool complete; - @override - final String? postalCode; - - @override - String toString() { - return 'CardFieldInputDetails(last4: $last4, expiryMonth: $expiryMonth, expiryYear: $expiryYear, brand: $brand, complete: $complete, postalCode: $postalCode)'; - } - - @override - bool operator ==(dynamic other) { - return identical(this, other) || - (other is _CardFieldInputDetails && - (identical(other.last4, last4) || - const DeepCollectionEquality().equals(other.last4, last4)) && - (identical(other.expiryMonth, expiryMonth) || - const DeepCollectionEquality() - .equals(other.expiryMonth, expiryMonth)) && - (identical(other.expiryYear, expiryYear) || - const DeepCollectionEquality() - .equals(other.expiryYear, expiryYear)) && - (identical(other.brand, brand) || - const DeepCollectionEquality().equals(other.brand, brand)) && - (identical(other.complete, complete) || - const DeepCollectionEquality() - .equals(other.complete, complete)) && - (identical(other.postalCode, postalCode) || - const DeepCollectionEquality() - .equals(other.postalCode, postalCode))); - } - - @override - int get hashCode => - runtimeType.hashCode ^ - const DeepCollectionEquality().hash(last4) ^ - const DeepCollectionEquality().hash(expiryMonth) ^ - const DeepCollectionEquality().hash(expiryYear) ^ - const DeepCollectionEquality().hash(brand) ^ - const DeepCollectionEquality().hash(complete) ^ - const DeepCollectionEquality().hash(postalCode); - - @JsonKey(ignore: true) - @override - _$CardFieldInputDetailsCopyWith<_CardFieldInputDetails> get copyWith => - __$CardFieldInputDetailsCopyWithImpl<_CardFieldInputDetails>( - this, _$identity); - - @override - Map toJson() { - return _$_$_CardFieldInputDetailsToJson(this); - } -} - -abstract class _CardFieldInputDetails implements CardFieldInputDetails { - const factory _CardFieldInputDetails( - {required String last4, - required int expiryMonth, - required int expiryYear, - required CardBrand brand, - required bool complete, - required String? postalCode}) = _$_CardFieldInputDetails; - - factory _CardFieldInputDetails.fromJson(Map json) = - _$_CardFieldInputDetails.fromJson; - - @override - String get last4 => throw _privateConstructorUsedError; - @override - int get expiryMonth => throw _privateConstructorUsedError; - @override - int get expiryYear => throw _privateConstructorUsedError; - @override - CardBrand get brand => throw _privateConstructorUsedError; - @override - bool get complete => throw _privateConstructorUsedError; - @override - String? get postalCode => throw _privateConstructorUsedError; - @override - @JsonKey(ignore: true) - _$CardFieldInputDetailsCopyWith<_CardFieldInputDetails> get copyWith => - throw _privateConstructorUsedError; -} - -CardFieldFocusName _$CardFieldFocusNameFromJson(Map json) { - return _CardFieldFocusName.fromJson(json); -} - -/// @nodoc -class _$CardFieldFocusNameTearOff { - const _$CardFieldFocusNameTearOff(); - - _CardFieldFocusName call({CardFieldName? focusedField}) { - return _CardFieldFocusName( - focusedField: focusedField, - ); - } - - CardFieldFocusName fromJson(Map json) { - return CardFieldFocusName.fromJson(json); - } -} - -/// @nodoc -const $CardFieldFocusName = _$CardFieldFocusNameTearOff(); - -/// @nodoc -mixin _$CardFieldFocusName { - CardFieldName? get focusedField => throw _privateConstructorUsedError; - - Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) - $CardFieldFocusNameCopyWith get copyWith => - throw _privateConstructorUsedError; -} - -/// @nodoc -abstract class $CardFieldFocusNameCopyWith<$Res> { - factory $CardFieldFocusNameCopyWith( - CardFieldFocusName value, $Res Function(CardFieldFocusName) then) = - _$CardFieldFocusNameCopyWithImpl<$Res>; - $Res call({CardFieldName? focusedField}); -} - -/// @nodoc -class _$CardFieldFocusNameCopyWithImpl<$Res> - implements $CardFieldFocusNameCopyWith<$Res> { - _$CardFieldFocusNameCopyWithImpl(this._value, this._then); - - final CardFieldFocusName _value; - // ignore: unused_field - final $Res Function(CardFieldFocusName) _then; - - @override - $Res call({ - Object? focusedField = freezed, - }) { - return _then(_value.copyWith( - focusedField: focusedField == freezed - ? _value.focusedField - : focusedField // ignore: cast_nullable_to_non_nullable - as CardFieldName?, - )); - } -} - -/// @nodoc -abstract class _$CardFieldFocusNameCopyWith<$Res> - implements $CardFieldFocusNameCopyWith<$Res> { - factory _$CardFieldFocusNameCopyWith( - _CardFieldFocusName value, $Res Function(_CardFieldFocusName) then) = - __$CardFieldFocusNameCopyWithImpl<$Res>; - @override - $Res call({CardFieldName? focusedField}); -} - -/// @nodoc -class __$CardFieldFocusNameCopyWithImpl<$Res> - extends _$CardFieldFocusNameCopyWithImpl<$Res> - implements _$CardFieldFocusNameCopyWith<$Res> { - __$CardFieldFocusNameCopyWithImpl( - _CardFieldFocusName _value, $Res Function(_CardFieldFocusName) _then) - : super(_value, (v) => _then(v as _CardFieldFocusName)); - - @override - _CardFieldFocusName get _value => super._value as _CardFieldFocusName; - - @override - $Res call({ - Object? focusedField = freezed, - }) { - return _then(_CardFieldFocusName( - focusedField: focusedField == freezed - ? _value.focusedField - : focusedField // ignore: cast_nullable_to_non_nullable - as CardFieldName?, - )); - } -} - -@JsonSerializable(explicitToJson: true) - -/// @nodoc -class _$_CardFieldFocusName implements _CardFieldFocusName { - _$_CardFieldFocusName({this.focusedField}); - - factory _$_CardFieldFocusName.fromJson(Map json) => - _$_$_CardFieldFocusNameFromJson(json); - - @override - final CardFieldName? focusedField; - - @override - String toString() { - return 'CardFieldFocusName(focusedField: $focusedField)'; - } - - @override - bool operator ==(dynamic other) { - return identical(this, other) || - (other is _CardFieldFocusName && - (identical(other.focusedField, focusedField) || - const DeepCollectionEquality() - .equals(other.focusedField, focusedField))); - } - - @override - int get hashCode => - runtimeType.hashCode ^ const DeepCollectionEquality().hash(focusedField); - - @JsonKey(ignore: true) - @override - _$CardFieldFocusNameCopyWith<_CardFieldFocusName> get copyWith => - __$CardFieldFocusNameCopyWithImpl<_CardFieldFocusName>(this, _$identity); - - @override - Map toJson() { - return _$_$_CardFieldFocusNameToJson(this); - } -} - -abstract class _CardFieldFocusName implements CardFieldFocusName { - factory _CardFieldFocusName({CardFieldName? focusedField}) = - _$_CardFieldFocusName; - - factory _CardFieldFocusName.fromJson(Map json) = - _$_CardFieldFocusName.fromJson; - - @override - CardFieldName? get focusedField => throw _privateConstructorUsedError; - @override - @JsonKey(ignore: true) - _$CardFieldFocusNameCopyWith<_CardFieldFocusName> get copyWith => - throw _privateConstructorUsedError; -} diff --git a/stripe_platform_interface/lib/src/models/card_field_input.g.dart b/stripe_platform_interface/lib/src/models/card_field_input.g.dart index 3f95439ee..523c494d7 100644 --- a/stripe_platform_interface/lib/src/models/card_field_input.g.dart +++ b/stripe_platform_interface/lib/src/models/card_field_input.g.dart @@ -27,9 +27,18 @@ Map _$_$_CardDecorationToJson(_$_CardDecoration instance) => 'textErrorColor': ColorKey.toJson(instance.textErrorColor), }; -_$_CardFieldInputDetails _$_$_CardFieldInputDetailsFromJson( +_$_CardFieldInputDetailsDefault _$_$_CardFieldInputDetailsDefaultFromJson( Map json) { - return _$_CardFieldInputDetails( + return _$_CardFieldInputDetailsDefault(); +} + +Map _$_$_CardFieldInputDetailsDefaultToJson( + _$_CardFieldInputDetailsDefault instance) => + {}; + +_$_CardFieldInputDetailsCard _$_$_CardFieldInputDetailsCardFromJson( + Map json) { + return _$_CardFieldInputDetailsCard( last4: json['last4'] as String, expiryMonth: json['expiryMonth'] as int, expiryYear: json['expiryYear'] as int, @@ -39,8 +48,8 @@ _$_CardFieldInputDetails _$_$_CardFieldInputDetailsFromJson( ); } -Map _$_$_CardFieldInputDetailsToJson( - _$_CardFieldInputDetails instance) => +Map _$_$_CardFieldInputDetailsCardToJson( + _$_CardFieldInputDetailsCard instance) => { 'last4': instance.last4, 'expiryMonth': instance.expiryMonth, @@ -87,6 +96,19 @@ const _$CardBrandEnumMap = { CardBrand.unknown: 'unknown', }; +_$_CardFieldInputDetailsWithToken _$_$_CardFieldInputDetailsWithTokenFromJson( + Map json) { + return _$_CardFieldInputDetailsWithToken( + token: json['token'] as String, + ); +} + +Map _$_$_CardFieldInputDetailsWithTokenToJson( + _$_CardFieldInputDetailsWithToken instance) => + { + 'token': instance.token, + }; + _$_CardFieldFocusName _$_$_CardFieldFocusNameFromJson( Map json) { return _$_CardFieldFocusName( diff --git a/stripe_platform_interface/lib/src/models/payment_methods.dart b/stripe_platform_interface/lib/src/models/payment_methods.dart index 9a1d3f1b2..2817aa4d5 100644 --- a/stripe_platform_interface/lib/src/models/payment_methods.dart +++ b/stripe_platform_interface/lib/src/models/payment_methods.dart @@ -163,14 +163,17 @@ enum PaymentMethodType { @freezed class PaymentMethodParams with _$PaymentMethodParams { + const factory PaymentMethodParams(String type) = _PaymentMethodParamsDefault; + + @JsonSerializable(explicitToJson: true) const factory PaymentMethodParams.card({ - @Default('card') String type, - required CardFieldInputDetails details, + @Default('Card') String type, + required CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage, }) = _PaymentMethodParamsCard; const factory PaymentMethodParams.cardFromMethodId({ - @Default('card') String type, + @Default('Card') String type, required String paymentMethodId, String? cvc, }) = _PaymentMethodParamsCardWithMethodId; diff --git a/stripe_platform_interface/lib/src/models/payment_methods.freezed.dart b/stripe_platform_interface/lib/src/models/payment_methods.freezed.dart index 1242c05b7..d5d4e9459 100644 --- a/stripe_platform_interface/lib/src/models/payment_methods.freezed.dart +++ b/stripe_platform_interface/lib/src/models/payment_methods.freezed.dart @@ -2380,6 +2380,8 @@ abstract class _Upi implements Upi { PaymentMethodParams _$PaymentMethodParamsFromJson(Map json) { switch (json['runtimeType'] as String) { + case 'default': + return _PaymentMethodParamsDefault.fromJson(json); case 'card': return _PaymentMethodParamsCard.fromJson(json); case 'cardFromMethodId': @@ -2396,19 +2398,25 @@ PaymentMethodParams _$PaymentMethodParamsFromJson(Map json) { class _$PaymentMethodParamsTearOff { const _$PaymentMethodParamsTearOff(); + _PaymentMethodParamsDefault call(String type) { + return _PaymentMethodParamsDefault( + type, + ); + } + _PaymentMethodParamsCard card( - {String type = 'card', - required CardFieldInputDetails details, + {String type = 'Card', + required CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage}) { return _PaymentMethodParamsCard( type: type, - details: details, + cardDetails: cardDetails, setupFutureUsage: setupFutureUsage, ); } _PaymentMethodParamsCardWithMethodId cardFromMethodId( - {String type = 'card', required String paymentMethodId, String? cvc}) { + {String type = 'Card', required String paymentMethodId, String? cvc}) { return _PaymentMethodParamsCardWithMethodId( type: type, paymentMethodId: paymentMethodId, @@ -2435,8 +2443,9 @@ mixin _$PaymentMethodParams { String get type => throw _privateConstructorUsedError; @optionalTypeArgs - TResult when({ - required TResult Function(String type, CardFieldInputDetails details, + TResult when( + TResult Function(String type) $default, { + required TResult Function(String type, CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage) card, required TResult Function(String type, String paymentMethodId, String? cvc) @@ -2445,8 +2454,9 @@ mixin _$PaymentMethodParams { }) => throw _privateConstructorUsedError; @optionalTypeArgs - TResult maybeWhen({ - TResult Function(String type, CardFieldInputDetails details, + TResult maybeWhen( + TResult Function(String type)? $default, { + TResult Function(String type, CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage)? card, TResult Function(String type, String paymentMethodId, String? cvc)? @@ -2456,7 +2466,8 @@ mixin _$PaymentMethodParams { }) => throw _privateConstructorUsedError; @optionalTypeArgs - TResult map({ + TResult map( + TResult Function(_PaymentMethodParamsDefault value) $default, { required TResult Function(_PaymentMethodParamsCard value) card, required TResult Function(_PaymentMethodParamsCardWithMethodId value) cardFromMethodId, @@ -2464,7 +2475,8 @@ mixin _$PaymentMethodParams { }) => throw _privateConstructorUsedError; @optionalTypeArgs - TResult maybeMap({ + TResult maybeMap( + TResult Function(_PaymentMethodParamsDefault value)? $default, { TResult Function(_PaymentMethodParamsCard value)? card, TResult Function(_PaymentMethodParamsCardWithMethodId value)? cardFromMethodId, @@ -2508,6 +2520,159 @@ class _$PaymentMethodParamsCopyWithImpl<$Res> } } +/// @nodoc +abstract class _$PaymentMethodParamsDefaultCopyWith<$Res> + implements $PaymentMethodParamsCopyWith<$Res> { + factory _$PaymentMethodParamsDefaultCopyWith( + _PaymentMethodParamsDefault value, + $Res Function(_PaymentMethodParamsDefault) then) = + __$PaymentMethodParamsDefaultCopyWithImpl<$Res>; + @override + $Res call({String type}); +} + +/// @nodoc +class __$PaymentMethodParamsDefaultCopyWithImpl<$Res> + extends _$PaymentMethodParamsCopyWithImpl<$Res> + implements _$PaymentMethodParamsDefaultCopyWith<$Res> { + __$PaymentMethodParamsDefaultCopyWithImpl(_PaymentMethodParamsDefault _value, + $Res Function(_PaymentMethodParamsDefault) _then) + : super(_value, (v) => _then(v as _PaymentMethodParamsDefault)); + + @override + _PaymentMethodParamsDefault get _value => + super._value as _PaymentMethodParamsDefault; + + @override + $Res call({ + Object? type = freezed, + }) { + return _then(_PaymentMethodParamsDefault( + type == freezed + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String, + )); + } +} + +@JsonSerializable() + +/// @nodoc +class _$_PaymentMethodParamsDefault implements _PaymentMethodParamsDefault { + const _$_PaymentMethodParamsDefault(this.type); + + factory _$_PaymentMethodParamsDefault.fromJson(Map json) => + _$_$_PaymentMethodParamsDefaultFromJson(json); + + @override + final String type; + + @override + String toString() { + return 'PaymentMethodParams(type: $type)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is _PaymentMethodParamsDefault && + (identical(other.type, type) || + const DeepCollectionEquality().equals(other.type, type))); + } + + @override + int get hashCode => + runtimeType.hashCode ^ const DeepCollectionEquality().hash(type); + + @JsonKey(ignore: true) + @override + _$PaymentMethodParamsDefaultCopyWith<_PaymentMethodParamsDefault> + get copyWith => __$PaymentMethodParamsDefaultCopyWithImpl< + _PaymentMethodParamsDefault>(this, _$identity); + + @override + @optionalTypeArgs + TResult when( + TResult Function(String type) $default, { + required TResult Function(String type, CardFieldInputDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage) + card, + required TResult Function(String type, String paymentMethodId, String? cvc) + cardFromMethodId, + required TResult Function(String type) aliPay, + }) { + return $default(type); + } + + @override + @optionalTypeArgs + TResult maybeWhen( + TResult Function(String type)? $default, { + TResult Function(String type, CardFieldInputDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage)? + card, + TResult Function(String type, String paymentMethodId, String? cvc)? + cardFromMethodId, + TResult Function(String type)? aliPay, + required TResult orElse(), + }) { + if ($default != null) { + return $default(type); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map( + TResult Function(_PaymentMethodParamsDefault value) $default, { + required TResult Function(_PaymentMethodParamsCard value) card, + required TResult Function(_PaymentMethodParamsCardWithMethodId value) + cardFromMethodId, + required TResult Function(_PaymentMethodParamsAli value) aliPay, + }) { + return $default(this); + } + + @override + @optionalTypeArgs + TResult maybeMap( + TResult Function(_PaymentMethodParamsDefault value)? $default, { + TResult Function(_PaymentMethodParamsCard value)? card, + TResult Function(_PaymentMethodParamsCardWithMethodId value)? + cardFromMethodId, + TResult Function(_PaymentMethodParamsAli value)? aliPay, + required TResult orElse(), + }) { + if ($default != null) { + return $default(this); + } + return orElse(); + } + + @override + Map toJson() { + return _$_$_PaymentMethodParamsDefaultToJson(this) + ..['runtimeType'] = 'default'; + } +} + +abstract class _PaymentMethodParamsDefault implements PaymentMethodParams { + const factory _PaymentMethodParamsDefault(String type) = + _$_PaymentMethodParamsDefault; + + factory _PaymentMethodParamsDefault.fromJson(Map json) = + _$_PaymentMethodParamsDefault.fromJson; + + @override + String get type => throw _privateConstructorUsedError; + @override + @JsonKey(ignore: true) + _$PaymentMethodParamsDefaultCopyWith<_PaymentMethodParamsDefault> + get copyWith => throw _privateConstructorUsedError; +} + /// @nodoc abstract class _$PaymentMethodParamsCardCopyWith<$Res> implements $PaymentMethodParamsCopyWith<$Res> { @@ -2517,10 +2682,10 @@ abstract class _$PaymentMethodParamsCardCopyWith<$Res> @override $Res call( {String type, - CardFieldInputDetails details, + CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage}); - $CardFieldInputDetailsCopyWith<$Res> get details; + $CardFieldInputDetailsCopyWith<$Res> get cardDetails; } /// @nodoc @@ -2538,7 +2703,7 @@ class __$PaymentMethodParamsCardCopyWithImpl<$Res> @override $Res call({ Object? type = freezed, - Object? details = freezed, + Object? cardDetails = freezed, Object? setupFutureUsage = freezed, }) { return _then(_PaymentMethodParamsCard( @@ -2546,9 +2711,9 @@ class __$PaymentMethodParamsCardCopyWithImpl<$Res> ? _value.type : type // ignore: cast_nullable_to_non_nullable as String, - details: details == freezed - ? _value.details - : details // ignore: cast_nullable_to_non_nullable + cardDetails: cardDetails == freezed + ? _value.cardDetails + : cardDetails // ignore: cast_nullable_to_non_nullable as CardFieldInputDetails, setupFutureUsage: setupFutureUsage == freezed ? _value.setupFutureUsage @@ -2558,34 +2723,34 @@ class __$PaymentMethodParamsCardCopyWithImpl<$Res> } @override - $CardFieldInputDetailsCopyWith<$Res> get details { - return $CardFieldInputDetailsCopyWith<$Res>(_value.details, (value) { - return _then(_value.copyWith(details: value)); + $CardFieldInputDetailsCopyWith<$Res> get cardDetails { + return $CardFieldInputDetailsCopyWith<$Res>(_value.cardDetails, (value) { + return _then(_value.copyWith(cardDetails: value)); }); } } -@JsonSerializable() +@JsonSerializable(explicitToJson: true) /// @nodoc class _$_PaymentMethodParamsCard implements _PaymentMethodParamsCard { const _$_PaymentMethodParamsCard( - {this.type = 'card', required this.details, this.setupFutureUsage}); + {this.type = 'Card', required this.cardDetails, this.setupFutureUsage}); factory _$_PaymentMethodParamsCard.fromJson(Map json) => _$_$_PaymentMethodParamsCardFromJson(json); - @JsonKey(defaultValue: 'card') + @JsonKey(defaultValue: 'Card') @override final String type; @override - final CardFieldInputDetails details; + final CardFieldInputDetails cardDetails; @override final PaymentIntentsFutureUsage? setupFutureUsage; @override String toString() { - return 'PaymentMethodParams.card(type: $type, details: $details, setupFutureUsage: $setupFutureUsage)'; + return 'PaymentMethodParams.card(type: $type, cardDetails: $cardDetails, setupFutureUsage: $setupFutureUsage)'; } @override @@ -2594,9 +2759,9 @@ class _$_PaymentMethodParamsCard implements _PaymentMethodParamsCard { (other is _PaymentMethodParamsCard && (identical(other.type, type) || const DeepCollectionEquality().equals(other.type, type)) && - (identical(other.details, details) || + (identical(other.cardDetails, cardDetails) || const DeepCollectionEquality() - .equals(other.details, details)) && + .equals(other.cardDetails, cardDetails)) && (identical(other.setupFutureUsage, setupFutureUsage) || const DeepCollectionEquality() .equals(other.setupFutureUsage, setupFutureUsage))); @@ -2606,7 +2771,7 @@ class _$_PaymentMethodParamsCard implements _PaymentMethodParamsCard { int get hashCode => runtimeType.hashCode ^ const DeepCollectionEquality().hash(type) ^ - const DeepCollectionEquality().hash(details) ^ + const DeepCollectionEquality().hash(cardDetails) ^ const DeepCollectionEquality().hash(setupFutureUsage); @JsonKey(ignore: true) @@ -2617,21 +2782,23 @@ class _$_PaymentMethodParamsCard implements _PaymentMethodParamsCard { @override @optionalTypeArgs - TResult when({ - required TResult Function(String type, CardFieldInputDetails details, + TResult when( + TResult Function(String type) $default, { + required TResult Function(String type, CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage) card, required TResult Function(String type, String paymentMethodId, String? cvc) cardFromMethodId, required TResult Function(String type) aliPay, }) { - return card(type, details, setupFutureUsage); + return card(type, cardDetails, setupFutureUsage); } @override @optionalTypeArgs - TResult maybeWhen({ - TResult Function(String type, CardFieldInputDetails details, + TResult maybeWhen( + TResult Function(String type)? $default, { + TResult Function(String type, CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage)? card, TResult Function(String type, String paymentMethodId, String? cvc)? @@ -2640,14 +2807,15 @@ class _$_PaymentMethodParamsCard implements _PaymentMethodParamsCard { required TResult orElse(), }) { if (card != null) { - return card(type, details, setupFutureUsage); + return card(type, cardDetails, setupFutureUsage); } return orElse(); } @override @optionalTypeArgs - TResult map({ + TResult map( + TResult Function(_PaymentMethodParamsDefault value) $default, { required TResult Function(_PaymentMethodParamsCard value) card, required TResult Function(_PaymentMethodParamsCardWithMethodId value) cardFromMethodId, @@ -2658,7 +2826,8 @@ class _$_PaymentMethodParamsCard implements _PaymentMethodParamsCard { @override @optionalTypeArgs - TResult maybeMap({ + TResult maybeMap( + TResult Function(_PaymentMethodParamsDefault value)? $default, { TResult Function(_PaymentMethodParamsCard value)? card, TResult Function(_PaymentMethodParamsCardWithMethodId value)? cardFromMethodId, @@ -2680,7 +2849,7 @@ class _$_PaymentMethodParamsCard implements _PaymentMethodParamsCard { abstract class _PaymentMethodParamsCard implements PaymentMethodParams { const factory _PaymentMethodParamsCard( {String type, - required CardFieldInputDetails details, + required CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage}) = _$_PaymentMethodParamsCard; @@ -2689,7 +2858,7 @@ abstract class _PaymentMethodParamsCard implements PaymentMethodParams { @override String get type => throw _privateConstructorUsedError; - CardFieldInputDetails get details => throw _privateConstructorUsedError; + CardFieldInputDetails get cardDetails => throw _privateConstructorUsedError; PaymentIntentsFutureUsage? get setupFutureUsage => throw _privateConstructorUsedError; @override @@ -2751,13 +2920,13 @@ class __$PaymentMethodParamsCardWithMethodIdCopyWithImpl<$Res> class _$_PaymentMethodParamsCardWithMethodId implements _PaymentMethodParamsCardWithMethodId { const _$_PaymentMethodParamsCardWithMethodId( - {this.type = 'card', required this.paymentMethodId, this.cvc}); + {this.type = 'Card', required this.paymentMethodId, this.cvc}); factory _$_PaymentMethodParamsCardWithMethodId.fromJson( Map json) => _$_$_PaymentMethodParamsCardWithMethodIdFromJson(json); - @JsonKey(defaultValue: 'card') + @JsonKey(defaultValue: 'Card') @override final String type; @override @@ -2799,8 +2968,9 @@ class _$_PaymentMethodParamsCardWithMethodId @override @optionalTypeArgs - TResult when({ - required TResult Function(String type, CardFieldInputDetails details, + TResult when( + TResult Function(String type) $default, { + required TResult Function(String type, CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage) card, required TResult Function(String type, String paymentMethodId, String? cvc) @@ -2812,8 +2982,9 @@ class _$_PaymentMethodParamsCardWithMethodId @override @optionalTypeArgs - TResult maybeWhen({ - TResult Function(String type, CardFieldInputDetails details, + TResult maybeWhen( + TResult Function(String type)? $default, { + TResult Function(String type, CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage)? card, TResult Function(String type, String paymentMethodId, String? cvc)? @@ -2829,7 +3000,8 @@ class _$_PaymentMethodParamsCardWithMethodId @override @optionalTypeArgs - TResult map({ + TResult map( + TResult Function(_PaymentMethodParamsDefault value) $default, { required TResult Function(_PaymentMethodParamsCard value) card, required TResult Function(_PaymentMethodParamsCardWithMethodId value) cardFromMethodId, @@ -2840,7 +3012,8 @@ class _$_PaymentMethodParamsCardWithMethodId @override @optionalTypeArgs - TResult maybeMap({ + TResult maybeMap( + TResult Function(_PaymentMethodParamsDefault value)? $default, { TResult Function(_PaymentMethodParamsCard value)? card, TResult Function(_PaymentMethodParamsCardWithMethodId value)? cardFromMethodId, @@ -2954,8 +3127,9 @@ class _$_PaymentMethodParamsAli implements _PaymentMethodParamsAli { @override @optionalTypeArgs - TResult when({ - required TResult Function(String type, CardFieldInputDetails details, + TResult when( + TResult Function(String type) $default, { + required TResult Function(String type, CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage) card, required TResult Function(String type, String paymentMethodId, String? cvc) @@ -2967,8 +3141,9 @@ class _$_PaymentMethodParamsAli implements _PaymentMethodParamsAli { @override @optionalTypeArgs - TResult maybeWhen({ - TResult Function(String type, CardFieldInputDetails details, + TResult maybeWhen( + TResult Function(String type)? $default, { + TResult Function(String type, CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage)? card, TResult Function(String type, String paymentMethodId, String? cvc)? @@ -2984,7 +3159,8 @@ class _$_PaymentMethodParamsAli implements _PaymentMethodParamsAli { @override @optionalTypeArgs - TResult map({ + TResult map( + TResult Function(_PaymentMethodParamsDefault value) $default, { required TResult Function(_PaymentMethodParamsCard value) card, required TResult Function(_PaymentMethodParamsCardWithMethodId value) cardFromMethodId, @@ -2995,7 +3171,8 @@ class _$_PaymentMethodParamsAli implements _PaymentMethodParamsAli { @override @optionalTypeArgs - TResult maybeMap({ + TResult maybeMap( + TResult Function(_PaymentMethodParamsDefault value)? $default, { TResult Function(_PaymentMethodParamsCard value)? card, TResult Function(_PaymentMethodParamsCardWithMethodId value)? cardFromMethodId, diff --git a/stripe_platform_interface/lib/src/models/payment_methods.g.dart b/stripe_platform_interface/lib/src/models/payment_methods.g.dart deleted file mode 100644 index c4e0fd21c..000000000 --- a/stripe_platform_interface/lib/src/models/payment_methods.g.dart +++ /dev/null @@ -1,307 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND - -part of 'payment_methods.dart'; - -// ************************************************************************** -// JsonSerializableGenerator -// ************************************************************************** - -_$_PaymentMethod _$_$_PaymentMethodFromJson(Map json) { - return _$_PaymentMethod( - id: json['id'] as String, - liveMode: json['liveMode'] as bool, - customerId: json['customerId'] as String, - billingDetails: - BillingDetails.fromJson(json['billingDetails'] as Map), - type: _$enumDecode(_$PaymentMethodTypeEnumMap, json['type']), - auBecsDebit: - AuBecsDebit.fromJson(json['auBecsDebit'] as Map), - bacsDebit: BacsDebit.fromJson(json['bacsDebit'] as Map), - card: Card.fromJson(json['card'] as Map), - fpx: Fpx.fromJson(json['fpx'] as Map), - ideal: Ideal.fromJson(json['ideal'] as Map), - sepaDebit: SepaDebit.fromJson(json['sepaDebit'] as Map), - sofort: Sofort.fromJson(json['sofort'] as Map), - upi: Upi.fromJson(json['upi'] as Map), - ); -} - -Map _$_$_PaymentMethodToJson(_$_PaymentMethod instance) => - { - 'id': instance.id, - 'liveMode': instance.liveMode, - 'customerId': instance.customerId, - 'billingDetails': instance.billingDetails.toJson(), - 'type': _$PaymentMethodTypeEnumMap[instance.type], - 'auBecsDebit': instance.auBecsDebit.toJson(), - 'bacsDebit': instance.bacsDebit.toJson(), - 'card': instance.card.toJson(), - 'fpx': instance.fpx.toJson(), - 'ideal': instance.ideal.toJson(), - 'sepaDebit': instance.sepaDebit.toJson(), - 'sofort': instance.sofort.toJson(), - 'upi': instance.upi.toJson(), - }; - -K _$enumDecode( - Map enumValues, - Object? source, { - K? unknownValue, -}) { - if (source == null) { - throw ArgumentError( - 'A value must be provided. Supported values: ' - '${enumValues.values.join(', ')}', - ); - } - - return enumValues.entries.singleWhere( - (e) => e.value == source, - orElse: () { - if (unknownValue == null) { - throw ArgumentError( - '`$source` is not one of the supported values: ' - '${enumValues.values.join(', ')}', - ); - } - return MapEntry(unknownValue, enumValues.values.first); - }, - ).key; -} - -const _$PaymentMethodTypeEnumMap = { - PaymentMethodType.AfterpayClearpay: 'AfterpayClearpay', - PaymentMethodType.Card: 'Card', - PaymentMethodType.Alipay: 'Alipay', - PaymentMethodType.Grabpay: 'Grabpay', - PaymentMethodType.Ideal: 'Ideal', - PaymentMethodType.Fpx: 'Fpx', - PaymentMethodType.CardPresent: 'CardPresent', - PaymentMethodType.SepaDebit: 'SepaDebit', - PaymentMethodType.AuBecsDebit: 'AuBecsDebit', - PaymentMethodType.BacsDebit: 'BacsDebit', - PaymentMethodType.Giropay: 'Giropay', - PaymentMethodType.P24: 'P24', - PaymentMethodType.Eps: 'Eps', - PaymentMethodType.Bancontact: 'Bancontact', - PaymentMethodType.Oxxo: 'Oxxo', - PaymentMethodType.Sofort: 'Sofort', - PaymentMethodType.Upi: 'Upi', - PaymentMethodType.Unknown: 'Unknown', -}; - -_$_BillingDetails _$_$_BillingDetailsFromJson(Map json) { - return _$_BillingDetails( - email: json['email'] as String?, - phone: json['phone'] as String?, - name: json['name'] as String?, - adressPostalCode: json['adressPostalCode'] as String?, - addressCity: json['addressCity'] as String?, - addressCountry: json['addressCountry'] as String?, - addressLine1: json['addressLine1'] as String?, - addressLine2: json['addressLine2'] as String?, - addressLine3: json['addressLine3'] as String?, - ); -} - -Map _$_$_BillingDetailsToJson(_$_BillingDetails instance) => - { - 'email': instance.email, - 'phone': instance.phone, - 'name': instance.name, - 'adressPostalCode': instance.adressPostalCode, - 'addressCity': instance.addressCity, - 'addressCountry': instance.addressCountry, - 'addressLine1': instance.addressLine1, - 'addressLine2': instance.addressLine2, - 'addressLine3': instance.addressLine3, - }; - -_$_AuBecsDebit _$_$_AuBecsDebitFromJson(Map json) { - return _$_AuBecsDebit( - fingerprint: json['fingerprint'] as String?, - last4: json['last4'] as String?, - bsbNumber: json['bsbNumber'] as String?, - ); -} - -Map _$_$_AuBecsDebitToJson(_$_AuBecsDebit instance) => - { - 'fingerprint': instance.fingerprint, - 'last4': instance.last4, - 'bsbNumber': instance.bsbNumber, - }; - -_$_BacsDebit _$_$_BacsDebitFromJson(Map json) { - return _$_BacsDebit( - sortCode: json['sortCode'] as String?, - fingerprint: json['fingerprint'] as String?, - last4: json['last4'] as String?, - ); -} - -Map _$_$_BacsDebitToJson(_$_BacsDebit instance) => - { - 'sortCode': instance.sortCode, - 'fingerprint': instance.fingerprint, - 'last4': instance.last4, - }; - -_$_Card _$_$_CardFromJson(Map json) { - return _$_Card( - brand: _$enumDecodeNullable(_$CardBrandEnumMap, json['brand']), - country: json['country'] as String?, - expYear: json['expYear'] as String?, - expMonth: json['expMonth'] as String?, - fingerprint: json['fingerprint'] as String?, - funding: json['funding'] as String?, - last4: json['last4'] as String?, - ); -} - -Map _$_$_CardToJson(_$_Card instance) => { - 'brand': _$CardBrandEnumMap[instance.brand], - 'country': instance.country, - 'expYear': instance.expYear, - 'expMonth': instance.expMonth, - 'fingerprint': instance.fingerprint, - 'funding': instance.funding, - 'last4': instance.last4, - }; - -K? _$enumDecodeNullable( - Map enumValues, - dynamic source, { - K? unknownValue, -}) { - if (source == null) { - return null; - } - return _$enumDecode(enumValues, source, unknownValue: unknownValue); -} - -const _$CardBrandEnumMap = { - CardBrand.american: 'american', - CardBrand.dinersClub: 'dinersClub', - CardBrand.discover: 'discover', - CardBrand.jCB: 'jCB', - CardBrand.masterCard: 'masterCard', - CardBrand.unionPay: 'unionPay', - CardBrand.visa: 'visa', - CardBrand.unknown: 'unknown', -}; - -_$_Fpx _$_$_FpxFromJson(Map json) { - return _$_Fpx( - bank: json['bank'] as String?, - ); -} - -Map _$_$_FpxToJson(_$_Fpx instance) => { - 'bank': instance.bank, - }; - -_$_Ideal _$_$_IdealFromJson(Map json) { - return _$_Ideal( - bankIdentifierCode: json['bankIdentifierCode'] as String?, - bank: json['bank'] as String?, - ); -} - -Map _$_$_IdealToJson(_$_Ideal instance) => { - 'bankIdentifierCode': instance.bankIdentifierCode, - 'bank': instance.bank, - }; - -_$_SepaDebit _$_$_SepaDebitFromJson(Map json) { - return _$_SepaDebit( - country: json['country'] as String?, - bankCode: json['bankCode'] as String?, - fingerprint: json['fingerprint'] as String?, - last4: json['last4'] as String?, - ); -} - -Map _$_$_SepaDebitToJson(_$_SepaDebit instance) => - { - 'country': instance.country, - 'bankCode': instance.bankCode, - 'fingerprint': instance.fingerprint, - 'last4': instance.last4, - }; - -_$_Sofort _$_$_SofortFromJson(Map json) { - return _$_Sofort( - country: json['country'] as String?, - ); -} - -Map _$_$_SofortToJson(_$_Sofort instance) => { - 'country': instance.country, - }; - -_$_Upi _$_$_UpiFromJson(Map json) { - return _$_Upi( - vpa: json['vpa'] as String?, - ); -} - -Map _$_$_UpiToJson(_$_Upi instance) => { - 'vpa': instance.vpa, - }; - -_$_PaymentMethodParamsCard _$_$_PaymentMethodParamsCardFromJson( - Map json) { - return _$_PaymentMethodParamsCard( - type: json['type'] as String? ?? 'card', - details: - CardFieldInputDetails.fromJson(json['details'] as Map), - setupFutureUsage: _$enumDecodeNullable( - _$PaymentIntentsFutureUsageEnumMap, json['setupFutureUsage']), - ); -} - -Map _$_$_PaymentMethodParamsCardToJson( - _$_PaymentMethodParamsCard instance) => - { - 'type': instance.type, - 'details': instance.details, - 'setupFutureUsage': - _$PaymentIntentsFutureUsageEnumMap[instance.setupFutureUsage], - }; - -const _$PaymentIntentsFutureUsageEnumMap = { - PaymentIntentsFutureUsage.OffSession: 'OffSession', - PaymentIntentsFutureUsage.OnSession: 'OnSession', -}; - -_$_PaymentMethodParamsCardWithMethodId - _$_$_PaymentMethodParamsCardWithMethodIdFromJson( - Map json) { - return _$_PaymentMethodParamsCardWithMethodId( - type: json['type'] as String? ?? 'card', - paymentMethodId: json['paymentMethodId'] as String, - cvc: json['cvc'] as String?, - ); -} - -Map _$_$_PaymentMethodParamsCardWithMethodIdToJson( - _$_PaymentMethodParamsCardWithMethodId instance) => - { - 'type': instance.type, - 'paymentMethodId': instance.paymentMethodId, - 'cvc': instance.cvc, - }; - -_$_PaymentMethodParamsAli _$_$_PaymentMethodParamsAliFromJson( - Map json) { - return _$_PaymentMethodParamsAli( - type: json['type'] as String? ?? 'Alipay', - ); -} - -Map _$_$_PaymentMethodParamsAliToJson( - _$_PaymentMethodParamsAli instance) => - { - 'type': instance.type, - }; From 675736316e61de8345f0b6e3d1215c6a101b231e Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Sat, 3 Apr 2021 14:35:33 +0200 Subject: [PATCH 8/9] fix missing files --- .../src/models/card_field_input.freezed.dart | 1066 +++++++++++++++++ .../lib/src/models/payment_methods.g.dart | 320 +++++ 2 files changed, 1386 insertions(+) create mode 100644 stripe_platform_interface/lib/src/models/card_field_input.freezed.dart create mode 100644 stripe_platform_interface/lib/src/models/payment_methods.g.dart diff --git a/stripe_platform_interface/lib/src/models/card_field_input.freezed.dart b/stripe_platform_interface/lib/src/models/card_field_input.freezed.dart new file mode 100644 index 000000000..32462d4b1 --- /dev/null +++ b/stripe_platform_interface/lib/src/models/card_field_input.freezed.dart @@ -0,0 +1,1066 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides + +part of 'card_field_input.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more informations: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +CardDecoration _$CardDecorationFromJson(Map json) { + return _CardDecoration.fromJson(json); +} + +/// @nodoc +class _$CardDecorationTearOff { + const _$CardDecorationTearOff(); + + _CardDecoration call( + {@JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? backgroundColor, + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? textColor, + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? borderColor, + double? borderWidth, + double? borderRadius, + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? textErrorColor}) { + return _CardDecoration( + backgroundColor: backgroundColor, + textColor: textColor, + borderColor: borderColor, + borderWidth: borderWidth, + borderRadius: borderRadius, + textErrorColor: textErrorColor, + ); + } + + CardDecoration fromJson(Map json) { + return CardDecoration.fromJson(json); + } +} + +/// @nodoc +const $CardDecoration = _$CardDecorationTearOff(); + +/// @nodoc +mixin _$CardDecoration { + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? get backgroundColor => throw _privateConstructorUsedError; + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? get textColor => throw _privateConstructorUsedError; + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? get borderColor => throw _privateConstructorUsedError; + double? get borderWidth => throw _privateConstructorUsedError; + double? get borderRadius => throw _privateConstructorUsedError; + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? get textErrorColor => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $CardDecorationCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $CardDecorationCopyWith<$Res> { + factory $CardDecorationCopyWith( + CardDecoration value, $Res Function(CardDecoration) then) = + _$CardDecorationCopyWithImpl<$Res>; + $Res call( + {@JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? backgroundColor, + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? textColor, + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? borderColor, + double? borderWidth, + double? borderRadius, + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? textErrorColor}); +} + +/// @nodoc +class _$CardDecorationCopyWithImpl<$Res> + implements $CardDecorationCopyWith<$Res> { + _$CardDecorationCopyWithImpl(this._value, this._then); + + final CardDecoration _value; + // ignore: unused_field + final $Res Function(CardDecoration) _then; + + @override + $Res call({ + Object? backgroundColor = freezed, + Object? textColor = freezed, + Object? borderColor = freezed, + Object? borderWidth = freezed, + Object? borderRadius = freezed, + Object? textErrorColor = freezed, + }) { + return _then(_value.copyWith( + backgroundColor: backgroundColor == freezed + ? _value.backgroundColor + : backgroundColor // ignore: cast_nullable_to_non_nullable + as Color?, + textColor: textColor == freezed + ? _value.textColor + : textColor // ignore: cast_nullable_to_non_nullable + as Color?, + borderColor: borderColor == freezed + ? _value.borderColor + : borderColor // ignore: cast_nullable_to_non_nullable + as Color?, + borderWidth: borderWidth == freezed + ? _value.borderWidth + : borderWidth // ignore: cast_nullable_to_non_nullable + as double?, + borderRadius: borderRadius == freezed + ? _value.borderRadius + : borderRadius // ignore: cast_nullable_to_non_nullable + as double?, + textErrorColor: textErrorColor == freezed + ? _value.textErrorColor + : textErrorColor // ignore: cast_nullable_to_non_nullable + as Color?, + )); + } +} + +/// @nodoc +abstract class _$CardDecorationCopyWith<$Res> + implements $CardDecorationCopyWith<$Res> { + factory _$CardDecorationCopyWith( + _CardDecoration value, $Res Function(_CardDecoration) then) = + __$CardDecorationCopyWithImpl<$Res>; + @override + $Res call( + {@JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? backgroundColor, + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? textColor, + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? borderColor, + double? borderWidth, + double? borderRadius, + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? textErrorColor}); +} + +/// @nodoc +class __$CardDecorationCopyWithImpl<$Res> + extends _$CardDecorationCopyWithImpl<$Res> + implements _$CardDecorationCopyWith<$Res> { + __$CardDecorationCopyWithImpl( + _CardDecoration _value, $Res Function(_CardDecoration) _then) + : super(_value, (v) => _then(v as _CardDecoration)); + + @override + _CardDecoration get _value => super._value as _CardDecoration; + + @override + $Res call({ + Object? backgroundColor = freezed, + Object? textColor = freezed, + Object? borderColor = freezed, + Object? borderWidth = freezed, + Object? borderRadius = freezed, + Object? textErrorColor = freezed, + }) { + return _then(_CardDecoration( + backgroundColor: backgroundColor == freezed + ? _value.backgroundColor + : backgroundColor // ignore: cast_nullable_to_non_nullable + as Color?, + textColor: textColor == freezed + ? _value.textColor + : textColor // ignore: cast_nullable_to_non_nullable + as Color?, + borderColor: borderColor == freezed + ? _value.borderColor + : borderColor // ignore: cast_nullable_to_non_nullable + as Color?, + borderWidth: borderWidth == freezed + ? _value.borderWidth + : borderWidth // ignore: cast_nullable_to_non_nullable + as double?, + borderRadius: borderRadius == freezed + ? _value.borderRadius + : borderRadius // ignore: cast_nullable_to_non_nullable + as double?, + textErrorColor: textErrorColor == freezed + ? _value.textErrorColor + : textErrorColor // ignore: cast_nullable_to_non_nullable + as Color?, + )); + } +} + +@JsonSerializable(explicitToJson: true) + +/// @nodoc +class _$_CardDecoration implements _CardDecoration { + _$_CardDecoration( + {@JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + this.backgroundColor, + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + this.textColor, + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + this.borderColor, + this.borderWidth, + this.borderRadius, + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + this.textErrorColor}); + + factory _$_CardDecoration.fromJson(Map json) => + _$_$_CardDecorationFromJson(json); + + @override + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + final Color? backgroundColor; + @override + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + final Color? textColor; + @override + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + final Color? borderColor; + @override + final double? borderWidth; + @override + final double? borderRadius; + @override + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + final Color? textErrorColor; + + @override + String toString() { + return 'CardDecoration(backgroundColor: $backgroundColor, textColor: $textColor, borderColor: $borderColor, borderWidth: $borderWidth, borderRadius: $borderRadius, textErrorColor: $textErrorColor)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is _CardDecoration && + (identical(other.backgroundColor, backgroundColor) || + const DeepCollectionEquality() + .equals(other.backgroundColor, backgroundColor)) && + (identical(other.textColor, textColor) || + const DeepCollectionEquality() + .equals(other.textColor, textColor)) && + (identical(other.borderColor, borderColor) || + const DeepCollectionEquality() + .equals(other.borderColor, borderColor)) && + (identical(other.borderWidth, borderWidth) || + const DeepCollectionEquality() + .equals(other.borderWidth, borderWidth)) && + (identical(other.borderRadius, borderRadius) || + const DeepCollectionEquality() + .equals(other.borderRadius, borderRadius)) && + (identical(other.textErrorColor, textErrorColor) || + const DeepCollectionEquality() + .equals(other.textErrorColor, textErrorColor))); + } + + @override + int get hashCode => + runtimeType.hashCode ^ + const DeepCollectionEquality().hash(backgroundColor) ^ + const DeepCollectionEquality().hash(textColor) ^ + const DeepCollectionEquality().hash(borderColor) ^ + const DeepCollectionEquality().hash(borderWidth) ^ + const DeepCollectionEquality().hash(borderRadius) ^ + const DeepCollectionEquality().hash(textErrorColor); + + @JsonKey(ignore: true) + @override + _$CardDecorationCopyWith<_CardDecoration> get copyWith => + __$CardDecorationCopyWithImpl<_CardDecoration>(this, _$identity); + + @override + Map toJson() { + return _$_$_CardDecorationToJson(this); + } +} + +abstract class _CardDecoration implements CardDecoration { + factory _CardDecoration( + {@JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? backgroundColor, + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? textColor, + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? borderColor, + double? borderWidth, + double? borderRadius, + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? textErrorColor}) = _$_CardDecoration; + + factory _CardDecoration.fromJson(Map json) = + _$_CardDecoration.fromJson; + + @override + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? get backgroundColor => throw _privateConstructorUsedError; + @override + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? get textColor => throw _privateConstructorUsedError; + @override + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? get borderColor => throw _privateConstructorUsedError; + @override + double? get borderWidth => throw _privateConstructorUsedError; + @override + double? get borderRadius => throw _privateConstructorUsedError; + @override + @JsonKey(toJson: ColorKey.toJson, fromJson: ColorKey.fromJson) + Color? get textErrorColor => throw _privateConstructorUsedError; + @override + @JsonKey(ignore: true) + _$CardDecorationCopyWith<_CardDecoration> get copyWith => + throw _privateConstructorUsedError; +} + +CardFieldInputDetails _$CardFieldInputDetailsFromJson( + Map json) { + switch (json['runtimeType'] as String) { + case 'default': + return _CardFieldInputDetailsDefault.fromJson(json); + case 'card': + return _CardFieldInputDetailsCard.fromJson(json); + case 'cardFromToken': + return _CardFieldInputDetailsWithToken.fromJson(json); + + default: + throw FallThroughError(); + } +} + +/// @nodoc +class _$CardFieldInputDetailsTearOff { + const _$CardFieldInputDetailsTearOff(); + + _CardFieldInputDetailsDefault call() { + return const _CardFieldInputDetailsDefault(); + } + + _CardFieldInputDetailsCard card( + {required String last4, + required int expiryMonth, + required int expiryYear, + required CardBrand brand, + required bool complete, + required String? postalCode}) { + return _CardFieldInputDetailsCard( + last4: last4, + expiryMonth: expiryMonth, + expiryYear: expiryYear, + brand: brand, + complete: complete, + postalCode: postalCode, + ); + } + + _CardFieldInputDetailsWithToken cardFromToken({required String token}) { + return _CardFieldInputDetailsWithToken( + token: token, + ); + } + + CardFieldInputDetails fromJson(Map json) { + return CardFieldInputDetails.fromJson(json); + } +} + +/// @nodoc +const $CardFieldInputDetails = _$CardFieldInputDetailsTearOff(); + +/// @nodoc +mixin _$CardFieldInputDetails { + @optionalTypeArgs + TResult when( + TResult Function() $default, { + required TResult Function(String last4, int expiryMonth, int expiryYear, + CardBrand brand, bool complete, String? postalCode) + card, + required TResult Function(String token) cardFromToken, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeWhen( + TResult Function()? $default, { + TResult Function(String last4, int expiryMonth, int expiryYear, + CardBrand brand, bool complete, String? postalCode)? + card, + TResult Function(String token)? cardFromToken, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult map( + TResult Function(_CardFieldInputDetailsDefault value) $default, { + required TResult Function(_CardFieldInputDetailsCard value) card, + required TResult Function(_CardFieldInputDetailsWithToken value) + cardFromToken, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeMap( + TResult Function(_CardFieldInputDetailsDefault value)? $default, { + TResult Function(_CardFieldInputDetailsCard value)? card, + TResult Function(_CardFieldInputDetailsWithToken value)? cardFromToken, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; + Map toJson() => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $CardFieldInputDetailsCopyWith<$Res> { + factory $CardFieldInputDetailsCopyWith(CardFieldInputDetails value, + $Res Function(CardFieldInputDetails) then) = + _$CardFieldInputDetailsCopyWithImpl<$Res>; +} + +/// @nodoc +class _$CardFieldInputDetailsCopyWithImpl<$Res> + implements $CardFieldInputDetailsCopyWith<$Res> { + _$CardFieldInputDetailsCopyWithImpl(this._value, this._then); + + final CardFieldInputDetails _value; + // ignore: unused_field + final $Res Function(CardFieldInputDetails) _then; +} + +/// @nodoc +abstract class _$CardFieldInputDetailsDefaultCopyWith<$Res> { + factory _$CardFieldInputDetailsDefaultCopyWith( + _CardFieldInputDetailsDefault value, + $Res Function(_CardFieldInputDetailsDefault) then) = + __$CardFieldInputDetailsDefaultCopyWithImpl<$Res>; +} + +/// @nodoc +class __$CardFieldInputDetailsDefaultCopyWithImpl<$Res> + extends _$CardFieldInputDetailsCopyWithImpl<$Res> + implements _$CardFieldInputDetailsDefaultCopyWith<$Res> { + __$CardFieldInputDetailsDefaultCopyWithImpl( + _CardFieldInputDetailsDefault _value, + $Res Function(_CardFieldInputDetailsDefault) _then) + : super(_value, (v) => _then(v as _CardFieldInputDetailsDefault)); + + @override + _CardFieldInputDetailsDefault get _value => + super._value as _CardFieldInputDetailsDefault; +} + +@JsonSerializable() + +/// @nodoc +class _$_CardFieldInputDetailsDefault implements _CardFieldInputDetailsDefault { + const _$_CardFieldInputDetailsDefault(); + + factory _$_CardFieldInputDetailsDefault.fromJson(Map json) => + _$_$_CardFieldInputDetailsDefaultFromJson(json); + + @override + String toString() { + return 'CardFieldInputDetails()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || (other is _CardFieldInputDetailsDefault); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when( + TResult Function() $default, { + required TResult Function(String last4, int expiryMonth, int expiryYear, + CardBrand brand, bool complete, String? postalCode) + card, + required TResult Function(String token) cardFromToken, + }) { + return $default(); + } + + @override + @optionalTypeArgs + TResult maybeWhen( + TResult Function()? $default, { + TResult Function(String last4, int expiryMonth, int expiryYear, + CardBrand brand, bool complete, String? postalCode)? + card, + TResult Function(String token)? cardFromToken, + required TResult orElse(), + }) { + if ($default != null) { + return $default(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map( + TResult Function(_CardFieldInputDetailsDefault value) $default, { + required TResult Function(_CardFieldInputDetailsCard value) card, + required TResult Function(_CardFieldInputDetailsWithToken value) + cardFromToken, + }) { + return $default(this); + } + + @override + @optionalTypeArgs + TResult maybeMap( + TResult Function(_CardFieldInputDetailsDefault value)? $default, { + TResult Function(_CardFieldInputDetailsCard value)? card, + TResult Function(_CardFieldInputDetailsWithToken value)? cardFromToken, + required TResult orElse(), + }) { + if ($default != null) { + return $default(this); + } + return orElse(); + } + + @override + Map toJson() { + return _$_$_CardFieldInputDetailsDefaultToJson(this) + ..['runtimeType'] = 'default'; + } +} + +abstract class _CardFieldInputDetailsDefault implements CardFieldInputDetails { + const factory _CardFieldInputDetailsDefault() = + _$_CardFieldInputDetailsDefault; + + factory _CardFieldInputDetailsDefault.fromJson(Map json) = + _$_CardFieldInputDetailsDefault.fromJson; +} + +/// @nodoc +abstract class _$CardFieldInputDetailsCardCopyWith<$Res> { + factory _$CardFieldInputDetailsCardCopyWith(_CardFieldInputDetailsCard value, + $Res Function(_CardFieldInputDetailsCard) then) = + __$CardFieldInputDetailsCardCopyWithImpl<$Res>; + $Res call( + {String last4, + int expiryMonth, + int expiryYear, + CardBrand brand, + bool complete, + String? postalCode}); +} + +/// @nodoc +class __$CardFieldInputDetailsCardCopyWithImpl<$Res> + extends _$CardFieldInputDetailsCopyWithImpl<$Res> + implements _$CardFieldInputDetailsCardCopyWith<$Res> { + __$CardFieldInputDetailsCardCopyWithImpl(_CardFieldInputDetailsCard _value, + $Res Function(_CardFieldInputDetailsCard) _then) + : super(_value, (v) => _then(v as _CardFieldInputDetailsCard)); + + @override + _CardFieldInputDetailsCard get _value => + super._value as _CardFieldInputDetailsCard; + + @override + $Res call({ + Object? last4 = freezed, + Object? expiryMonth = freezed, + Object? expiryYear = freezed, + Object? brand = freezed, + Object? complete = freezed, + Object? postalCode = freezed, + }) { + return _then(_CardFieldInputDetailsCard( + last4: last4 == freezed + ? _value.last4 + : last4 // ignore: cast_nullable_to_non_nullable + as String, + expiryMonth: expiryMonth == freezed + ? _value.expiryMonth + : expiryMonth // ignore: cast_nullable_to_non_nullable + as int, + expiryYear: expiryYear == freezed + ? _value.expiryYear + : expiryYear // ignore: cast_nullable_to_non_nullable + as int, + brand: brand == freezed + ? _value.brand + : brand // ignore: cast_nullable_to_non_nullable + as CardBrand, + complete: complete == freezed + ? _value.complete + : complete // ignore: cast_nullable_to_non_nullable + as bool, + postalCode: postalCode == freezed + ? _value.postalCode + : postalCode // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +@JsonSerializable(explicitToJson: true) + +/// @nodoc +class _$_CardFieldInputDetailsCard implements _CardFieldInputDetailsCard { + const _$_CardFieldInputDetailsCard( + {required this.last4, + required this.expiryMonth, + required this.expiryYear, + required this.brand, + required this.complete, + required this.postalCode}); + + factory _$_CardFieldInputDetailsCard.fromJson(Map json) => + _$_$_CardFieldInputDetailsCardFromJson(json); + + @override + final String last4; + @override + final int expiryMonth; + @override + final int expiryYear; + @override + final CardBrand brand; + @override + final bool complete; + @override + final String? postalCode; + + @override + String toString() { + return 'CardFieldInputDetails.card(last4: $last4, expiryMonth: $expiryMonth, expiryYear: $expiryYear, brand: $brand, complete: $complete, postalCode: $postalCode)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is _CardFieldInputDetailsCard && + (identical(other.last4, last4) || + const DeepCollectionEquality().equals(other.last4, last4)) && + (identical(other.expiryMonth, expiryMonth) || + const DeepCollectionEquality() + .equals(other.expiryMonth, expiryMonth)) && + (identical(other.expiryYear, expiryYear) || + const DeepCollectionEquality() + .equals(other.expiryYear, expiryYear)) && + (identical(other.brand, brand) || + const DeepCollectionEquality().equals(other.brand, brand)) && + (identical(other.complete, complete) || + const DeepCollectionEquality() + .equals(other.complete, complete)) && + (identical(other.postalCode, postalCode) || + const DeepCollectionEquality() + .equals(other.postalCode, postalCode))); + } + + @override + int get hashCode => + runtimeType.hashCode ^ + const DeepCollectionEquality().hash(last4) ^ + const DeepCollectionEquality().hash(expiryMonth) ^ + const DeepCollectionEquality().hash(expiryYear) ^ + const DeepCollectionEquality().hash(brand) ^ + const DeepCollectionEquality().hash(complete) ^ + const DeepCollectionEquality().hash(postalCode); + + @JsonKey(ignore: true) + @override + _$CardFieldInputDetailsCardCopyWith<_CardFieldInputDetailsCard> + get copyWith => + __$CardFieldInputDetailsCardCopyWithImpl<_CardFieldInputDetailsCard>( + this, _$identity); + + @override + @optionalTypeArgs + TResult when( + TResult Function() $default, { + required TResult Function(String last4, int expiryMonth, int expiryYear, + CardBrand brand, bool complete, String? postalCode) + card, + required TResult Function(String token) cardFromToken, + }) { + return card(last4, expiryMonth, expiryYear, brand, complete, postalCode); + } + + @override + @optionalTypeArgs + TResult maybeWhen( + TResult Function()? $default, { + TResult Function(String last4, int expiryMonth, int expiryYear, + CardBrand brand, bool complete, String? postalCode)? + card, + TResult Function(String token)? cardFromToken, + required TResult orElse(), + }) { + if (card != null) { + return card(last4, expiryMonth, expiryYear, brand, complete, postalCode); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map( + TResult Function(_CardFieldInputDetailsDefault value) $default, { + required TResult Function(_CardFieldInputDetailsCard value) card, + required TResult Function(_CardFieldInputDetailsWithToken value) + cardFromToken, + }) { + return card(this); + } + + @override + @optionalTypeArgs + TResult maybeMap( + TResult Function(_CardFieldInputDetailsDefault value)? $default, { + TResult Function(_CardFieldInputDetailsCard value)? card, + TResult Function(_CardFieldInputDetailsWithToken value)? cardFromToken, + required TResult orElse(), + }) { + if (card != null) { + return card(this); + } + return orElse(); + } + + @override + Map toJson() { + return _$_$_CardFieldInputDetailsCardToJson(this)..['runtimeType'] = 'card'; + } +} + +abstract class _CardFieldInputDetailsCard implements CardFieldInputDetails { + const factory _CardFieldInputDetailsCard( + {required String last4, + required int expiryMonth, + required int expiryYear, + required CardBrand brand, + required bool complete, + required String? postalCode}) = _$_CardFieldInputDetailsCard; + + factory _CardFieldInputDetailsCard.fromJson(Map json) = + _$_CardFieldInputDetailsCard.fromJson; + + String get last4 => throw _privateConstructorUsedError; + int get expiryMonth => throw _privateConstructorUsedError; + int get expiryYear => throw _privateConstructorUsedError; + CardBrand get brand => throw _privateConstructorUsedError; + bool get complete => throw _privateConstructorUsedError; + String? get postalCode => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + _$CardFieldInputDetailsCardCopyWith<_CardFieldInputDetailsCard> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$CardFieldInputDetailsWithTokenCopyWith<$Res> { + factory _$CardFieldInputDetailsWithTokenCopyWith( + _CardFieldInputDetailsWithToken value, + $Res Function(_CardFieldInputDetailsWithToken) then) = + __$CardFieldInputDetailsWithTokenCopyWithImpl<$Res>; + $Res call({String token}); +} + +/// @nodoc +class __$CardFieldInputDetailsWithTokenCopyWithImpl<$Res> + extends _$CardFieldInputDetailsCopyWithImpl<$Res> + implements _$CardFieldInputDetailsWithTokenCopyWith<$Res> { + __$CardFieldInputDetailsWithTokenCopyWithImpl( + _CardFieldInputDetailsWithToken _value, + $Res Function(_CardFieldInputDetailsWithToken) _then) + : super(_value, (v) => _then(v as _CardFieldInputDetailsWithToken)); + + @override + _CardFieldInputDetailsWithToken get _value => + super._value as _CardFieldInputDetailsWithToken; + + @override + $Res call({ + Object? token = freezed, + }) { + return _then(_CardFieldInputDetailsWithToken( + token: token == freezed + ? _value.token + : token // ignore: cast_nullable_to_non_nullable + as String, + )); + } +} + +@JsonSerializable() + +/// @nodoc +class _$_CardFieldInputDetailsWithToken + implements _CardFieldInputDetailsWithToken { + const _$_CardFieldInputDetailsWithToken({required this.token}); + + factory _$_CardFieldInputDetailsWithToken.fromJson( + Map json) => + _$_$_CardFieldInputDetailsWithTokenFromJson(json); + + @override + final String token; + + @override + String toString() { + return 'CardFieldInputDetails.cardFromToken(token: $token)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is _CardFieldInputDetailsWithToken && + (identical(other.token, token) || + const DeepCollectionEquality().equals(other.token, token))); + } + + @override + int get hashCode => + runtimeType.hashCode ^ const DeepCollectionEquality().hash(token); + + @JsonKey(ignore: true) + @override + _$CardFieldInputDetailsWithTokenCopyWith<_CardFieldInputDetailsWithToken> + get copyWith => __$CardFieldInputDetailsWithTokenCopyWithImpl< + _CardFieldInputDetailsWithToken>(this, _$identity); + + @override + @optionalTypeArgs + TResult when( + TResult Function() $default, { + required TResult Function(String last4, int expiryMonth, int expiryYear, + CardBrand brand, bool complete, String? postalCode) + card, + required TResult Function(String token) cardFromToken, + }) { + return cardFromToken(token); + } + + @override + @optionalTypeArgs + TResult maybeWhen( + TResult Function()? $default, { + TResult Function(String last4, int expiryMonth, int expiryYear, + CardBrand brand, bool complete, String? postalCode)? + card, + TResult Function(String token)? cardFromToken, + required TResult orElse(), + }) { + if (cardFromToken != null) { + return cardFromToken(token); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map( + TResult Function(_CardFieldInputDetailsDefault value) $default, { + required TResult Function(_CardFieldInputDetailsCard value) card, + required TResult Function(_CardFieldInputDetailsWithToken value) + cardFromToken, + }) { + return cardFromToken(this); + } + + @override + @optionalTypeArgs + TResult maybeMap( + TResult Function(_CardFieldInputDetailsDefault value)? $default, { + TResult Function(_CardFieldInputDetailsCard value)? card, + TResult Function(_CardFieldInputDetailsWithToken value)? cardFromToken, + required TResult orElse(), + }) { + if (cardFromToken != null) { + return cardFromToken(this); + } + return orElse(); + } + + @override + Map toJson() { + return _$_$_CardFieldInputDetailsWithTokenToJson(this) + ..['runtimeType'] = 'cardFromToken'; + } +} + +abstract class _CardFieldInputDetailsWithToken + implements CardFieldInputDetails { + const factory _CardFieldInputDetailsWithToken({required String token}) = + _$_CardFieldInputDetailsWithToken; + + factory _CardFieldInputDetailsWithToken.fromJson(Map json) = + _$_CardFieldInputDetailsWithToken.fromJson; + + String get token => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + _$CardFieldInputDetailsWithTokenCopyWith<_CardFieldInputDetailsWithToken> + get copyWith => throw _privateConstructorUsedError; +} + +CardFieldFocusName _$CardFieldFocusNameFromJson(Map json) { + return _CardFieldFocusName.fromJson(json); +} + +/// @nodoc +class _$CardFieldFocusNameTearOff { + const _$CardFieldFocusNameTearOff(); + + _CardFieldFocusName call({CardFieldName? focusedField}) { + return _CardFieldFocusName( + focusedField: focusedField, + ); + } + + CardFieldFocusName fromJson(Map json) { + return CardFieldFocusName.fromJson(json); + } +} + +/// @nodoc +const $CardFieldFocusName = _$CardFieldFocusNameTearOff(); + +/// @nodoc +mixin _$CardFieldFocusName { + CardFieldName? get focusedField => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $CardFieldFocusNameCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $CardFieldFocusNameCopyWith<$Res> { + factory $CardFieldFocusNameCopyWith( + CardFieldFocusName value, $Res Function(CardFieldFocusName) then) = + _$CardFieldFocusNameCopyWithImpl<$Res>; + $Res call({CardFieldName? focusedField}); +} + +/// @nodoc +class _$CardFieldFocusNameCopyWithImpl<$Res> + implements $CardFieldFocusNameCopyWith<$Res> { + _$CardFieldFocusNameCopyWithImpl(this._value, this._then); + + final CardFieldFocusName _value; + // ignore: unused_field + final $Res Function(CardFieldFocusName) _then; + + @override + $Res call({ + Object? focusedField = freezed, + }) { + return _then(_value.copyWith( + focusedField: focusedField == freezed + ? _value.focusedField + : focusedField // ignore: cast_nullable_to_non_nullable + as CardFieldName?, + )); + } +} + +/// @nodoc +abstract class _$CardFieldFocusNameCopyWith<$Res> + implements $CardFieldFocusNameCopyWith<$Res> { + factory _$CardFieldFocusNameCopyWith( + _CardFieldFocusName value, $Res Function(_CardFieldFocusName) then) = + __$CardFieldFocusNameCopyWithImpl<$Res>; + @override + $Res call({CardFieldName? focusedField}); +} + +/// @nodoc +class __$CardFieldFocusNameCopyWithImpl<$Res> + extends _$CardFieldFocusNameCopyWithImpl<$Res> + implements _$CardFieldFocusNameCopyWith<$Res> { + __$CardFieldFocusNameCopyWithImpl( + _CardFieldFocusName _value, $Res Function(_CardFieldFocusName) _then) + : super(_value, (v) => _then(v as _CardFieldFocusName)); + + @override + _CardFieldFocusName get _value => super._value as _CardFieldFocusName; + + @override + $Res call({ + Object? focusedField = freezed, + }) { + return _then(_CardFieldFocusName( + focusedField: focusedField == freezed + ? _value.focusedField + : focusedField // ignore: cast_nullable_to_non_nullable + as CardFieldName?, + )); + } +} + +@JsonSerializable(explicitToJson: true) + +/// @nodoc +class _$_CardFieldFocusName implements _CardFieldFocusName { + _$_CardFieldFocusName({this.focusedField}); + + factory _$_CardFieldFocusName.fromJson(Map json) => + _$_$_CardFieldFocusNameFromJson(json); + + @override + final CardFieldName? focusedField; + + @override + String toString() { + return 'CardFieldFocusName(focusedField: $focusedField)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is _CardFieldFocusName && + (identical(other.focusedField, focusedField) || + const DeepCollectionEquality() + .equals(other.focusedField, focusedField))); + } + + @override + int get hashCode => + runtimeType.hashCode ^ const DeepCollectionEquality().hash(focusedField); + + @JsonKey(ignore: true) + @override + _$CardFieldFocusNameCopyWith<_CardFieldFocusName> get copyWith => + __$CardFieldFocusNameCopyWithImpl<_CardFieldFocusName>(this, _$identity); + + @override + Map toJson() { + return _$_$_CardFieldFocusNameToJson(this); + } +} + +abstract class _CardFieldFocusName implements CardFieldFocusName { + factory _CardFieldFocusName({CardFieldName? focusedField}) = + _$_CardFieldFocusName; + + factory _CardFieldFocusName.fromJson(Map json) = + _$_CardFieldFocusName.fromJson; + + @override + CardFieldName? get focusedField => throw _privateConstructorUsedError; + @override + @JsonKey(ignore: true) + _$CardFieldFocusNameCopyWith<_CardFieldFocusName> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/stripe_platform_interface/lib/src/models/payment_methods.g.dart b/stripe_platform_interface/lib/src/models/payment_methods.g.dart new file mode 100644 index 000000000..3f7bd719b --- /dev/null +++ b/stripe_platform_interface/lib/src/models/payment_methods.g.dart @@ -0,0 +1,320 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'payment_methods.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +_$_PaymentMethod _$_$_PaymentMethodFromJson(Map json) { + return _$_PaymentMethod( + id: json['id'] as String, + liveMode: json['liveMode'] as bool, + customerId: json['customerId'] as String, + billingDetails: + BillingDetails.fromJson(json['billingDetails'] as Map), + type: _$enumDecode(_$PaymentMethodTypeEnumMap, json['type']), + auBecsDebit: + AuBecsDebit.fromJson(json['auBecsDebit'] as Map), + bacsDebit: BacsDebit.fromJson(json['bacsDebit'] as Map), + card: Card.fromJson(json['card'] as Map), + fpx: Fpx.fromJson(json['fpx'] as Map), + ideal: Ideal.fromJson(json['ideal'] as Map), + sepaDebit: SepaDebit.fromJson(json['sepaDebit'] as Map), + sofort: Sofort.fromJson(json['sofort'] as Map), + upi: Upi.fromJson(json['upi'] as Map), + ); +} + +Map _$_$_PaymentMethodToJson(_$_PaymentMethod instance) => + { + 'id': instance.id, + 'liveMode': instance.liveMode, + 'customerId': instance.customerId, + 'billingDetails': instance.billingDetails.toJson(), + 'type': _$PaymentMethodTypeEnumMap[instance.type], + 'auBecsDebit': instance.auBecsDebit.toJson(), + 'bacsDebit': instance.bacsDebit.toJson(), + 'card': instance.card.toJson(), + 'fpx': instance.fpx.toJson(), + 'ideal': instance.ideal.toJson(), + 'sepaDebit': instance.sepaDebit.toJson(), + 'sofort': instance.sofort.toJson(), + 'upi': instance.upi.toJson(), + }; + +K _$enumDecode( + Map enumValues, + Object? source, { + K? unknownValue, +}) { + if (source == null) { + throw ArgumentError( + 'A value must be provided. Supported values: ' + '${enumValues.values.join(', ')}', + ); + } + + return enumValues.entries.singleWhere( + (e) => e.value == source, + orElse: () { + if (unknownValue == null) { + throw ArgumentError( + '`$source` is not one of the supported values: ' + '${enumValues.values.join(', ')}', + ); + } + return MapEntry(unknownValue, enumValues.values.first); + }, + ).key; +} + +const _$PaymentMethodTypeEnumMap = { + PaymentMethodType.AfterpayClearpay: 'AfterpayClearpay', + PaymentMethodType.Card: 'Card', + PaymentMethodType.Alipay: 'Alipay', + PaymentMethodType.Grabpay: 'Grabpay', + PaymentMethodType.Ideal: 'Ideal', + PaymentMethodType.Fpx: 'Fpx', + PaymentMethodType.CardPresent: 'CardPresent', + PaymentMethodType.SepaDebit: 'SepaDebit', + PaymentMethodType.AuBecsDebit: 'AuBecsDebit', + PaymentMethodType.BacsDebit: 'BacsDebit', + PaymentMethodType.Giropay: 'Giropay', + PaymentMethodType.P24: 'P24', + PaymentMethodType.Eps: 'Eps', + PaymentMethodType.Bancontact: 'Bancontact', + PaymentMethodType.Oxxo: 'Oxxo', + PaymentMethodType.Sofort: 'Sofort', + PaymentMethodType.Upi: 'Upi', + PaymentMethodType.Unknown: 'Unknown', +}; + +_$_BillingDetails _$_$_BillingDetailsFromJson(Map json) { + return _$_BillingDetails( + email: json['email'] as String?, + phone: json['phone'] as String?, + name: json['name'] as String?, + adressPostalCode: json['adressPostalCode'] as String?, + addressCity: json['addressCity'] as String?, + addressCountry: json['addressCountry'] as String?, + addressLine1: json['addressLine1'] as String?, + addressLine2: json['addressLine2'] as String?, + addressLine3: json['addressLine3'] as String?, + ); +} + +Map _$_$_BillingDetailsToJson(_$_BillingDetails instance) => + { + 'email': instance.email, + 'phone': instance.phone, + 'name': instance.name, + 'adressPostalCode': instance.adressPostalCode, + 'addressCity': instance.addressCity, + 'addressCountry': instance.addressCountry, + 'addressLine1': instance.addressLine1, + 'addressLine2': instance.addressLine2, + 'addressLine3': instance.addressLine3, + }; + +_$_AuBecsDebit _$_$_AuBecsDebitFromJson(Map json) { + return _$_AuBecsDebit( + fingerprint: json['fingerprint'] as String?, + last4: json['last4'] as String?, + bsbNumber: json['bsbNumber'] as String?, + ); +} + +Map _$_$_AuBecsDebitToJson(_$_AuBecsDebit instance) => + { + 'fingerprint': instance.fingerprint, + 'last4': instance.last4, + 'bsbNumber': instance.bsbNumber, + }; + +_$_BacsDebit _$_$_BacsDebitFromJson(Map json) { + return _$_BacsDebit( + sortCode: json['sortCode'] as String?, + fingerprint: json['fingerprint'] as String?, + last4: json['last4'] as String?, + ); +} + +Map _$_$_BacsDebitToJson(_$_BacsDebit instance) => + { + 'sortCode': instance.sortCode, + 'fingerprint': instance.fingerprint, + 'last4': instance.last4, + }; + +_$_Card _$_$_CardFromJson(Map json) { + return _$_Card( + brand: _$enumDecodeNullable(_$CardBrandEnumMap, json['brand']), + country: json['country'] as String?, + expYear: json['expYear'] as String?, + expMonth: json['expMonth'] as String?, + fingerprint: json['fingerprint'] as String?, + funding: json['funding'] as String?, + last4: json['last4'] as String?, + ); +} + +Map _$_$_CardToJson(_$_Card instance) => { + 'brand': _$CardBrandEnumMap[instance.brand], + 'country': instance.country, + 'expYear': instance.expYear, + 'expMonth': instance.expMonth, + 'fingerprint': instance.fingerprint, + 'funding': instance.funding, + 'last4': instance.last4, + }; + +K? _$enumDecodeNullable( + Map enumValues, + dynamic source, { + K? unknownValue, +}) { + if (source == null) { + return null; + } + return _$enumDecode(enumValues, source, unknownValue: unknownValue); +} + +const _$CardBrandEnumMap = { + CardBrand.american: 'american', + CardBrand.dinersClub: 'dinersClub', + CardBrand.discover: 'discover', + CardBrand.jCB: 'jCB', + CardBrand.masterCard: 'masterCard', + CardBrand.unionPay: 'unionPay', + CardBrand.visa: 'visa', + CardBrand.unknown: 'unknown', +}; + +_$_Fpx _$_$_FpxFromJson(Map json) { + return _$_Fpx( + bank: json['bank'] as String?, + ); +} + +Map _$_$_FpxToJson(_$_Fpx instance) => { + 'bank': instance.bank, + }; + +_$_Ideal _$_$_IdealFromJson(Map json) { + return _$_Ideal( + bankIdentifierCode: json['bankIdentifierCode'] as String?, + bank: json['bank'] as String?, + ); +} + +Map _$_$_IdealToJson(_$_Ideal instance) => { + 'bankIdentifierCode': instance.bankIdentifierCode, + 'bank': instance.bank, + }; + +_$_SepaDebit _$_$_SepaDebitFromJson(Map json) { + return _$_SepaDebit( + country: json['country'] as String?, + bankCode: json['bankCode'] as String?, + fingerprint: json['fingerprint'] as String?, + last4: json['last4'] as String?, + ); +} + +Map _$_$_SepaDebitToJson(_$_SepaDebit instance) => + { + 'country': instance.country, + 'bankCode': instance.bankCode, + 'fingerprint': instance.fingerprint, + 'last4': instance.last4, + }; + +_$_Sofort _$_$_SofortFromJson(Map json) { + return _$_Sofort( + country: json['country'] as String?, + ); +} + +Map _$_$_SofortToJson(_$_Sofort instance) => { + 'country': instance.country, + }; + +_$_Upi _$_$_UpiFromJson(Map json) { + return _$_Upi( + vpa: json['vpa'] as String?, + ); +} + +Map _$_$_UpiToJson(_$_Upi instance) => { + 'vpa': instance.vpa, + }; + +_$_PaymentMethodParamsDefault _$_$_PaymentMethodParamsDefaultFromJson( + Map json) { + return _$_PaymentMethodParamsDefault( + json['type'] as String, + ); +} + +Map _$_$_PaymentMethodParamsDefaultToJson( + _$_PaymentMethodParamsDefault instance) => + { + 'type': instance.type, + }; + +_$_PaymentMethodParamsCard _$_$_PaymentMethodParamsCardFromJson( + Map json) { + return _$_PaymentMethodParamsCard( + type: json['type'] as String? ?? 'Card', + cardDetails: CardFieldInputDetails.fromJson( + json['cardDetails'] as Map), + setupFutureUsage: _$enumDecodeNullable( + _$PaymentIntentsFutureUsageEnumMap, json['setupFutureUsage']), + ); +} + +Map _$_$_PaymentMethodParamsCardToJson( + _$_PaymentMethodParamsCard instance) => + { + 'type': instance.type, + 'cardDetails': instance.cardDetails.toJson(), + 'setupFutureUsage': + _$PaymentIntentsFutureUsageEnumMap[instance.setupFutureUsage], + }; + +const _$PaymentIntentsFutureUsageEnumMap = { + PaymentIntentsFutureUsage.OffSession: 'OffSession', + PaymentIntentsFutureUsage.OnSession: 'OnSession', +}; + +_$_PaymentMethodParamsCardWithMethodId + _$_$_PaymentMethodParamsCardWithMethodIdFromJson( + Map json) { + return _$_PaymentMethodParamsCardWithMethodId( + type: json['type'] as String? ?? 'Card', + paymentMethodId: json['paymentMethodId'] as String, + cvc: json['cvc'] as String?, + ); +} + +Map _$_$_PaymentMethodParamsCardWithMethodIdToJson( + _$_PaymentMethodParamsCardWithMethodId instance) => + { + 'type': instance.type, + 'paymentMethodId': instance.paymentMethodId, + 'cvc': instance.cvc, + }; + +_$_PaymentMethodParamsAli _$_$_PaymentMethodParamsAliFromJson( + Map json) { + return _$_PaymentMethodParamsAli( + type: json['type'] as String? ?? 'Alipay', + ); +} + +Map _$_$_PaymentMethodParamsAliToJson( + _$_PaymentMethodParamsAli instance) => + { + 'type': instance.type, + }; From 13065c56bbe0a83fc79eb86f83f2033a17206fe6 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Mon, 5 Apr 2021 16:35:37 +0200 Subject: [PATCH 9/9] card with token, iOS impl --- .../screens/setup_future_payment_screen.dart | 5 +- stripe_ios/ios/Classes/Mappers.swift | 5 + .../lib/src/models/card_field_input.dart | 11 + .../src/models/card_field_input.freezed.dart | 151 ++++++++ .../lib/src/models/card_field_input.g.dart | 12 + .../lib/src/models/payment_methods.dart | 7 + .../src/models/payment_methods.freezed.dart | 326 ++++++++++++++++++ .../lib/src/models/payment_methods.g.dart | 18 + 8 files changed, 532 insertions(+), 3 deletions(-) diff --git a/stripe/example/lib/screens/setup_future_payment_screen.dart b/stripe/example/lib/screens/setup_future_payment_screen.dart index b9f2ccf85..c8c47e07e 100644 --- a/stripe/example/lib/screens/setup_future_payment_screen.dart +++ b/stripe/example/lib/screens/setup_future_payment_screen.dart @@ -45,9 +45,8 @@ class _SetupFuturePaymentScreenState extends State { // just for testing purposes final test = await Stripe.instance.confirmPaymentMethod( 'paymentIntentClientSecret', - PaymentMethodParams.card( - cardDetails: CardFieldInputDetails.cardFromToken( - token: 'examplePaymentMethodToken'))); + PaymentMethodParams.cardFromToken( + cardDetails: CardTokenDetails(token: 'examplePaymentMethodToken'))); print(test); if (_card == null) { return; diff --git a/stripe_ios/ios/Classes/Mappers.swift b/stripe_ios/ios/Classes/Mappers.swift index c85e1551e..865cdaabd 100644 --- a/stripe_ios/ios/Classes/Mappers.swift +++ b/stripe_ios/ios/Classes/Mappers.swift @@ -149,6 +149,11 @@ class Mappers { } class func mapToPaymentMethodCardParams(params: NSDictionary) -> STPPaymentMethodCardParams { + if let token = params["token"] { + let methodParams = STPPaymentMethodCardParams() + methodParams.token = RCTConvert.nsString(token) + return methodParams + } let cardSourceParams = STPCardParams() cardSourceParams.number = RCTConvert.nsString(params["number"]) cardSourceParams.cvc = RCTConvert.nsString(params["cvc"]) diff --git a/stripe_platform_interface/lib/src/models/card_field_input.dart b/stripe_platform_interface/lib/src/models/card_field_input.dart index ce46f4b0a..2a1ab2180 100644 --- a/stripe_platform_interface/lib/src/models/card_field_input.dart +++ b/stripe_platform_interface/lib/src/models/card_field_input.dart @@ -39,6 +39,17 @@ class ColorKey { } } +@freezed +class CardTokenDetails with _$CardTokenDetails { + @JsonSerializable(explicitToJson: true) + const factory CardTokenDetails({ + required String token, + }) = _CardTokenDetails; + + factory CardTokenDetails.fromJson(Map json) => + _$CardTokenDetailsFromJson(json); +} + @freezed class CardFieldInputDetails with _$CardFieldInputDetails { @JsonSerializable(explicitToJson: true) diff --git a/stripe_platform_interface/lib/src/models/card_field_input.freezed.dart b/stripe_platform_interface/lib/src/models/card_field_input.freezed.dart index a19287cce..470590b23 100644 --- a/stripe_platform_interface/lib/src/models/card_field_input.freezed.dart +++ b/stripe_platform_interface/lib/src/models/card_field_input.freezed.dart @@ -326,6 +326,157 @@ abstract class _CardDecoration implements CardDecoration { throw _privateConstructorUsedError; } +CardTokenDetails _$CardTokenDetailsFromJson(Map json) { + return _CardTokenDetails.fromJson(json); +} + +/// @nodoc +class _$CardTokenDetailsTearOff { + const _$CardTokenDetailsTearOff(); + + _CardTokenDetails call({required String token}) { + return _CardTokenDetails( + token: token, + ); + } + + CardTokenDetails fromJson(Map json) { + return CardTokenDetails.fromJson(json); + } +} + +/// @nodoc +const $CardTokenDetails = _$CardTokenDetailsTearOff(); + +/// @nodoc +mixin _$CardTokenDetails { + String get token => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $CardTokenDetailsCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $CardTokenDetailsCopyWith<$Res> { + factory $CardTokenDetailsCopyWith( + CardTokenDetails value, $Res Function(CardTokenDetails) then) = + _$CardTokenDetailsCopyWithImpl<$Res>; + $Res call({String token}); +} + +/// @nodoc +class _$CardTokenDetailsCopyWithImpl<$Res> + implements $CardTokenDetailsCopyWith<$Res> { + _$CardTokenDetailsCopyWithImpl(this._value, this._then); + + final CardTokenDetails _value; + // ignore: unused_field + final $Res Function(CardTokenDetails) _then; + + @override + $Res call({ + Object? token = freezed, + }) { + return _then(_value.copyWith( + token: token == freezed + ? _value.token + : token // ignore: cast_nullable_to_non_nullable + as String, + )); + } +} + +/// @nodoc +abstract class _$CardTokenDetailsCopyWith<$Res> + implements $CardTokenDetailsCopyWith<$Res> { + factory _$CardTokenDetailsCopyWith( + _CardTokenDetails value, $Res Function(_CardTokenDetails) then) = + __$CardTokenDetailsCopyWithImpl<$Res>; + @override + $Res call({String token}); +} + +/// @nodoc +class __$CardTokenDetailsCopyWithImpl<$Res> + extends _$CardTokenDetailsCopyWithImpl<$Res> + implements _$CardTokenDetailsCopyWith<$Res> { + __$CardTokenDetailsCopyWithImpl( + _CardTokenDetails _value, $Res Function(_CardTokenDetails) _then) + : super(_value, (v) => _then(v as _CardTokenDetails)); + + @override + _CardTokenDetails get _value => super._value as _CardTokenDetails; + + @override + $Res call({ + Object? token = freezed, + }) { + return _then(_CardTokenDetails( + token: token == freezed + ? _value.token + : token // ignore: cast_nullable_to_non_nullable + as String, + )); + } +} + +@JsonSerializable(explicitToJson: true) + +/// @nodoc +class _$_CardTokenDetails implements _CardTokenDetails { + const _$_CardTokenDetails({required this.token}); + + factory _$_CardTokenDetails.fromJson(Map json) => + _$_$_CardTokenDetailsFromJson(json); + + @override + final String token; + + @override + String toString() { + return 'CardTokenDetails(token: $token)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is _CardTokenDetails && + (identical(other.token, token) || + const DeepCollectionEquality().equals(other.token, token))); + } + + @override + int get hashCode => + runtimeType.hashCode ^ const DeepCollectionEquality().hash(token); + + @JsonKey(ignore: true) + @override + _$CardTokenDetailsCopyWith<_CardTokenDetails> get copyWith => + __$CardTokenDetailsCopyWithImpl<_CardTokenDetails>(this, _$identity); + + @override + Map toJson() { + return _$_$_CardTokenDetailsToJson(this); + } +} + +abstract class _CardTokenDetails implements CardTokenDetails { + const factory _CardTokenDetails({required String token}) = + _$_CardTokenDetails; + + factory _CardTokenDetails.fromJson(Map json) = + _$_CardTokenDetails.fromJson; + + @override + String get token => throw _privateConstructorUsedError; + @override + @JsonKey(ignore: true) + _$CardTokenDetailsCopyWith<_CardTokenDetails> get copyWith => + throw _privateConstructorUsedError; +} + CardFieldInputDetails _$CardFieldInputDetailsFromJson( Map json) { return _CardFieldInputDetails.fromJson(json); diff --git a/stripe_platform_interface/lib/src/models/card_field_input.g.dart b/stripe_platform_interface/lib/src/models/card_field_input.g.dart index e6c9b23af..2ce065869 100644 --- a/stripe_platform_interface/lib/src/models/card_field_input.g.dart +++ b/stripe_platform_interface/lib/src/models/card_field_input.g.dart @@ -27,6 +27,18 @@ Map _$_$_CardDecorationToJson(_$_CardDecoration instance) => 'textErrorColor': ColorKey.toJson(instance.textErrorColor), }; +_$_CardTokenDetails _$_$_CardTokenDetailsFromJson(Map json) { + return _$_CardTokenDetails( + token: json['token'] as String, + ); +} + +Map _$_$_CardTokenDetailsToJson( + _$_CardTokenDetails instance) => + { + 'token': instance.token, + }; + _$_CardFieldInputDetails _$_$_CardFieldInputDetailsFromJson( Map json) { return _$_CardFieldInputDetails( diff --git a/stripe_platform_interface/lib/src/models/payment_methods.dart b/stripe_platform_interface/lib/src/models/payment_methods.dart index 7b8f08f1d..b42357c08 100644 --- a/stripe_platform_interface/lib/src/models/payment_methods.dart +++ b/stripe_platform_interface/lib/src/models/payment_methods.dart @@ -172,6 +172,13 @@ class PaymentMethodParams with _$PaymentMethodParams { PaymentIntentsFutureUsage? setupFutureUsage, }) = _PaymentMethodParamsCard; + @JsonSerializable(explicitToJson: true) + @FreezedUnionValue('Card') + const factory PaymentMethodParams.cardFromToken({ + required CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage, + }) = _PaymentMethodParamsCardWithToken; + @JsonSerializable(explicitToJson: true) @FreezedUnionValue('CardId') const factory PaymentMethodParams.cardFromMethodId({ diff --git a/stripe_platform_interface/lib/src/models/payment_methods.freezed.dart b/stripe_platform_interface/lib/src/models/payment_methods.freezed.dart index 4b1c89635..7ef58e94a 100644 --- a/stripe_platform_interface/lib/src/models/payment_methods.freezed.dart +++ b/stripe_platform_interface/lib/src/models/payment_methods.freezed.dart @@ -2408,6 +2408,8 @@ PaymentMethodParams _$PaymentMethodParamsFromJson(Map json) { return _PaymentMethodParamsDefault.fromJson(json); case 'Card': return _PaymentMethodParamsCard.fromJson(json); + case 'Card': + return _PaymentMethodParamsCardWithToken.fromJson(json); case 'CardId': return _PaymentMethodParamsCardWithMethodId.fromJson(json); case 'Alipay': @@ -2449,6 +2451,15 @@ class _$PaymentMethodParamsTearOff { ); } + _PaymentMethodParamsCardWithToken cardFromToken( + {required CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage}) { + return _PaymentMethodParamsCardWithToken( + cardDetails: cardDetails, + setupFutureUsage: setupFutureUsage, + ); + } + _PaymentMethodParamsCardWithMethodId cardFromMethodId( {required String paymentMethodId, String? cvc}) { return _PaymentMethodParamsCardWithMethodId( @@ -2517,6 +2528,9 @@ mixin _$PaymentMethodParams { required TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage) card, + required TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage) + cardFromToken, required TResult Function(String paymentMethodId, String? cvc) cardFromMethodId, required TResult Function() aliPay, @@ -2535,6 +2549,9 @@ mixin _$PaymentMethodParams { TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage)? card, + TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage)? + cardFromToken, TResult Function(String paymentMethodId, String? cvc)? cardFromMethodId, TResult Function()? aliPay, TResult Function(BillingDetails? billingDetails, String? bankName)? ideal, @@ -2550,6 +2567,8 @@ mixin _$PaymentMethodParams { TResult map( TResult Function(_PaymentMethodParamsDefault value) $default, { required TResult Function(_PaymentMethodParamsCard value) card, + required TResult Function(_PaymentMethodParamsCardWithToken value) + cardFromToken, required TResult Function(_PaymentMethodParamsCardWithMethodId value) cardFromMethodId, required TResult Function(_PaymentMethodParamsAli value) aliPay, @@ -2566,6 +2585,7 @@ mixin _$PaymentMethodParams { TResult maybeMap( TResult Function(_PaymentMethodParamsDefault value)? $default, { TResult Function(_PaymentMethodParamsCard value)? card, + TResult Function(_PaymentMethodParamsCardWithToken value)? cardFromToken, TResult Function(_PaymentMethodParamsCardWithMethodId value)? cardFromMethodId, TResult Function(_PaymentMethodParamsAli value)? aliPay, @@ -2674,6 +2694,9 @@ class _$_PaymentMethodParamsDefault implements _PaymentMethodParamsDefault { required TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage) card, + required TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage) + cardFromToken, required TResult Function(String paymentMethodId, String? cvc) cardFromMethodId, required TResult Function() aliPay, @@ -2695,6 +2718,9 @@ class _$_PaymentMethodParamsDefault implements _PaymentMethodParamsDefault { TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage)? card, + TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage)? + cardFromToken, TResult Function(String paymentMethodId, String? cvc)? cardFromMethodId, TResult Function()? aliPay, TResult Function(BillingDetails? billingDetails, String? bankName)? ideal, @@ -2716,6 +2742,8 @@ class _$_PaymentMethodParamsDefault implements _PaymentMethodParamsDefault { TResult map( TResult Function(_PaymentMethodParamsDefault value) $default, { required TResult Function(_PaymentMethodParamsCard value) card, + required TResult Function(_PaymentMethodParamsCardWithToken value) + cardFromToken, required TResult Function(_PaymentMethodParamsCardWithMethodId value) cardFromMethodId, required TResult Function(_PaymentMethodParamsAli value) aliPay, @@ -2735,6 +2763,7 @@ class _$_PaymentMethodParamsDefault implements _PaymentMethodParamsDefault { TResult maybeMap( TResult Function(_PaymentMethodParamsDefault value)? $default, { TResult Function(_PaymentMethodParamsCard value)? card, + TResult Function(_PaymentMethodParamsCardWithToken value)? cardFromToken, TResult Function(_PaymentMethodParamsCardWithMethodId value)? cardFromMethodId, TResult Function(_PaymentMethodParamsAli value)? aliPay, @@ -2872,6 +2901,9 @@ class _$_PaymentMethodParamsCard implements _PaymentMethodParamsCard { required TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage) card, + required TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage) + cardFromToken, required TResult Function(String paymentMethodId, String? cvc) cardFromMethodId, required TResult Function() aliPay, @@ -2893,6 +2925,9 @@ class _$_PaymentMethodParamsCard implements _PaymentMethodParamsCard { TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage)? card, + TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage)? + cardFromToken, TResult Function(String paymentMethodId, String? cvc)? cardFromMethodId, TResult Function()? aliPay, TResult Function(BillingDetails? billingDetails, String? bankName)? ideal, @@ -2914,6 +2949,8 @@ class _$_PaymentMethodParamsCard implements _PaymentMethodParamsCard { TResult map( TResult Function(_PaymentMethodParamsDefault value) $default, { required TResult Function(_PaymentMethodParamsCard value) card, + required TResult Function(_PaymentMethodParamsCardWithToken value) + cardFromToken, required TResult Function(_PaymentMethodParamsCardWithMethodId value) cardFromMethodId, required TResult Function(_PaymentMethodParamsAli value) aliPay, @@ -2933,6 +2970,7 @@ class _$_PaymentMethodParamsCard implements _PaymentMethodParamsCard { TResult maybeMap( TResult Function(_PaymentMethodParamsDefault value)? $default, { TResult Function(_PaymentMethodParamsCard value)? card, + TResult Function(_PaymentMethodParamsCardWithToken value)? cardFromToken, TResult Function(_PaymentMethodParamsCardWithMethodId value)? cardFromMethodId, TResult Function(_PaymentMethodParamsAli value)? aliPay, @@ -2973,6 +3011,222 @@ abstract class _PaymentMethodParamsCard implements PaymentMethodParams { throw _privateConstructorUsedError; } +/// @nodoc +abstract class _$PaymentMethodParamsCardWithTokenCopyWith<$Res> { + factory _$PaymentMethodParamsCardWithTokenCopyWith( + _PaymentMethodParamsCardWithToken value, + $Res Function(_PaymentMethodParamsCardWithToken) then) = + __$PaymentMethodParamsCardWithTokenCopyWithImpl<$Res>; + $Res call( + {CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage}); + + $CardTokenDetailsCopyWith<$Res> get cardDetails; +} + +/// @nodoc +class __$PaymentMethodParamsCardWithTokenCopyWithImpl<$Res> + extends _$PaymentMethodParamsCopyWithImpl<$Res> + implements _$PaymentMethodParamsCardWithTokenCopyWith<$Res> { + __$PaymentMethodParamsCardWithTokenCopyWithImpl( + _PaymentMethodParamsCardWithToken _value, + $Res Function(_PaymentMethodParamsCardWithToken) _then) + : super(_value, (v) => _then(v as _PaymentMethodParamsCardWithToken)); + + @override + _PaymentMethodParamsCardWithToken get _value => + super._value as _PaymentMethodParamsCardWithToken; + + @override + $Res call({ + Object? cardDetails = freezed, + Object? setupFutureUsage = freezed, + }) { + return _then(_PaymentMethodParamsCardWithToken( + cardDetails: cardDetails == freezed + ? _value.cardDetails + : cardDetails // ignore: cast_nullable_to_non_nullable + as CardTokenDetails, + setupFutureUsage: setupFutureUsage == freezed + ? _value.setupFutureUsage + : setupFutureUsage // ignore: cast_nullable_to_non_nullable + as PaymentIntentsFutureUsage?, + )); + } + + @override + $CardTokenDetailsCopyWith<$Res> get cardDetails { + return $CardTokenDetailsCopyWith<$Res>(_value.cardDetails, (value) { + return _then(_value.copyWith(cardDetails: value)); + }); + } +} + +@JsonSerializable(explicitToJson: true) +@FreezedUnionValue('Card') + +/// @nodoc +class _$_PaymentMethodParamsCardWithToken + implements _PaymentMethodParamsCardWithToken { + const _$_PaymentMethodParamsCardWithToken( + {required this.cardDetails, this.setupFutureUsage}); + + factory _$_PaymentMethodParamsCardWithToken.fromJson( + Map json) => + _$_$_PaymentMethodParamsCardWithTokenFromJson(json); + + @override + final CardTokenDetails cardDetails; + @override + final PaymentIntentsFutureUsage? setupFutureUsage; + + @override + String toString() { + return 'PaymentMethodParams.cardFromToken(cardDetails: $cardDetails, setupFutureUsage: $setupFutureUsage)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is _PaymentMethodParamsCardWithToken && + (identical(other.cardDetails, cardDetails) || + const DeepCollectionEquality() + .equals(other.cardDetails, cardDetails)) && + (identical(other.setupFutureUsage, setupFutureUsage) || + const DeepCollectionEquality() + .equals(other.setupFutureUsage, setupFutureUsage))); + } + + @override + int get hashCode => + runtimeType.hashCode ^ + const DeepCollectionEquality().hash(cardDetails) ^ + const DeepCollectionEquality().hash(setupFutureUsage); + + @JsonKey(ignore: true) + @override + _$PaymentMethodParamsCardWithTokenCopyWith<_PaymentMethodParamsCardWithToken> + get copyWith => __$PaymentMethodParamsCardWithTokenCopyWithImpl< + _PaymentMethodParamsCardWithToken>(this, _$identity); + + @override + @optionalTypeArgs + TResult when( + TResult Function(String type) $default, { + required TResult Function(CardFieldInputDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage) + card, + required TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage) + cardFromToken, + required TResult Function(String paymentMethodId, String? cvc) + cardFromMethodId, + required TResult Function() aliPay, + required TResult Function(BillingDetails? billingDetails, String? bankName) + ideal, + required TResult Function(BillingDetails billingDetails) bankContact, + required TResult Function(BillingDetails billingDetails) giroPay, + required TResult Function(BillingDetails billingDetails) eps, + required TResult Function(BillingDetails billingDetails) grabPay, + required TResult Function(BillingDetails billingDetails) p24, + }) { + return cardFromToken(cardDetails, setupFutureUsage); + } + + @override + @optionalTypeArgs + TResult maybeWhen( + TResult Function(String type)? $default, { + TResult Function(CardFieldInputDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage)? + card, + TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage)? + cardFromToken, + TResult Function(String paymentMethodId, String? cvc)? cardFromMethodId, + TResult Function()? aliPay, + TResult Function(BillingDetails? billingDetails, String? bankName)? ideal, + TResult Function(BillingDetails billingDetails)? bankContact, + TResult Function(BillingDetails billingDetails)? giroPay, + TResult Function(BillingDetails billingDetails)? eps, + TResult Function(BillingDetails billingDetails)? grabPay, + TResult Function(BillingDetails billingDetails)? p24, + required TResult orElse(), + }) { + if (cardFromToken != null) { + return cardFromToken(cardDetails, setupFutureUsage); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map( + TResult Function(_PaymentMethodParamsDefault value) $default, { + required TResult Function(_PaymentMethodParamsCard value) card, + required TResult Function(_PaymentMethodParamsCardWithToken value) + cardFromToken, + required TResult Function(_PaymentMethodParamsCardWithMethodId value) + cardFromMethodId, + required TResult Function(_PaymentMethodParamsAli value) aliPay, + required TResult Function(_PaymentMethodParamsIdeal value) ideal, + required TResult Function(_PaymentMethodParamsBankContact value) + bankContact, + required TResult Function(_PaymentMethodParamsGiroPay value) giroPay, + required TResult Function(_PaymentMethodParamsEps value) eps, + required TResult Function(_PaymentMethodParamsPay value) grabPay, + required TResult Function(_PaymentMethodParamsP24 value) p24, + }) { + return cardFromToken(this); + } + + @override + @optionalTypeArgs + TResult maybeMap( + TResult Function(_PaymentMethodParamsDefault value)? $default, { + TResult Function(_PaymentMethodParamsCard value)? card, + TResult Function(_PaymentMethodParamsCardWithToken value)? cardFromToken, + TResult Function(_PaymentMethodParamsCardWithMethodId value)? + cardFromMethodId, + TResult Function(_PaymentMethodParamsAli value)? aliPay, + TResult Function(_PaymentMethodParamsIdeal value)? ideal, + TResult Function(_PaymentMethodParamsBankContact value)? bankContact, + TResult Function(_PaymentMethodParamsGiroPay value)? giroPay, + TResult Function(_PaymentMethodParamsEps value)? eps, + TResult Function(_PaymentMethodParamsPay value)? grabPay, + TResult Function(_PaymentMethodParamsP24 value)? p24, + required TResult orElse(), + }) { + if (cardFromToken != null) { + return cardFromToken(this); + } + return orElse(); + } + + @override + Map toJson() { + return _$_$_PaymentMethodParamsCardWithTokenToJson(this)..['type'] = 'Card'; + } +} + +abstract class _PaymentMethodParamsCardWithToken + implements PaymentMethodParams { + const factory _PaymentMethodParamsCardWithToken( + {required CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage}) = + _$_PaymentMethodParamsCardWithToken; + + factory _PaymentMethodParamsCardWithToken.fromJson( + Map json) = _$_PaymentMethodParamsCardWithToken.fromJson; + + CardTokenDetails get cardDetails => throw _privateConstructorUsedError; + PaymentIntentsFutureUsage? get setupFutureUsage => + throw _privateConstructorUsedError; + @JsonKey(ignore: true) + _$PaymentMethodParamsCardWithTokenCopyWith<_PaymentMethodParamsCardWithToken> + get copyWith => throw _privateConstructorUsedError; +} + /// @nodoc abstract class _$PaymentMethodParamsCardWithMethodIdCopyWith<$Res> { factory _$PaymentMethodParamsCardWithMethodIdCopyWith( @@ -3067,6 +3321,9 @@ class _$_PaymentMethodParamsCardWithMethodId required TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage) card, + required TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage) + cardFromToken, required TResult Function(String paymentMethodId, String? cvc) cardFromMethodId, required TResult Function() aliPay, @@ -3088,6 +3345,9 @@ class _$_PaymentMethodParamsCardWithMethodId TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage)? card, + TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage)? + cardFromToken, TResult Function(String paymentMethodId, String? cvc)? cardFromMethodId, TResult Function()? aliPay, TResult Function(BillingDetails? billingDetails, String? bankName)? ideal, @@ -3109,6 +3369,8 @@ class _$_PaymentMethodParamsCardWithMethodId TResult map( TResult Function(_PaymentMethodParamsDefault value) $default, { required TResult Function(_PaymentMethodParamsCard value) card, + required TResult Function(_PaymentMethodParamsCardWithToken value) + cardFromToken, required TResult Function(_PaymentMethodParamsCardWithMethodId value) cardFromMethodId, required TResult Function(_PaymentMethodParamsAli value) aliPay, @@ -3128,6 +3390,7 @@ class _$_PaymentMethodParamsCardWithMethodId TResult maybeMap( TResult Function(_PaymentMethodParamsDefault value)? $default, { TResult Function(_PaymentMethodParamsCard value)? card, + TResult Function(_PaymentMethodParamsCardWithToken value)? cardFromToken, TResult Function(_PaymentMethodParamsCardWithMethodId value)? cardFromMethodId, TResult Function(_PaymentMethodParamsAli value)? aliPay, @@ -3219,6 +3482,9 @@ class _$_PaymentMethodParamsAli implements _PaymentMethodParamsAli { required TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage) card, + required TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage) + cardFromToken, required TResult Function(String paymentMethodId, String? cvc) cardFromMethodId, required TResult Function() aliPay, @@ -3240,6 +3506,9 @@ class _$_PaymentMethodParamsAli implements _PaymentMethodParamsAli { TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage)? card, + TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage)? + cardFromToken, TResult Function(String paymentMethodId, String? cvc)? cardFromMethodId, TResult Function()? aliPay, TResult Function(BillingDetails? billingDetails, String? bankName)? ideal, @@ -3261,6 +3530,8 @@ class _$_PaymentMethodParamsAli implements _PaymentMethodParamsAli { TResult map( TResult Function(_PaymentMethodParamsDefault value) $default, { required TResult Function(_PaymentMethodParamsCard value) card, + required TResult Function(_PaymentMethodParamsCardWithToken value) + cardFromToken, required TResult Function(_PaymentMethodParamsCardWithMethodId value) cardFromMethodId, required TResult Function(_PaymentMethodParamsAli value) aliPay, @@ -3280,6 +3551,7 @@ class _$_PaymentMethodParamsAli implements _PaymentMethodParamsAli { TResult maybeMap( TResult Function(_PaymentMethodParamsDefault value)? $default, { TResult Function(_PaymentMethodParamsCard value)? card, + TResult Function(_PaymentMethodParamsCardWithToken value)? cardFromToken, TResult Function(_PaymentMethodParamsCardWithMethodId value)? cardFromMethodId, TResult Function(_PaymentMethodParamsAli value)? aliPay, @@ -3412,6 +3684,9 @@ class _$_PaymentMethodParamsIdeal implements _PaymentMethodParamsIdeal { required TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage) card, + required TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage) + cardFromToken, required TResult Function(String paymentMethodId, String? cvc) cardFromMethodId, required TResult Function() aliPay, @@ -3433,6 +3708,9 @@ class _$_PaymentMethodParamsIdeal implements _PaymentMethodParamsIdeal { TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage)? card, + TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage)? + cardFromToken, TResult Function(String paymentMethodId, String? cvc)? cardFromMethodId, TResult Function()? aliPay, TResult Function(BillingDetails? billingDetails, String? bankName)? ideal, @@ -3454,6 +3732,8 @@ class _$_PaymentMethodParamsIdeal implements _PaymentMethodParamsIdeal { TResult map( TResult Function(_PaymentMethodParamsDefault value) $default, { required TResult Function(_PaymentMethodParamsCard value) card, + required TResult Function(_PaymentMethodParamsCardWithToken value) + cardFromToken, required TResult Function(_PaymentMethodParamsCardWithMethodId value) cardFromMethodId, required TResult Function(_PaymentMethodParamsAli value) aliPay, @@ -3473,6 +3753,7 @@ class _$_PaymentMethodParamsIdeal implements _PaymentMethodParamsIdeal { TResult maybeMap( TResult Function(_PaymentMethodParamsDefault value)? $default, { TResult Function(_PaymentMethodParamsCard value)? card, + TResult Function(_PaymentMethodParamsCardWithToken value)? cardFromToken, TResult Function(_PaymentMethodParamsCardWithMethodId value)? cardFromMethodId, TResult Function(_PaymentMethodParamsAli value)? aliPay, @@ -3602,6 +3883,9 @@ class _$_PaymentMethodParamsBankContact required TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage) card, + required TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage) + cardFromToken, required TResult Function(String paymentMethodId, String? cvc) cardFromMethodId, required TResult Function() aliPay, @@ -3623,6 +3907,9 @@ class _$_PaymentMethodParamsBankContact TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage)? card, + TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage)? + cardFromToken, TResult Function(String paymentMethodId, String? cvc)? cardFromMethodId, TResult Function()? aliPay, TResult Function(BillingDetails? billingDetails, String? bankName)? ideal, @@ -3644,6 +3931,8 @@ class _$_PaymentMethodParamsBankContact TResult map( TResult Function(_PaymentMethodParamsDefault value) $default, { required TResult Function(_PaymentMethodParamsCard value) card, + required TResult Function(_PaymentMethodParamsCardWithToken value) + cardFromToken, required TResult Function(_PaymentMethodParamsCardWithMethodId value) cardFromMethodId, required TResult Function(_PaymentMethodParamsAli value) aliPay, @@ -3663,6 +3952,7 @@ class _$_PaymentMethodParamsBankContact TResult maybeMap( TResult Function(_PaymentMethodParamsDefault value)? $default, { TResult Function(_PaymentMethodParamsCard value)? card, + TResult Function(_PaymentMethodParamsCardWithToken value)? cardFromToken, TResult Function(_PaymentMethodParamsCardWithMethodId value)? cardFromMethodId, TResult Function(_PaymentMethodParamsAli value)? aliPay, @@ -3789,6 +4079,9 @@ class _$_PaymentMethodParamsGiroPay implements _PaymentMethodParamsGiroPay { required TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage) card, + required TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage) + cardFromToken, required TResult Function(String paymentMethodId, String? cvc) cardFromMethodId, required TResult Function() aliPay, @@ -3810,6 +4103,9 @@ class _$_PaymentMethodParamsGiroPay implements _PaymentMethodParamsGiroPay { TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage)? card, + TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage)? + cardFromToken, TResult Function(String paymentMethodId, String? cvc)? cardFromMethodId, TResult Function()? aliPay, TResult Function(BillingDetails? billingDetails, String? bankName)? ideal, @@ -3831,6 +4127,8 @@ class _$_PaymentMethodParamsGiroPay implements _PaymentMethodParamsGiroPay { TResult map( TResult Function(_PaymentMethodParamsDefault value) $default, { required TResult Function(_PaymentMethodParamsCard value) card, + required TResult Function(_PaymentMethodParamsCardWithToken value) + cardFromToken, required TResult Function(_PaymentMethodParamsCardWithMethodId value) cardFromMethodId, required TResult Function(_PaymentMethodParamsAli value) aliPay, @@ -3850,6 +4148,7 @@ class _$_PaymentMethodParamsGiroPay implements _PaymentMethodParamsGiroPay { TResult maybeMap( TResult Function(_PaymentMethodParamsDefault value)? $default, { TResult Function(_PaymentMethodParamsCard value)? card, + TResult Function(_PaymentMethodParamsCardWithToken value)? cardFromToken, TResult Function(_PaymentMethodParamsCardWithMethodId value)? cardFromMethodId, TResult Function(_PaymentMethodParamsAli value)? aliPay, @@ -3972,6 +4271,9 @@ class _$_PaymentMethodParamsEps implements _PaymentMethodParamsEps { required TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage) card, + required TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage) + cardFromToken, required TResult Function(String paymentMethodId, String? cvc) cardFromMethodId, required TResult Function() aliPay, @@ -3993,6 +4295,9 @@ class _$_PaymentMethodParamsEps implements _PaymentMethodParamsEps { TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage)? card, + TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage)? + cardFromToken, TResult Function(String paymentMethodId, String? cvc)? cardFromMethodId, TResult Function()? aliPay, TResult Function(BillingDetails? billingDetails, String? bankName)? ideal, @@ -4014,6 +4319,8 @@ class _$_PaymentMethodParamsEps implements _PaymentMethodParamsEps { TResult map( TResult Function(_PaymentMethodParamsDefault value) $default, { required TResult Function(_PaymentMethodParamsCard value) card, + required TResult Function(_PaymentMethodParamsCardWithToken value) + cardFromToken, required TResult Function(_PaymentMethodParamsCardWithMethodId value) cardFromMethodId, required TResult Function(_PaymentMethodParamsAli value) aliPay, @@ -4033,6 +4340,7 @@ class _$_PaymentMethodParamsEps implements _PaymentMethodParamsEps { TResult maybeMap( TResult Function(_PaymentMethodParamsDefault value)? $default, { TResult Function(_PaymentMethodParamsCard value)? card, + TResult Function(_PaymentMethodParamsCardWithToken value)? cardFromToken, TResult Function(_PaymentMethodParamsCardWithMethodId value)? cardFromMethodId, TResult Function(_PaymentMethodParamsAli value)? aliPay, @@ -4155,6 +4463,9 @@ class _$_PaymentMethodParamsPay implements _PaymentMethodParamsPay { required TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage) card, + required TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage) + cardFromToken, required TResult Function(String paymentMethodId, String? cvc) cardFromMethodId, required TResult Function() aliPay, @@ -4176,6 +4487,9 @@ class _$_PaymentMethodParamsPay implements _PaymentMethodParamsPay { TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage)? card, + TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage)? + cardFromToken, TResult Function(String paymentMethodId, String? cvc)? cardFromMethodId, TResult Function()? aliPay, TResult Function(BillingDetails? billingDetails, String? bankName)? ideal, @@ -4197,6 +4511,8 @@ class _$_PaymentMethodParamsPay implements _PaymentMethodParamsPay { TResult map( TResult Function(_PaymentMethodParamsDefault value) $default, { required TResult Function(_PaymentMethodParamsCard value) card, + required TResult Function(_PaymentMethodParamsCardWithToken value) + cardFromToken, required TResult Function(_PaymentMethodParamsCardWithMethodId value) cardFromMethodId, required TResult Function(_PaymentMethodParamsAli value) aliPay, @@ -4216,6 +4532,7 @@ class _$_PaymentMethodParamsPay implements _PaymentMethodParamsPay { TResult maybeMap( TResult Function(_PaymentMethodParamsDefault value)? $default, { TResult Function(_PaymentMethodParamsCard value)? card, + TResult Function(_PaymentMethodParamsCardWithToken value)? cardFromToken, TResult Function(_PaymentMethodParamsCardWithMethodId value)? cardFromMethodId, TResult Function(_PaymentMethodParamsAli value)? aliPay, @@ -4338,6 +4655,9 @@ class _$_PaymentMethodParamsP24 implements _PaymentMethodParamsP24 { required TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage) card, + required TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage) + cardFromToken, required TResult Function(String paymentMethodId, String? cvc) cardFromMethodId, required TResult Function() aliPay, @@ -4359,6 +4679,9 @@ class _$_PaymentMethodParamsP24 implements _PaymentMethodParamsP24 { TResult Function(CardFieldInputDetails cardDetails, PaymentIntentsFutureUsage? setupFutureUsage)? card, + TResult Function(CardTokenDetails cardDetails, + PaymentIntentsFutureUsage? setupFutureUsage)? + cardFromToken, TResult Function(String paymentMethodId, String? cvc)? cardFromMethodId, TResult Function()? aliPay, TResult Function(BillingDetails? billingDetails, String? bankName)? ideal, @@ -4380,6 +4703,8 @@ class _$_PaymentMethodParamsP24 implements _PaymentMethodParamsP24 { TResult map( TResult Function(_PaymentMethodParamsDefault value) $default, { required TResult Function(_PaymentMethodParamsCard value) card, + required TResult Function(_PaymentMethodParamsCardWithToken value) + cardFromToken, required TResult Function(_PaymentMethodParamsCardWithMethodId value) cardFromMethodId, required TResult Function(_PaymentMethodParamsAli value) aliPay, @@ -4399,6 +4724,7 @@ class _$_PaymentMethodParamsP24 implements _PaymentMethodParamsP24 { TResult maybeMap( TResult Function(_PaymentMethodParamsDefault value)? $default, { TResult Function(_PaymentMethodParamsCard value)? card, + TResult Function(_PaymentMethodParamsCardWithToken value)? cardFromToken, TResult Function(_PaymentMethodParamsCardWithMethodId value)? cardFromMethodId, TResult Function(_PaymentMethodParamsAli value)? aliPay, diff --git a/stripe_platform_interface/lib/src/models/payment_methods.g.dart b/stripe_platform_interface/lib/src/models/payment_methods.g.dart index f87fff52c..ba71ab114 100644 --- a/stripe_platform_interface/lib/src/models/payment_methods.g.dart +++ b/stripe_platform_interface/lib/src/models/payment_methods.g.dart @@ -265,6 +265,24 @@ const _$PaymentIntentsFutureUsageEnumMap = { PaymentIntentsFutureUsage.OnSession: 'OnSession', }; +_$_PaymentMethodParamsCardWithToken + _$_$_PaymentMethodParamsCardWithTokenFromJson(Map json) { + return _$_PaymentMethodParamsCardWithToken( + cardDetails: + CardTokenDetails.fromJson(json['cardDetails'] as Map), + setupFutureUsage: _$enumDecodeNullable( + _$PaymentIntentsFutureUsageEnumMap, json['setupFutureUsage']), + ); +} + +Map _$_$_PaymentMethodParamsCardWithTokenToJson( + _$_PaymentMethodParamsCardWithToken instance) => + { + 'cardDetails': instance.cardDetails.toJson(), + 'setupFutureUsage': + _$PaymentIntentsFutureUsageEnumMap[instance.setupFutureUsage], + }; + _$_PaymentMethodParamsCardWithMethodId _$_$_PaymentMethodParamsCardWithMethodIdFromJson( Map json) {