Shop as Client for WooCommerce PRO add-on Doc. and FAQ

Back to Shop as Client for WooCommerce

Support

How to request technical support?

If the issue you need technical support with is not covered on this page, click the link next to the license key, on the plugin settings, and fill out the ticket with your request.

Where do I report security vulnerabilities found in this plugin?

You can report any security bugs found in the source code of this plugin through the Patchstack Vulnerability Disclosure Program.

The Patchstack team will assist you with verification, CVE assignment and take care of notifying us.

General operation

Getting started guide

Setting up

Install the free plugin, then the PRO add-on, and go to WooCommerce > Settings > Accounts & Privacy > Shop as Client. Insert the provided license code to activate it.

Choose if the checkout fields/options to “Shop as client” and “Create user” should be set to “Yes” or “No” by default, and if the search should be performed just on existing users (with account on your website), or also on orders (from registered and guest users). Searching in previous orders will make the search slower, as the query is much more resource intensive.

Choose if the user for which the handler is shopping for should be updated with the (eventually changed) details from the checkout or not, and if you’re using the classic checkout if the checkout address fields should all be reset to no values upon reaching the checkout (so that the handler can insert the details from the customer without having to delete his own user details from the fields).

In the case that, for your business, is important to know who was the handler of each order, you can activate showing it on the orders list on the backend, as well if it should be possible for Administrators to change the handler.

There’s also an option to rebuild the users index to speed the autocomplete search on the checkout.

If you are accepting payments by credit card, PayPal, or any other payment method that requires sensitive information from the customer, or if you just want to let the customer choose the payment method on his own, you should activate our “Request payment by email” gateway, which will be available only for logged-in users who can “shop as client”.

Frontend usage

Administrators and Editors can use the shop frontend to fill the cart for the customer and when reaching the checkout page they need to decide if they’re buying for a client or for their own user. In case they’re buying for a client, they can search for an existing customer, and if not found, decide if the details entered should be assigned to a new user or leave the order as belonging to a guest user.

If the customer wants to pay with a credit card, PayPal, or any other payment method that requires sensitive information or credentials, he highly recommend that the “Request payment by email” gateway is used. The customer will receive an email with a link to complete payment on your website.

Which roles can access the “Shop as client” functionality?

Administrators and Shop managers can use “Shop as client” on the checkout.

Add this to your (child) theme functions.php file if you want to allow other user roles to use this functionality:

I’m giving discounts user or user-role-based. Will this work?

Yes and no. Normally the logged-in user is the Administrator or Shop Manager. It’s not possible to integrate with the vast amount of user or user role-based discount plugins when the logged-in user is not the customer himself.

However, our PRO add-on integrates with the User Switching plugin and sets the Administrator or Shop Manager that switched to the customer account as the order handler upon checkout, thus allowing to benefit from the fact the customer is logged-in (discounts, wishlists, or any other functionality provided by 3rd party plugins based on the logged-in user) and still get our plugin functionalities.

So, if you use our PRO add-on and the User Switching plugin, instead of selecting the customer with our built-in search functionality, you switch to the customer account and process the order with its account. Your user ID is still set as the handler for that order and you can still request payment by email securely with our fake payment gateway.

Can I use a customer saved credit card to pay for the order?

Read the FAQ above regarding user-role-based discounts. It’s the exact same scenario.

For security reasons, WooCommerce will not allow even shop administrators to access user stored payment methods, but if you use our plugin and the User Switching plugin, you can switch to the customer account and use the saved credit card information to pay for the order.

You should make sure to get unequivocal authorization from your customer to access and use the account and credit card details.

Why am I not seeing the “thank you” / “order received” page after checkout? 🔗

Since WooCommerce 7.8.1 you’ll get “Please log in to your account to view this order” after checkout because the order no longer belongs to your logged-in user and was assigned to the customer user. This is a security measure put in place that actually makes a lot of sense.

We implemented a fix on Shop as Client PRO add-on version 2.3 (only for the classic checkout, as the new block-based checkout does not allow overriding this page).

