• Resolved jsnbrn

    (@jsnbrn)


    Since activating this plugin, about a third of orders are failing. There is no consistency. Some first time orders fail, and some go through. Some orders from repeat customers fail, and some go through. Some that FAIL from repeat customers go through when the log out and checkout as a GUEST. There is nothing consistent for troubleshooting. I changed theme to twenty twenty four, and that did not fix. I disabled plugins one by one and that did not fix.

    The page I need help with: [log in to see the link]

Viewing 10 replies - 1 through 10 (of 10 total)
  • Plugin Author Payment Plugins

    (@mrclayton)

    You will need to provide some helpful information like the following:

    1. What do the order notes say for these failed orders? The order notes will provide information as to why the Braintree API failed the payment attempt.
    2. What payment methods are these for? There are several payment options offered by this plugin so getting those details would be helpful.

    I see you’re not using CVV validation for card payments, which is highly encouraged. CVV validations increase security and decrease payment failures so you should enable that in your Braintree control panel.

    Thread Starter jsnbrn

    (@jsnbrn)

    1. The order note, interestingly, only say in the backend the same thing displayed on the frontend for the customer: “Error processing payment. Reason: Customer ID is invalid.” They are not showing up in Braintree’s website under unsuccessful payments.
    2. This is for Credit Card payments.

    I turned off CVV while troubleshooting. This issue was occurring before.

    Plugin Author Payment Plugins

    (@mrclayton)

    If you go to the WooCommerce > Status > Logs page there will be a wc-braintree log file. That will contain the values sent to Braintree for the transaction request. What is the customer ID for one of these failed orders?

    The error message Customer ID is invalid is triggered when the customer ID being sent in the transaction request is in an invalid form.

    https://developer.paypal.com/braintree/docs/reference/general/validation-errors/all/php

    That would indicate you have invalid Braintree customer ID’s saved in the usermeta table.

    Thread Starter jsnbrn

    (@jsnbrn)

    [customerId] => 5861939223

    “That would indicate you have invalid Braintree customer ID’s saved in the usermeta table.” What is the fix? More context I should have included…. We were using the “official” braintree plugin from woocommerce. Then, the use this one, we had to switch from a Braintree by Paypal account to a Braintree Direct account to get API access.

    Thread Starter jsnbrn

    (@jsnbrn)

    So, using that customer as an example, when I go to her profile, that customer ID is prefilled in the Production Vault ID field. The instructions say “If you want to remove the user’s vault ID, delete it and click <b>Update Profile</b>. <p>If you change the vault ID, the payment methods for the new ID will be imported automatically.</p>” When I delete and click update profile, it is immediately back displaying in the field again.

    Plugin Author Payment Plugins

    (@mrclayton)

    When I delete and click update profile, it is immediately back displaying in the field again.

    That’s because the plugin is mapping the value from your old plugin that’s stored in the usermeta table. You would need to delete the entries in the usermeta table.

    Keys: wc_braintree_customer_id & braintree_production_vault_id

    The easiest thing you can do is copy one of those customer ID’s then login to your Braintree dashboard and performing a search for that customer. More than likely it won’t exist which will be confirmation of the issue.

    It sounds like the customer ID’s created when your account was a “Braintree by PayPal” account are not considered valid by the Braintree API and they weren’t migrated over by Braintree when your account type was changed.

    If it’s possible for your business, my recommendation would be to just switch to our Stripe plugin instead of continuing with Braintree. We can assist with any migration work that needs to be performed.

    While you may be saving on processing fees, you’re actually losing money because Stripe has better conversion rates than Braintree. That 30 – 50 BPS in processing fee savings pales in comparison to the improvement in conversion rates you get when using Stripe.

    Thread Starter jsnbrn

    (@jsnbrn)

    “That’s because the plugin is mapping the value from your old plugin that’s stored in the usermeta table. You would need to delete the entries in the usermeta table.”

    Would this have to be done one at a time per customer?

    “If it’s possible for your business, my recommendation would be to just switch to our Stripe plugin instead of continuing with Braintree. We can assist with any migration work that needs to be performed.”

    What about active subscriptions? That’s why we wanted to try a different braintree plugin.

    Plugin Author Payment Plugins

    (@mrclayton)

    Would this have to be done one at a time per customer?

    It can be done via a database query but you would need to know the cutoff so you don’t remove legitimate customer ID’s. You would only want to remove the ones created when you had a powered by PayPal account.

    What about active subscriptions?

    There are two ways to go about that.

    1. Leave the Braintree plugin active, but disable all the payment methods. Subscriptions will continue to process, but you won’t get anymore payments on your checkout page through Braintree.
    2. Have Braintree generate a migration file that Stripe will then import into their system. We would then help map your Braintree customer ID’s to the Stripe customer ID’s.

    Did you try my suggestion of looking up one of those “invalid customer ID’s” in your Braintree account? That’s an important step.

    Thread Starter jsnbrn

    (@jsnbrn)

    “Did you try my suggestion of looking up one of those “invalid customer ID’s” in your Braintree account? That’s an important step.”

    I did. Not found.

    Plugin Author Payment Plugins

    (@mrclayton)

    I did. Not found.

    Then that’s the answer. The customer objects created via your old account were not migrated over to your Braintree account when it was created. Braintree should have either explained that to you or migrated that data.

    That’s why your customers can process a payment when they log out.

Viewing 10 replies - 1 through 10 (of 10 total)
  • You must be logged in to reply to this topic.