CasperVend 2/Gift Cards/V3: Difference between revisions

From CasperTech Wiki
Jump to navigation Jump to search
No edit summary
Line 17: Line 17:
For a long time, incidents of these types of exploits being used were relatively rare. Unfortunately, recently such incidents have become much more common. As such, we've had to take steps to protect our merchants from this problem.
For a long time, incidents of these types of exploits being used were relatively rare. Unfortunately, recently such incidents have become much more common. As such, we've had to take steps to protect our merchants from this problem.


One of the exploits happens at inventory transfer time, before the "slam bit" is applied which sets next-owner perms. Once rezzed, this exploit can no longer be performed. To combat this exploit, V3 cards must now be "worn" by the purchaser before they activate. The gift card is no-transfer until activated.
One of the exploits happens at inventory transfer time, before the "slam bit" is applied which sets next-owner perms. Once rezzed, this exploit can no longer be performed. To combat this exploit, V3 cards must now be rezzed by the purchaser before they activate. The card will also activate when worn, but must be rezzed to become transferable.


The other known exploit is a method of duplicating no-copy objects which are rezzed. To combat this exploit, we now track balances for each "card instance" on the server. So while it may still be possible to clone the cards, if you spend money with one of them, the balance of the others will also be reduced.
The other known exploit is a method of duplicating no-copy objects which are rezzed. To combat this exploit, we now track balances for each "card instance" on the server. So while it may still be possible to clone the cards, if you spend money with one of them, the balance of the others will also be reduced.

Revision as of 15:15, 17 September 2019

THIS IS AN EXPANSION PACK FOR CASPERVEND. IT REQUIRES A FUNCTIONING CASPERVEND SYSTEM.

If you don't have one, you can get our free version - search for CasperVend on the SL Marketplace, or teleport to the CasperTech store inworld

Welcome to Version 3

The Gift Card expansion pack for CasperVend allows you to give (or sell) gift certificates for use in your store. They work just like a store card in real life - you can sell them or give them out however you wish, and the recipients can use them to buy things at your store.

Version 3 of the gift card expansion is a complete re-write, with a heap of new features and fixes.

No-copy exploit protection

When the gift card system was first released, the belief was that the Second Life permissions system is secure, and we depended on the protection afforded to "no-copy" objects. Unfortunately, this was not the case, and despite much correspondence with the lab, active exploits still remain in the wild.

For a long time, incidents of these types of exploits being used were relatively rare. Unfortunately, recently such incidents have become much more common. As such, we've had to take steps to protect our merchants from this problem.

One of the exploits happens at inventory transfer time, before the "slam bit" is applied which sets next-owner perms. Once rezzed, this exploit can no longer be performed. To combat this exploit, V3 cards must now be rezzed by the purchaser before they activate. The card will also activate when worn, but must be rezzed to become transferable.

The other known exploit is a method of duplicating no-copy objects which are rezzed. To combat this exploit, we now track balances for each "card instance" on the server. So while it may still be possible to clone the cards, if you spend money with one of them, the balance of the others will also be reduced.

What's new in V3

  • Brand new mesh card design
  • Card activation to fight no-copy exploits in the grid (see below)
  • Server-side balance tracking to fight no-copy exploits in the grid (see below)
  • Balance transfers between cards
  • Customised instructions notecard delivery for your store landmark and personal messages to your customers
  • Easy customisation via a dedicated store logo face on the card
  • Refunds - when a transaction fails, the balance is now re-credited onto the card rather than being lost forever
  • Verify - to help combat against fake and malicious gift cards, customers can verify that their cards are genuine
  • Full tracking for activations, card purchases, top-ups and transfers

Behaviour changes

  • Cards must be explicitly "issued" by merchants before they can be passed to customers, with clearer and more secure permissions checks to help merchants avoid mistakes.
  • For security reasons, it is no longer possible for merchants to "test" cards before they are issued. Instead, pass the card to an alt for testing.
  • For security reasons, the card will no longer work with old top-up terminals. Please use terminals of at least v2.30.
  • For security reasons, once your customers purchase their cards they must REZ the card to "activate" it. If they WEAR the card, it will activate, but will not become transferrable until rezzed.

