I've made an Ubercart store for our schoolwear. We can't do online purchasing because we're not set up for it.

What happens right now is that when someone buys something from the catalog, they have to go to the office to pay for it. Then, the receipts get sent to the class running the store as proof the order has been paid for.

Here's what I'd like to do with our ubercart:

  1. I create random codes somehow for proof of purchase in the ubercart system. Print them out, and give to the office.
  2. Customer pays at the office for their item (e.g. a sweatshirt) and receives a random code from the office after purchase.
  3. Customer goes to the online catalog and places their order (e.g. sweatshirt size, color, etc).
  4. Customer goes to cart checkout and cannot complete checkout until they type in the random code they got from the office.
  5. The class running the store gets the order through ubercart, and sees the random code as proof that the order has been paid.

I know it's a dumb system, but it's all we have. Is there a way to generate these random codes and have the customer put theirs in at the checkout?


You can create a new node type "vouchers" and use UUID module to add uuids to these nodes. When the office creates a new voucher it will automatically be assigned a uuid which you can then use as your code to give the student.

When the student shows the store their code the store can lookup that voucher in a Vouchers view using the uuid filter. Then the store can mark the voucher with a boolean "Used" custom field to show they are redeemed.

  • Longboardnode, I really appreciate your answer; however, I am not a hardcore Drupal user, and after reading the page for the UUID module, I have no clue how to use it. If it helps: I experimented with Webform Invitation with a webform acting as the product page, and that worked beautifully. If you have any other suggestions, I'm all ears. Thanks.
    – indys
    Oct 5 '16 at 0:52
  • If webform invitation worked for you, great!! Re UUID, once you install and enable the module, UUIDs will be automatically added to all nodes, you don't have to do anything to make that happen. Oct 5 '16 at 2:38
  • Okay, I didn't realize that's what UUID did. I'll have to play with it to see what it can do for us. Thanks for the info! Yes, the Webform Invitation worked well, but I was hoping for a similar module for Ubercart. Thanks again for your help!
    – indys
    Oct 6 '16 at 12:10
  • For anyone else in this boat, I found a workaround. I installed the balance_tracker module and the e-balance module. In Ubercart, I enabled only the e-balance payment method. Students go to the office, the secretary logs onto our website, takes payment (cash or cheque), and adds the payment in the student's balance tracker account as a credit. Student returns to the site, places order, and now has sufficient 'credit' to place the order. Hope this helps someone else out.
    – indys
    Oct 31 '16 at 1:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.