As we have had severe problems with failing vaulting subscriptions for existing customers (see How to repair PayPal subscribers with missing token? https://www.ads-software.com/support/topic/how-to-repair-paypal-subscribers-with-missing-token/ ), I was wondering if that would be a better option. Is it correct that we currently have three different options?
Is the latter one fully supported by the current WooCommerce PayPal Payments plugin, and is there a necessary or recommended migration for existing customers?
]]>I have read the rather concerning news that WordPress.com and Tumblr are going to provide user-created content to AI companies like OpenAI and MidJourney for training their, erm, stochastic parrots and mimicry machines. (news found on 404 Media, The Verge, and others.)
I am self-hosting WordPress and try to rigorously defend myself against such abuse of my data, but as a customer using Jetpack’s “Vault” backup, I am concerned that my data will be included through this backdoor — to which I, needless to say, strongly object.
I would appreciate a clarification.
Thanks
Alexander.
See fixed issue: https://www.ads-software.com/support/topic/payment-failed-19/
]]>Restoring a backup was my only solution and for now I keep Elementor outdated.
]]>Eventually, we have several transactions per week that get cancelled even after the payment has been correctly charged and accounted for in the Braintree side.
The order gets the following message: “Error processing payment. Reason: Invalid or missing payment token fields.”.
Trying to debug the problem, I’ve observed that the problem happens if there’s an Exception in the code block
if ( isset( $args['options']['storeInVaultOnSuccess'] ) && $args['options']['storeInVaultOnSuccess'] == true ) {
$token = $this->get_payment_token( $this->get_payment_method_from_transaction( $response->transaction ) );
$token->set_user_id( $order->get_customer_id() );
$token->save();
// set token in case downstream processes need access to it.
$this->payment_method_token = $token->get_token();
WC_Payment_Tokens::set_users_default( $order->get_customer_id(), $token->get_id() );
}
in the process_payment() method at abstract-class-wc-braintree-gateway.php.
IMHO, an exception in this block shouldn’t cause the whole payment transaction to fail, as we already have charged the user and saved the payment data.
I propose embracing this block into its own try/catch block area, this way:
if ( isset( $args['options']['storeInVaultOnSuccess'] ) && $args['options']['storeInVaultOnSuccess'] == true ) {
try {
$token = $this->get_payment_token( $this->get_payment_method_from_transaction( $response->transaction ) );
$token->set_user_id( $order->get_customer_id() );
$token->save();
// set token in case downstream processes need access to it.
$this->payment_method_token = $token->get_token();
WC_Payment_Tokens::set_users_default( $order->get_customer_id(), $token->get_id() );
} catch ( Exception $e ) {
if ( $e instanceof \Braintree\Exception ) {
wc_braintree_log_error( sprintf( __( 'Error saving token into vault for order %1$s. Exception: %2$s. Transaction args: %3$s',
'woo-payment-gateway' ), $order->get_id(), get_class( $e ), print_r( $args, true ) ) );
$msg = wc_braintree_errors_from_object( $e );
} else {
$msg = $e->getMessage();
}
$order->add_order_note( sprintf( __( 'Error saving Braintree token into vault. Reason: %1$s', 'woo-payment-gateway' ), $msg ) );
}
}
]]>We’ve determined this to be caused by the “Vault” setting not being enabled within the PayPal Payments plugin. This setting is greyed out and not checkable within the client’s settings. However, we have confirmed that Vaulting is enabled for the API / PayPal app being used with the WooCommerce installation. We have even gone as far as to create a new app / api key pair within PayPal and reconnect it to the site to ensure that the issue is not PayPal-side.
Can someone provide some assistance in figuring out why the Vault option would be greyed out if Vaulting is enabled within the PayPal API?
]]>We’ve determined this to be caused by the “Vault” setting not being enabled within the PayPal Checkout plugin. This setting is greyed out and not checkable within the client’s WooCommerce settings. However, we have confirmed that Vaulting is enabled for the API / PayPal app being used with the WooCommerce installation.
Can someone provide some assistance in figuring out why the Vault option would be greyed out if Vaulting is enabled within the PayPal API?
]]>Is there any documentation to integrate the one-click upsell?
How I can integrate the one-click upsell for your plugin, so the user does not need to add PayPal details for upsell product purchase. i.e., Reference transaction
Looking forward to hearing from you.
]]>Vault has shown up a notice for suspicious link on your plugin. Here’s the information:
Message: VaultPress has detected a link to a possible dangerous site. These sites are often related to dangerous or malicious code.
BigInteger.php
/wp-content/plugins/wp-mail-smtp/vendor/phpseclib/phpseclib/phpseclib/Math
Code:
https://crypto.stackexchange.com/questions/5708/creating-a-small-number-from-a-cryptographically-secure-random-string
Is this safe or is it a real problem?
Thank you, regards.
]]>