Before you begin..

Before you dive in to deploy your gift cards, there are a couple of things you need to be aware of:

"Run Scripts" Required


The gift card is a scripted object, therefore the current owner must be able to run scripts while in your store in order for it to work. Permissions set on the card and script do not change this fact.

  1. You must be able to run scripts, in order to set up the gift cards
  2. Your customers must be able to run scripts at your store, in order to use the gift cards on your vendors and/or "top up" the cards.

If your customers cannot run scripts, the card will usually still appear to be in "merchant mode" because the gift card script can't run to process the change in owner.

Being able to run scripts is controlled by options within the About Land floater:

click for larger image

About "Merchant Mode"


As long as YOU have one of YOUR gift cards, YOU will always have full perms, and the card will ALWAYS be in merchant mode when you rez it out. THIS IS NORMAL.

CasperVend scripts cannot change permissions on your products!

By default, the gift card will ALWAYS be in "merchant mode" when you (the merchant) have the card. This means it will also say "Please follow your user guide", even after you've completed the setup.

It only goes into "customer mode" when it's passed on to someone else who's not you, the merchant.

If YOU buy a gift card as a test from YOUR vendor, the next-person permissions will NOT kick in yet, because YOU are still the owner.

Permissions


VERY IMPORTANT!

IT IS YOUR RESPONSIBILITY TO ENSURE THE PERMISSIONS ON THE CARDS ARE SET CORRECTLY BEFORE HANDING THEM OUT. YOU MUST SET "NO COPY" PERMISSIONS ON THE SCRIPT INSIDE THE CARD AS WELL AS THE ACTUAL PRIM.

DO NOT, UNDER ANY CIRCUMSTANCES, ATTACH A GIFT CARD TO A GROUP NOTICE!
If you hand out a "copy" gift card, it could give that person unlimited access to your store products! We accept no responsibility for any damages caused by gift cards being handed out as copy.
There is a security process in place which will disable your gift card if it's given out with the wrong permissions. This is for your protection, but don't rely on it. Check your permissions anyway.
If you need any help with setting the permissions correctly, please contact Casper Warden.
If you do make a mistake and hand out a gift card with copy permissions, CONTACT US IMMEDIATELY. We can block gift cards, but we will not compensate for damages.

Instructions

Step 1: Unpack your Gift Card crate on land with scripts enabled


You should see the following two messages - in local chat (so check your local chat buffer) - when all works well:

 CasperVend2 Gift Card Expansion Pack v(____): Please wait, registering this plugin with CasperTech..
 CasperVend2 Gift Card Expansion Pack v(____): Your purchase has been registered successfully. Thanks!
  • If you do NOT see ANY message, you need to try again on land where you can run scripts. Or change your group tag and try again.
  • If you get an ERROR message of some sort, like this:
 CasperVend2 Gift Card Expansion Pack v___ *REZ + TOUCH*: Please wait, registering this plugin with CasperTech..
 CasperVend2 Gift Card Expansion Pack v___ *REZ + TOUCH*: There was a problem registering this plugin! It might not work until it's registered. Please contact CasperTech support!

Then check the version. If it's too old (see above), then update. If it's up to date and you still get an error, then do an IM ticket using these instructions.

Step 2: Rez gift card on the ground

It's important that you REZ and not WEAR your card, because certain changes won't stick if you are wearing your card.

Step 3: Set permissions

  1. Right click, and EDIT the card
  2. Set the card permissions to [NO MODIFY] and [NO COPY], but leave [TRANSFER] ticked
  3. Switch to the CONTENTS tab
  4. Right click the "CasperVend Gift Card Activator" script, and go to PROPERTIES.
  5. Set the permissions of the "CasperVend Gift Card Activator" script to [NO TRANSFER], then close the Inventory Item Properties window
  6. Right click the "CasperVend Gift Card v_____" script, and go to PROPERTIES.
  7. Set the permissions of the "CasperVend Gift Card v_____" script to [NO COPY], then close the Inventory Item Properties window.

