diff --git a/pay_ios/ios/pay_ios/Sources/pay_ios/ApplePayButtonView.swift b/pay_ios/ios/pay_ios/Sources/pay_ios/ApplePayButtonView.swift index 9f0f7ce4..c058c0aa 100644 --- a/pay_ios/ios/pay_ios/Sources/pay_ios/ApplePayButtonView.swift +++ b/pay_ios/ios/pay_ios/Sources/pay_ios/ApplePayButtonView.swift @@ -204,6 +204,9 @@ extension PKPaymentButtonType { return .contribute case "tip": return .tip + case "continue": + guard #available(iOS 15.0, *) else { return nil } + return .continue default: return nil } diff --git a/pay_ios/lib/src/widgets/apple_pay_button.dart b/pay_ios/lib/src/widgets/apple_pay_button.dart index abab94f2..904636fb 100644 --- a/pay_ios/lib/src/widgets/apple_pay_button.dart +++ b/pay_ios/lib/src/widgets/apple_pay_button.dart @@ -34,7 +34,8 @@ enum ApplePayButtonType { rent, support, contribute, - tip + tip, + continue_ } /// The button styles supported on Apple Pay. @@ -198,6 +199,7 @@ extension on ApplePayButtonType { ApplePayButtonType.support: 'support', ApplePayButtonType.contribute: 'contribute', ApplePayButtonType.tip: 'tip', + ApplePayButtonType.continue_: 'continue', }[this]!; } diff --git a/pay_ios/test/pay_button_test.dart b/pay_ios/test/pay_button_test.dart index 3bd11007..a466b7f6 100644 --- a/pay_ios/test/pay_button_test.dart +++ b/pay_ios/test/pay_button_test.dart @@ -59,5 +59,24 @@ void main() { ); debugDefaultTargetPlatformOverride = null; }); + + testWidgets('maps ApplePayButtonType.continue_ to "continue"', + (WidgetTester tester) async { + await tester.pumpWidget(Directionality( + textDirection: TextDirection.ltr, + child: RawApplePayButton( + type: ApplePayButtonType.continue_, + onPressed: () {}, + ), + )); + + expect( + find.byWidgetPredicate((widget) => + widget is UiKitView && + widget.creationParams['type'] == 'continue'), + findsOneWidget); + + debugDefaultTargetPlatformOverride = null; + }); }); }