How can I search by “first name + last name” on the checkout autocomplete field?

Before version 6.0 of this plugin, we were searching on each WooCommerce name, company and address user meta fields, which means it was not easy to find a user by “first name + last name” because those two strings do not exist together on the same meta entry.

Since version 6.0 we are building a user index meta with all the relevant information combined, solving this issue, as well as improving the search performance.

Each user index is updated whenever his details are changed, but a complete index for all users can be triggered with the “Rebuild users index'” option on the plugin settings. However, if you have a large number of users, this may be slow and even cause a timeout not completing the task, in which case we recommend using the WP-CLI wp shop-as-client-pro rebuild-users-index command.

Since version 6.3 there’s a warning about the “Request payment by email” payment gateway, either it is enable or disable it. How to remove it?

This warning is there for a reason. You should not ask your customer for sensitive information, like Credit Card numbers or Pay Pal credentials, for example. You should only checkout with a payment method that doesn’t require gathering sensitive information, or use our built-in “Request payment by email” payment gateway to send an email with a payment link where he can choose the payment method.

If you still want to remove the warning, you can return true to the shop_as_client_pro_hide_checkout_request_payment_by_email_warning filter.

Payments

When using Stripe, the credit card details are saved on the admin account, not the customers’. Is it possible to save the cards to the customer account?

Unfortunately, it’s not possible to save cards to another user other than the one logged in. See the next question.

Why should I use the “Request payment by email” feature instead of asking for the customer’s credit card details over the phone?

Sharing credit card details over the phone is not safe and can put both you and your customer at risk. It also creates compliance issues since handling payment data directly may violate PCI rules and increase your company’s liability if anything goes wrong.

With the “Request payment by email” feature, you don’t need to ask for sensitive information. Instead, the customer receives a secure payment link by email and can enter their details safely using their preferred method, such as credit card, PayPal, or another secure gateway.

This approach is easier for the customer, keeps the payment process secure, and protects your business from unnecessary risks.

Third-Party Compatibility

Known incompatibilities

  • FunnelKit: Our fields will not show up, rendering it unusable;

Licensing

How to transfer the license to another domain?

You should ask for the domain change in your customer area, next to the original order details.

After you get the reply from us stating that the license key is free, you should go to the plugin configurations on the new website and insert the key again.

If you cloned the website, the license key is on the database, and you need to remove it, or else this new domain will not be activated. Remove these records from the wp_options table on the fresh install:

  • shop_as_client_pro_license_key
  • shop_as_client_pro_activation_key

Then you should be able to insert the key again and activate it on the new domain.

How to replace the license key on the same website?

If you need to replace your license key on the same website, because you let the subscription expire and had to buy again, or you were using a temporary key for some reason, remove these records from the wp_options:

  • shop_as_client_pro_license_key
  • shop_as_client_pro_activation_key

Then you should be able to insert the new key and activate the plugin again.

What happens if I don’t renew my license?

If your license expires, the plugin will continue to work and most Pro features will remain active. However, you’ll lose access to:

  • Feature updates, including improvements and new functionality
  • Security updates, which are essential to keep your store and customer data safe
  • Technical support, in case you need help or run into issues
  • “Request payment by email” gateway will be disabled

You’ll also see some warnings on the backend and while selecting a customer in the frontend/checkout.

Renewing your license helps us continue improving the plugin, respond to changes in WordPress and WooCommerce, and provide you with reliable support. We highly recommend keeping it active.

Developer hooks

As stated in our policy, the usage of developer hooks is not covered by technical support, yet we provide some usage examples below.

Getting custom fields on autocomplete – classic checkout

If you have checkout custom fields and need them to autocomplete, you can use the shop_as_client_pro_customer_data filter:

This filter is only available on the classic checkout. The block-based checkout fundamentally changed how things work and each custom field needs to be address individually by our plugin, not being possible to do it with hooks. If you need to add compatibility with another plugin / custom field, please contact us.