Step 4: Customisation

Customer Instructions Notecard

  1. With the edit tools still open from Step 3..
  2. Copy the contents of the "Instructions" notecard into a brand new notecard with exactly the same name
  3. Edit the contents of the notecard. We've left instructions IN CAPITALS which you should follow and remove.
  4. Delete the "Instructions" notecard from inside the gift card
  5. Place your new instructions notecard into the card

With the card in EDIT mode, you can choose "Select Face" on the edit tools, and click the card where it says "YOUR LOGO HERE".

You can then apply your own store logo.

Advanced customisation

If you'd prefer to customise the other textures on the card, the UV bake is supplied inside the crate.

If you want to change the "BUY NOW" button image, place a replacement texture inside the card, and name it "118ee4c0-c5ca-8d8b-7ab7-489f0a20765c"

Gift Card Name

Rename the card object to something distinctive. It's HIGHLY RECOMMENDED that you keep "REZ TO ACTIVATE" at the end of the name so that your customers know what they need to do.

Step 5: Save a copy of your card

To save yourself time in the future, rename the card to something familiar, and take a copy into your inventory.

Any time you want to issue a card in the future, you can rez this card and start from Step 6.

Step 6: Set up your card

Cash Balance

If you wish to put money on the card for your customers to spend at your store, type the following in local chat:

  set balance 500

NOTE: No commas, quotes, brackets, money signs or any other symbols are necessary.

Product Mode

If you'd prefer, you can set a product on your card which will be delivered to your customer for free when they hit "buy now".

Issue the following command in local chat:

  set product

This puts the card in the proper mode to set the product. If you change your mind before selecting the product, just issue the following command to go back to merchant mode:

  cancel
  

Once the card is in "set product" mode, click the vendor showing the product you want to set the card to.

The product image will appear on the gift card at this time.

Step 7: Issue your card

This is a new step in version 3. Once you "issue" your card, you CAN NOT CHANGE IT - so be sure it's set correctly before you issue.

In local chat, type

  set issue

The card will now perform some permissions checks. If anything is wrong, you'll get a blue dialog telling you what the problem is.

If successful, the floating text above the card will change to indicate that the card is ready.

Step 8: Distribute

Your card is now ready!

You can distribute your card any way you like, but do not send it in a group notice, since this will allow people to claim as many cards as they wish.


Important Considerations

Branding


By default, the gift cards show up in inventory as CasperVend Gift Card vX.XX.

What happens when you don't change this name and you sell them with the name unchanged? Your customer now has a gift card named "CasperVend Gift Card vX.XX" - and absolutely no clue what store they came from!

We recommend utilising all of the following methods to customise your gift cards so that your customers will know where to use them:

  1. Rename the gift card object inworld to include the name of your store
  2. Change the floating text over it to include the name of your store
  3. Change the logo on the card to match your store

Remember, gift cards are supposed to get people to come in to your shop. How can customers even FIND your shop if there's no indicators on the gift card itself?

Transaction Log Information


This capability is NEW beginning with version 2.20.

When a gift card is used for a transaction, originally the transaction log would just say "gift card". Now the transaction log includes the following information about the gift card itself:

Variable What it means
CardID (previously "instanceID" in version 2.30 and below) This is the unique identifier for the card, set when activated by the customer. If multiple cards have the same cardID, they've been cloned - the server will ensure that the balance is deducted from both cards when used.
lastOwner The avatar key/UUID of the avatar the card was last received FROM by the customer. This is NOT the customer using the card.
(The avatar using the card will appear on the top of the transaction page and in your statistics logs as normal for transactions.)
oldBalance The cash balance on the card before the purchase begins
balance The cash balance on the card when the transaction completes. When a gift card is set to a product, the end balance will always be L$0 after the transaction.
issueID (previously "cardID" in version 2.30 and below) This ID is set when you use the "set issue" command, preparing your card for distribution. A single issue may have many cards activated from it.

