• Resolved WPinThai

    (@wpinthai)


    Hi. 

    My environment …

    I have setup the WooCommerce PayPal Payments v2.94 plugin on WooCommerce v9.4.2. Have opted in the plugin settings to have separate gateways on my website's Checkout page - one for Payment by Card and one for Payment by PayPal account. My Checkout page is customized using Flexible Checkout Fields Pro plugin by WPDesk. My website is a flower delivery website. I have hidden most of the Billing Address fields on my Checkout page because (1) I thought I would not need to collect that information from customers myself, (2) my customers will always want delivery to an address that is not their own (i.e. a recipient's/friend's address), and (3) I have other payment options that already work OK (Card Payment by Stripe, Bank Transfer) for which I do not need the customer's billing address (& therefore do not want those customers to have to fill in fields unnecessary for them)

    The issue …

    While connected to my PayPal sandbox account to do some initial testing, during testing a message appears when I click the PayPal (Pay) button (same error in both gateways). It says … "MISSING_SHIPPING_ADDRESS The shipping address is required when `shipping_preference=SET_PROVIDED_ADDRESS".

    I don't know why …

    I don't understand why this message is coming up because … (a) in the Standard Payments tab of the PayPal plugin settings, for "Send checkout billing data to card fields" I chose "Do not use WC Checkout form data (request all address fields)", and (2) when I got the plugin working via a temporary workaround (see below), I needed to enter billing information in the PayPal form anyway.

    Possible cause …

    During troubleshooting, I discovered that the issue does NOT seem to be a theme issue but does seem related to the lack of billing info fields on my Checkout page and/or the functionality of the "Do not use WC Checkout form data (request all address fields)" setting mentioned above.

    A workaround …

    When I temporarily deactivated my Checkout Field plugin, completed the Billing Address fields that are part of the default Checkout page form & I clicked the PayPal button in the Standard Payments (PayPal account) gateway, the above error DID NOT appear & a PayPal Login dialog successfully appeared.
    Similarly, when I temporarily deactivated my Checkout Field plugin, completed the Billing Address fields that are part of the default Checkout page form & I clicked the PayPal button in the Standard Card (Pay by Card via PayPal) gateway, the above error DID NOT appear & an "embedded form" requiring card number and billing address to be entered successfully appeared.

    A practical solution …?

    Please could you tell me …
    (1) why the error is happening, and
    (2) a way I can prevent the error message and not have to add Billing Info fields to my own website's Checkout fields

    For example, a code snippet to tell PayPal gateway to not expect Billing Address to be provided by my website's Checkout page (which is what I thought the "Do not use WC Checkout form data (request all address fields)" setting mentioned above was going to do)

    Many thanks in advance

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

Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Support Krystian Syde

    (@inpsydekrystian)

    Hello,

    Thank you for reaching out.

    The checkout flow with PayPal Payments follows the same structure as other WooCommerce payment methods. Before an order can be placed, WC requires address information to be provided in the checkout fields. Normally, WC uses the “Place order” button to submit this information, but PayPal Payments replaces that button with PayPal Smart Buttons. However, the requirement to enter an address before confirming the order remains the same.

    In your case, the error occurs because you removed certain billing address fields using the Flexible Checkout Fields Pro plugin. PayPal expects this information to be present before processing the order, which is why it displays the “MISSING_SHIPPING_ADDRESS” error.

    Why the “Send checkout billing data to card fields” setting does not affect this? This feature applies specifically to card payments. So changing this setting does not impact the requirement for billing/shipping details when using PayPal as a payment method.

    Potential workaround for your case would be to mark the product as virtual – PayPal does not require shipping details for virtual products, so marking your products as virtual might bypass the need for an address. You can still use custom fields to collect the necessary recipient details for delivery. However, this would create an issue with shipping charges, making it an kinda imperfect solution.

    If that doesn’t fix the issue, let us know! We have a few more workarounds we can explore. Just reach out to us directly at WooCommerce PayPal Payments Support.

    Kind Regards,

    Krystian

    Thread Starter WPinThai

    (@wpinthai)

    Hi Krystian. Thank you very much for your detailed reply and suggested workaround! I really appreciate it.

    You are right, marking the product as virtual would prevent me form charging for delivery, which I need to do. So unfortunately I cannot use that workaround.

    Please note that the error occurs also for attempted card payments via PayPal, not just payment via PayPal account. So changing the “Send checkout billing data to card fields” setting to “Do not use WC Checkout form data (request all address fields)” should prevent the error, right? But it doesn’t.

    Is it definitely (as it seemed to me during my own troubleshooting, and contrary to the wording of the error message) the lack of BILLING address that is causing the issue, or is my choice/concatenation of SHIPPING address fields contributing to the cause?

    Please could you tell me what other workarounds you can suggest, that maybe I can try?

    Many thanks in advance

    Simon

    Plugin Support Krystian Syde

    (@inpsydekrystian)

    Hello Simon @wpinthai

    I’ll start by clarifying a minor point—”Send checkout billing data to card fields” is not designed to bypass address fields in checkout. Its purpose is to control how checkout address data is transferred to the card fields, allowing you to:

    • Send full address details from checkout to the card fields.
    • Send only name and postal code instead.
    • Not use checkout data at all, requiring the customer to re-enter everything in the card fields.

    This setting is meant to improve convenience for card payments, so customers don’t have to fill in their address twice. In short, this is not related to your issue and won’t bypass the problem.

    Now, to properly analyze the issue, we’d like you to contact us directly and provide logs from the plugin, specifically from a failed attempt. Here’s how to retrieve the logs:

    1. Ensure that “Logging” is enabled in your PayPal Payments plugin settings. This can be found in the Connection tab. If logging wasn’t enabled before, there won’t be any past records, so we’ll need to wait for a new failed order to generate logs.
    2. Once logging is active, go to:
      WooCommerce > Status > Logs, then select the most recent “woocommerce-paypal-payments” file that matches the date of a failed order.
    3. Upload the log file to PrivateBin and share the link with us so we can review it.

    Additionally, we might need a copy of some of your plugins to fully recreate the environment where the error occurs that’s why I suggested to contact us directly. Once we have the logs and any necessary environment details, I’ll discuss it with the dev team to explore possible workarounds. From a technical perspective, there might be a way to bypass this error, but we need to dig deeper to confirm.

    Let us know once you have the logs, and we’ll take it from there.

    Kind Regards,

    Krystian

    Thread Starter WPinThai

    (@wpinthai)

      Hi again Krystian. I really appreciate you working so thoroughly with me on this! Hopefully our conversation will also help many others. I know from Googling the issue before opening this ticket that other people struggle with the same error.

      Your clarifying of the ”Send checkout billing data to card fields” is helpful. I’m certainly hoping to achieve the same objective – customers (paying by PayPal account or Credit/Debit Card) not needing to fill in their billing address twice (once on my Checkout page & once for PayPal) – and would rather they did it on PayPal.

      I still think the “Not use checkout data at all, requiring the customer to re-enter everything in the card fields” implies that (and it would make sense for it to achieve that by simply not requiring/checking for any such billing data on the seller’s Checkout page).

      In addition, I don’t understand why customers paying with a PayPal account should need to fill in their billing address anywhere, to complete an order/payment, when surely their address is already on their account in the PayPal system.

      Thank you very much for offering to properly analyze the issue & perhaps fully recreate my environment. I will be very happy to contact you directly and provide logs from the plugin, specifically from a failed attempt.

      I have uploaded the log files created as you advised …

      NOTE: The ”Send checkout billing data to card fields” option was set to “Do not use WC Checkout form data (request all address fields)” for BOTH/EACH gateways above

      I have opened a ticket with WooCommerce directly via my Woo account, but was not able to add any of the above files there.

      Regarding my environment, I would be very happy to give you access to a staging version of my live site, if that would help?

      Warm Regards,

      Simon

      Plugin Support Krystian Syde

      (@inpsydekrystian)

      Hello @wpinthai

      Since the issue has been moved to the private support board, we consider this thread resolved.
      If you still have any questions or if a new problem arises, don’t hesitate to open a new thread.

      Kind regards,
      Krystian

    Viewing 5 replies - 1 through 5 (of 5 total)

    The topic ‘Billing Address issue (MISSING_SHIPPING_ADDRESS error)’ is closed to new replies.