diff --git a/demo/angular/android/app/src/main/AndroidManifest.xml b/demo/angular/android/app/src/main/AndroidManifest.xml
index 44724c9c7..9ccb5f6df 100644
--- a/demo/angular/android/app/src/main/AndroidManifest.xml
+++ b/demo/angular/android/app/src/main/AndroidManifest.xml
@@ -64,6 +64,10 @@
android:name="com.getcapacitor.community.stripe.google_pay_is_testing"
android:value="@bool/google_pay_is_testing"/>
+
+
diff --git a/demo/angular/android/app/src/main/res/values/strings.xml b/demo/angular/android/app/src/main/res/values/strings.xml
index a65a0efd0..8c6c88905 100644
--- a/demo/angular/android/app/src/main/res/values/strings.xml
+++ b/demo/angular/android/app/src/main/res/values/strings.xml
@@ -10,5 +10,6 @@
US
Widget Store
true
+ false
diff --git a/demo/react/android/app/src/main/AndroidManifest.xml b/demo/react/android/app/src/main/AndroidManifest.xml
index 9cce413ce..19295a13a 100644
--- a/demo/react/android/app/src/main/AndroidManifest.xml
+++ b/demo/react/android/app/src/main/AndroidManifest.xml
@@ -58,6 +58,10 @@
android:name="com.getcapacitor.community.stripe.google_pay_is_testing"
android:value="@bool/google_pay_is_testing"/>
+
+
diff --git a/demo/react/android/app/src/main/res/values/strings.xml b/demo/react/android/app/src/main/res/values/strings.xml
index a65a0efd0..8c6c88905 100644
--- a/demo/react/android/app/src/main/res/values/strings.xml
+++ b/demo/react/android/app/src/main/res/values/strings.xml
@@ -10,5 +10,6 @@
US
Widget Store
true
+ false
diff --git a/packages/payment/android/src/main/java/com/getcapacitor/community/stripe/StripePlugin.java b/packages/payment/android/src/main/java/com/getcapacitor/community/stripe/StripePlugin.java
index 05d0e62ba..470d8066e 100644
--- a/packages/payment/android/src/main/java/com/getcapacitor/community/stripe/StripePlugin.java
+++ b/packages/payment/android/src/main/java/com/getcapacitor/community/stripe/StripePlugin.java
@@ -78,7 +78,8 @@ public void load() {
? GooglePayLauncher.BillingAddressConfig.Format.Full
: GooglePayLauncher.BillingAddressConfig.Format.Min,
metaData.phoneNumberRequired
- )
+ ),
+ metaData.existingPaymentMethodRequired
),
(boolean isReady) -> this.googlePayExecutor.isAvailable = isReady,
(@NotNull GooglePayLauncher.Result result) ->
diff --git a/packages/payment/android/src/main/java/com/getcapacitor/community/stripe/helper/MetaData.java b/packages/payment/android/src/main/java/com/getcapacitor/community/stripe/helper/MetaData.java
index a9026ed2c..62f5a4ce4 100644
--- a/packages/payment/android/src/main/java/com/getcapacitor/community/stripe/helper/MetaData.java
+++ b/packages/payment/android/src/main/java/com/getcapacitor/community/stripe/helper/MetaData.java
@@ -21,6 +21,8 @@ public class MetaData {
public String billingAddressFormat;
public GooglePayEnvironment googlePayEnvironment;
+ public Boolean existingPaymentMethodRequired;
+
public boolean enableIdentifier;
public MetaData(Supplier contextSupplier) {
@@ -40,6 +42,9 @@ public MetaData(Supplier contextSupplier) {
phoneNumberRequired = appInfo.metaData.getBoolean("com.getcapacitor.community.stripe.phone_number_required");
billingAddressRequired = appInfo.metaData.getBoolean("com.getcapacitor.community.stripe.billing_address_required");
billingAddressFormat = appInfo.metaData.getString("com.getcapacitor.community.stripe.billing_address_format");
+ existingPaymentMethodRequired = appInfo.metaData.getBoolean("com.getcapacitor.community.stripe.google_pay_existing_payment_method_required");
+
+ // @deprecated. will remove at v6.0.0
enableIdentifier = appInfo.metaData.getBoolean("com.getcapacitor.community.stripe.enableIdentifier");
boolean isTest = appInfo.metaData.getBoolean("com.getcapacitor.community.stripe.google_pay_is_testing");
diff --git a/packages/payment/package.json b/packages/payment/package.json
index 4d4008687..ede602636 100644
--- a/packages/payment/package.json
+++ b/packages/payment/package.json
@@ -1,6 +1,6 @@
{
"name": "@capacitor-community/stripe",
- "version": "5.5.0",
+ "version": "5.5.1-beta.0",
"engines": {
"node": ">=16.0.0"
},