"Gift Cards" Tab


This section on the website has not yet been updated for the new gift cards - coming soon.

Top-Up Terminal

  1. Rez out your Topup terminal
  2. Grant Debit Permissions (the orange popup) when asked

If you rez your Topup terminal and do NOT get an orange popup for debit perms, reset the script using whatever option your viewer has for Edit > Reset Scripts In Selection.

There is no admin menu, so once it is rezzed, it is active. The topup terminal only accepts payments in Lindens (Your inworld SL L$ balance).

By default it ships with "touch" as the default action. If you wish, you may Edit the terminal, and on the "general" tab, set the default action to "Pay" instead of "Touch".

Customer Usage of Topup Terminal


Whoever currently has the gift card will need to:

  1. Wear the gift card (so that it appears on their HUD)
  2. Pay the terminal to increase their gift card balance

If they are not wearing the gift card, then after about a minute they will get a "Your topup failed. Please wear your gift card!" message.

You, the merchant owner, will get a "Sorry, that didn't work..." message if you wear the gift card and try this WHILE it is in merchant mode.

If it fails, it will refund the money, as long as debit permissions were originally granted. (It will still accept payments, even without debit permissions - YOU will need to manually process refunds in case of error, though.)

Distributing Gift Cards

Selling your new gift cards is easy! Here are some of the ways merchants have mentioned selling theirs in the past:

Sell through CasperVend


You can box up the gift card (and include a notecard of instructions and a landmark) if you wish, and drop the box in the DropBox to sell through the vendors. The box isn't required - if you just want to drop the gift card itself into the DropBox, that works too. You'll need to set up the product listing, either way.

Sell via a "Buy" box


Just drop the gift card in a box, and sell it right from that box. You won't see statistics in your CasperVend, though.

Sell the empty (no balance on them) cards


Simply sell (or give away) gift cards without a balance, and set out a top-up terminal that people can use to put a balance on the cards.

Group Discount Workaround

You cannot set a gift card to automatically give a group discount. What you can do, however, is one of the following:

  1. Set a vendor discounted for the group, and tell group members with gift certificates to use that
  2. Set a gift card to a product, then sell THAT gift card through a group-only vendor to that group at the discounted price.

Group Invites

Yes, if you have a group bot properly set up and configured, a gift card purchase will trigger a group invite.

Gifting Via Gift Cards

Gift cards may now (as of v2.12) be used to send gifts - the gift card remembers which vendor the customer has touched and passes the key to the back end so that it gets the correct gift options from that vendor.

Gift Cards & Affiliate Vendors

Gift cards will work on vendors rezzed by affiliates/franchisEEs for your product line.

"Could Not Find Texture" Error

There is no texture in the product listing for the product you are trying to connect with the gift card.

Gift Card Limitations

These are the known limitations for gift cards as of card version 2.21.

Gift Cards Must Be Present to Top Up


To add money to a gift card, you must:

(1) have possession of the gift card
(2) be wearing it
(3) be at a top-up terminal for the shop the gift card came from

Gift Cards Are Merchant-Specific


This means that the gift cards will only work in the shop, for the products, of the merchant who made the gift card. And, only the top-up terminal owned by THAT merchant will be able to top up the gift card.

No Group Discounts


The gift card itself doesn't recognize group discounts, unless, and until money is paid over and above the amount on the card - and then the discount is calculated only on the money that is actually paid, not on the whole product price.

If you want to offer a group discount for group members using gift cards, set a vendor to that group, limit it to group members only, and then have your group members use their gift cards only on the group vendor.

No Partner Cards


Gift cards cannot be used on a partner's vendors - each merchant needs to set up their own set of gift cards for use on their vendors alone.

Cannot limit transactions


For gift cards with a credit balance on them, you cannot limit what can be purchased with them, other than by the vendor option to not allow gift card usage.

After the purchase is made, you will be able to see what was purchased with a gift card (the statistics will indicate "gift card"), who did the purchasing, and who received it.

Cannot be limited to single purchase


Gift cards may be set to a single product, or they may be set to a L$ balance. They cannot be set to a single purchase, because the script does not track the number of purchases. This also means the gift card cannot be scripted to self-delete after the first use, because the script will not listen for external commands - there is no gift card API.

Debit Permissions

There is one occasion where the gift card will ask the customer for debit permissions: When the amount on the card doesn't cover the cost of the product the customer is purchasing.

The customer will get a popup box telling the user WHY it is requesting the perms, before the debit window comes up.

This information popup must be acknowledged by the customer before the debit permissions window will come up. If the customer complains to you about the debit perms window, they likely just blindly clicked through the information popup without reading it before getting the debit perms popup.

The gift card will ask for debit permissions EACH time the card is used, whenever the purchase price exceeds the balance on the card.

Additional Notes On Debit Perms


  1. Fees, discounts, commissions and profit shares are ONLY paid if the customer pays an "extra amount" beyond what is available on their card (otherwise known as "part payments").
  2. Fees, discounts, commissions and profit shares are ONLY paid based on the extra amount paid by the customer, not the full purchase price of the product.
  3. .. this means that if the customer has a balance on their card which fully covers the purchase price of the product, no payments, discounts, fees, commissions, or profit shares are made.
  4. In the case of affiliate vendors, payments are made FROM YOUR account, not from the affiliate's account. This is because the "excess" gift card payments are made DIRECTLY TO YOU, and don't go via the affiliate.
  5. This means that if you have affiliate vendors and you also have gift cards, you MUST HAVE AT LEAST ONE VENDOR REZZED YOURSELF, or transactions will get stuck on payments and DELIVERIES WILL FAIL!
  6. NONE OF THIS INFORMATION APPLIES TO TEXTURE VENDORS. No profit shares, discounts, fees or commissions will be paid on texture vendor transactions. This information only applies to transactions with regular vendors.

Troubleshooting

Common "Not Working" Errors


  • Cards are too old
  • Scripts are not allowed for the avatar testing the card
  • Adding quote marks or other symbols that should not be included
  • Trying to test it while it's still in Merchant mode
  • Land does not allow your alt/friend/customer to run scripts, therefore cards will not work for them. See the yellow arrows on this image to know where to check the option, and how it SHOULD be set for your gift cards to work for your customers.

Do NOT copy/paste the card within your inventory, or the new copy in inventory will default to a balance of L$0!

FAQ


Q. I'm trying to set up custom gift cards, but I can't keep the "buy" button set to my preferred texture...
A. You need to rename your custom texture with the UUID for the "buy" button texture - 118ee4c0-c5ca-8d8b-7ab7-489f0a20765c - and put it in the gift card.
Q. I was able to set up the card correctly, but when I pass it to my alt/friend to test, it stays in "merchant mode"....
A. Your alt/friend is not able to run scripts in your store, so the gift card is unable to process and recognize the change in owner. If you are unable to set the land to allow anyone to run scripts, then that means your customers will not be able to use the gift cards on your vendors.
Q. If a transaction fails, will the money be refunded back to the card?
A1. If the transaction fails due to a problem with the card, yes
A2. v2.30 and earlier: If the transaction starts processing, THEN fails, no it does not - The website cannot communicate with the gift card, the card only SENDS information. It is critical to make sure that you do your best to ensure there are no failed transactions - the customer will need to contact you, the merchant, for a fix / replacement if their card purchase fails during the transaction process.
A3. v3.00 and later: Version 3.0 gift cards will re-credit balance if the transaction failed
A4. If the vendor is set to not allow gift card transactions, money balance on the gift card will not be touched, and the customer will get a popup saying it's not permitted.
Q1. My gift cards won't communicate with the vendors! Help!
Q2. I can't seem to set up the gift card, I keep getting "lost its configuration" messages.
A1. You have a gift card that is too old. Currently working versions are 2.09 and up.
A2. Check and make sure scripts are on in the parcel
A3. If you have a version more recent than 2.08 and still have an issue, get a redelivery to get the most up to date/fresh version.