From 751edc8353d42ad18c71af9c853786950df4c611 Mon Sep 17 00:00:00 2001
From: Pedro Silva
Date: Mon, 15 Jan 2024 16:55:36 +0000
Subject: [PATCH] Add support for Venmo button with vault v3
---
modules/ppcp-button/src/Assets/SmartButton.php | 10 ++++++++++
.../src/SavePaymentMethodsModule.php | 7 +++++++
2 files changed, 17 insertions(+)
diff --git a/modules/ppcp-button/src/Assets/SmartButton.php b/modules/ppcp-button/src/Assets/SmartButton.php
index 2f6a24781..c18e87ca2 100644
--- a/modules/ppcp-button/src/Assets/SmartButton.php
+++ b/modules/ppcp-button/src/Assets/SmartButton.php
@@ -1253,6 +1253,16 @@ document.querySelector("#payment").before(document.querySelector("#ppcp-messages
'commit' => in_array( $context, $this->pay_now_contexts, true ) ? 'true' : 'false',
'intent' => $intent,
);
+
+ if (
+ $this->settings->has( 'subscriptions_mode' )
+ && $this->settings->get( 'subscriptions_mode' ) === 'vaulting_api'
+ && apply_filters( 'woocommerce_paypal_payments_save_payment_methods_eligible', false )
+ ) {
+ // Remove vault parameter to allow for Venmo with Save Payment Methods (Vault V3).
+ unset( $params['vault'] );
+ }
+
if (
$this->environment->current_environment_is( Environment::SANDBOX )
&& defined( 'WP_DEBUG' ) && \WP_DEBUG
diff --git a/modules/ppcp-save-payment-methods/src/SavePaymentMethodsModule.php b/modules/ppcp-save-payment-methods/src/SavePaymentMethodsModule.php
index 4f3fc1fb1..43af5a1b8 100644
--- a/modules/ppcp-save-payment-methods/src/SavePaymentMethodsModule.php
+++ b/modules/ppcp-save-payment-methods/src/SavePaymentMethodsModule.php
@@ -329,6 +329,13 @@ class SavePaymentMethodsModule implements ModuleInterface {
$endpoint->handle_request();
}
);
+
+ add_filter(
+ 'woocommerce_paypal_payments_save_payment_methods_eligible',
+ function() {
+ return true;
+ }
+ );
}
/**