Store Credit Workarounds for Guests (Not Registered Users)

Running a “company store” where about 200 employees can order products branded with their company logo. We supply the products and decoration for our client (the company), as well as run the store. It doesn’t require user accounts.

The essential problem: the client wants to give all it’s employees $50 for the holidays, and have it apply to the entire cost of the order (products+shipping). Then we’d bill the client for all the usage later. The client doesn’t want the employee to be stuck with shipping costs on their holiday order.

Gift Card apps are costly over long term. Store credits seem to rely on registered user accounts. Discounts don’t apply $50 across the cost of products AND shipping, but instead provides an option for Free Shipping.

I’m dreaming of a mechanism that pulls email from checkout field (or asks for it in advance), then uses it for db table lookup, and if found, returns a $50 credit on the order. Credit as in payment, not discount. Perhaps it’s a “COD” type of payment method, but with a max amount.

Just spitballing here, in case someone’s got ideas to share. Thanks.

Hi @Scott_Evans :waving_hand: interesting scenario if a bit unicorny.

Make all shipping free.

There’s trying to avoid user friction and there’s being reckless be sure of where it stands.

Make accounts required make them make accounts it is the sanest approach.
If you have the list send account invites and issue store credit both can be automated.
e.g. https://tasks.mechanic.dev/?q=account%20invite &
For real unless there’s serious money behind this way overthinking it or possibly the client’s not being grounded by proper pushback.

:technologist: There is creating storecredit based on “account id” instead of “customer id” but not clear if that can apply to unauthenticated visitors and is just more about ??B2B?? https://shopify.dev/docs/api/admin-graphql/latest/mutations/storeCreditAccountCredit?example=credit-an-expiring-amount-to-a-store-credit-account-by-account-id

The account balance is redeemable at checkout only when the owner is authenticated via new customer accounts authentication. via StoreCreditAccount - GraphQL Admin


Adding the caveat of “Credit as in payment, not discount” creates an unicorn.
A possible escape hatch is then using draft orders but having to use custom-items with custom prices THEN reconcile the inventory through inventory or editing the order.
e.g. https://tasks.mechanic.dev/create-a-draft-order-from-the-cart

If there’s some reason it’s unreasonabe to have accounts possible it’s a rough spot as we can’t even apply store-credit to draft orders for custom systems like this; except on B2B(shopifyPlus) and that implies registered accounts.
https://help.shopify.com/en/manual/customers/store-credit#considerations

Build your own IF the store plan has the feature, such as shopifyPlus , or use the api; shopify support may need to enable it on their side.
The storefront api should be able to apply giftcards too.
There’s automation apps like flow, or mechanic to script custom logic too without standing up a full app; it has instructions for connect to Plus apis.

Strong indicator of needing to build a custom app.
Stronger indicator of a security problem by allowing an unathenticated/unauthorized frontend to arbitrarily to query for a list of private info; it lets bad actors test for true/false through any behavior change being triggered.

Requires shopify plus to do in checkout, and or possibly network access enabled by shopify.

Reach out to me for customization/automation services if there’s a will and budget to build this out.
CLICK my profile-pic or visit my profile on the forums
ALWAYS include context in new communications, e.g. reference urls, posts urls, etc

@Scott_Evans I had a few questions for you, and based on that I think this can be much simpler than what you mentioned :slight_smile:

  1. Does the company store have the email list of all the 200 employees?
  2. Can we make it so that customers should be logged in to place orders?

If the answer to both these questions are (or can be) true, I think you can check out Dollarback app, which allows importing a CSV and having the credit added to the email IDs you specified.

If the customer doesn’t exist yet, we can make it so that it creates a customer with the email ID you specified in CSV and when they log in they’d be able to see their credit at checkout and use it on the order they’re placing.

Essentially like a gift card, but without the need to apply any coupon. But the only thing is that they’d need to log in to redeem.

Let me know if this is a feasible solution to the use case mentioned, and I think you can save a lot of $ and instead just use a free app :slight_smile: