CasperVend 2/Deliveries: Difference between revisions

From CasperTech Wiki
Jump to navigation Jump to search
(Created page with "== '''<span style="color:#00528c">Anatomy of a Transaction</span>''' == Ever wonder what goes on during a purchase transaction? Or where things can get hung up? On the merchan...")
 
Line 76: Line 76:


: 1) Give "transaction complete" or "transaction failed" message for status page
: 1) Give "transaction complete" or "transaction failed" message for status page
== '''<span style="color:#00528c">FAQ / Troubleshooting</span>''' ==
: '''Q. I got this message: "failed because 'We've encountered a problem with pricing on the vendor (the price info is out of date). Please wait a minute and try your transaction again.' - the money has been refunded to the customer." - what happened?'''
:: '''A.''' You may have changed the price recently and the vendor hadn't updated to the new price yet.
: '''Q. I'm trying to set an item to be delivered on touch by turning off the touch menu. Unfortunately, it's not delivering. How can I fix this? '''
:: '''A.''' Make sure the product is set to be L$0 - if the product has a price greater than L$0 and the vendor has a price override of L$0, it's no longer considered "free on touch".
: '''Q. Can you limit a purchase to one per avatar for a limited time period? '''
:: '''A.''' You can limit to one per avatar, but not for any time period. It's either limilted, or not - you have to make the changes manually. The 1-per-person limit is based on RECIPIENT, not buyer. So if you have the item limited to 1-per-person, the same person can buy 10 copies, but they have to go to 10 differnet avatars.
: '''Q. My customer said they bought one item, but received a completely unrelated item! '''
:: '''A.''' Have the customer search their inventory for the item they actually purchased. What often happens is they will receive the item just dandy, but get confused by a broadcast delivery of something ELSE that happens right around the same time.
: '''Q. A customer bought two of something but I ony received the L$ for one, and I don't have any affiliates - what happened? '''
:: '''A.''' Most likely reason: You have two caspervend scripts in one vendor. You may have run the update bee and it may not have deleted the old script when it dropped in the new script. Just delete the older of the two and you'll be fine.
           
: '''Q. How does the system track purchases when the servers are down? '''
:: '''A1.''' When servers are UP, transactions are sent to all three servers simultaneously to ensure there's no problem getting the product to the customer.
:: '''A2.''' When servers are down, our v2 vendors will:
::: 1) Make multiple attempts to register that the sale took place
::: 2) If they can't succeed, they'll send an email to a special inbox.
::: 3) Once the servers return to active duty, the inbox is read every 5 minutes and any transactions recorded there are picked up and pushed through.
:: This means, even if the database crashes, the transactions are NOT lost. They just have to wait until the database comes back to life.
   
: '''Q. Is it possible for lag to cause a multi-item vendor to deliver the wrong item, say, if it delivers the item that was up before the new one fully loaded on the vendor? '''
:: '''A.''' No, that will never happen. The system will deliver the item that was configured. However....the user may not have understood which item was actually the active / selected item in the vendor.
         
: '''Q. I'm setting up products on the website. One of the options is for "Second Item". What is that? Can I include something like a free gift when sold?'''
:: '''A.''' You can deliver an extra item (can be any item), however the SECOND item will NOT be included with redeliveries, only the FIRST (primary) item configured on the website. 
: '''Q. A customer contacted me saying they never received an item / unacceptable delivery delays. My stuff is no-copy, so is there a way to cancel the first transaction if I redeliver the purchase manually? '''
:: '''A.''' Casper Warden writes: "Yes, you need the transaction link which is sent to the customer when they pay the vendor. Then on that page you can cancel the transaction."   
           
:: If there's a delivery delay it usually means there's something that you (the merchant) need to fix - the details are in the wall-of-fine-print in the merchant link from the sale - just read carefully to see where the problem might be.
: '''Q. I've got a ton of customers complaining that they never got their purchase! When will these go through??'''
:: '''A1.''' Casper will need the transaction URL that you and/or the customer received when the purchase was made. Without this link, he CANNOT see what's happened with the transaction. (Just the name of the product or customer is NOT helpful if there have been database issues.) 
:: '''A2.''' If the transaction completed and the customer is complaining they did not receive it, bear in mind the following:
::: '''1)''' Customers can miss the popup box -completely-, depending on their viewer. This is especially true for v3-based interface viewers (Firestorm, Exodus, Catznip, Niran's Viewer, the current Linden Lab viewer, etc.) where notices just seem to "vanish" if you don't tend to them right away.
::: '''2)''' Customer may have muted you for whatever reason in the past (this also prevents them from getting purchases from your servers.)
::: '''3)''' They may log off without "Accept"ing the delivery (thus, it gets lost.) If the product is copiable, they can redeliver it themselves from the redelivery terminal later.
::: '''4)''' If they've logged off before it got sent, their messages may have capped in the meantime (and thus the delivery gets lost.) If the product is copiable, they can redeliver it themselves from the redelivery terminal later.
::: '''5)''' Customer may have been in "Busy" mode, and the purchase was auto-declined.
::: '''6)''' If there's a global system issue, and your products are no-copy, it is entirely possible that people MAY be trying to scam you, especially if they don't want to provide a transaction link.       
:: '''A3.''' If you have no-copy items, consider having a "rez check" script in your product packaging - this will let you determine whether they rezzed out the item to unpack it. 
:: '''A4.''' LL *currently* does NOT have a "received verification" system in place. There is NO way to verify that a user accepted the delivery, unless (1) you have a script in the box that notifies YOU when it's rezzed out, and (2) they rez it in a script-enabled area.
: '''Q. A (single) user claimed that they didn't get a delivery... '''
:: '''A.'''  In addition to the points in the last answer, deliveries will also fail to arrive if they happen to be sent while the user is teleporting. This is why the vendor gives a message NOT to teleport away until the item is delivered.
:: This is an SL issue, not specific to any vendor system - SL sees you as "offline" while you're teleporting, because you are not in a single sim, but it's not a true "offline" status. NOTHING is guaranteed to get through in a teleport, not even IM's.

Revision as of 09:15, 17 July 2013

Anatomy of a Transaction

Ever wonder what goes on during a purchase transaction? Or where things can get hung up? On the merchant's version of the transaction link is a very long "wall of text" that gives the details. This is a simpler explanation of what goes on, and where some of the common error points are.

Calculating Processing Plan

1) What is the product name?
2) Is vendor affiliate locked?
3) Search for item connected to product name
4) Does product have an item configured to be delivered on purchase?
If not, a "No product configured for delivery" message will appear here
5) Is recipient or purchaser banned?
6) Is merchant blocked?
7) Is transaction blocked?
8) Is maximum # of purchases exceeded?
9) Are duplicates restricted?
10) Did the amount paid match the purchase price?
11) Does the tag worn by customer match the one the vendor is rezzed under?
12) Are there group restrictions?
13) Has customer spent enough for a discount?
14) Are they "free" vendors subject to CT commission?
15) Are they affiliate vendors subject to affiliate fee?
16) Are there profit shares?

Resolve avatar names

1) Resolve name-to-key
If someone is too new in SL the system won't find them because it doesn't know their avatar key yet - just have the new account click any vendor to be added to the name2key database.

Check Item Availability / Make Delivery

1) Find a dropbox that contains the item
2) Find product in the dropbox
3) Check item availability with the box
4) Check if box is active
5) If not active, check all previously-deferred boxes
6) When next box is located, see if product is in box
7) System repeats 1-6 until either a dropbox sends the item, or the maximum number of retries is reached.
If a DropBox has "gone dark", you'll see these messages:
"CHECK failed on....Response: Took 0.03 seconds to respond / time out." 
"Sent kiss of life to v2 dropbox: (dropbox UUID)"
"No active dropbox currently contains the item (product name)" 
"Exception: The item (product name) is not available for delivery"
If a DropBox does NOT contain the product package at all (either due to not being configured on the product listing, OR the product package in the DropBox has a different name - remember, matching captialisation counts!), you'll see "just" these messages:
"No dropbox currently contains the item (product name)" 
"Exception: The item (product name) is not available for delivery"
If the delivery is (eventually) successful, then instead you will see:
"Attempting to load (dropbox UUID)"
"Delivery success! v2 DropBox returned VERIFIED - took (number) seconds."

Send Delivery Notices

1) Send the various "transaction complete" IM's to both merchant and customer

Add to Statistics

1) Add to web stats
2) Send ANS call if required
3) Add to customer stats

Send Linked Messages

1) Send linked messages (such as API script calls)
2) Send message to dropbox

Customer Loyalty Message

1) Are there spend levels even set up?
2) If yes, send loyalty message to customer
3) If not, no loyalty message goes at all to customer

Step 8: Complete!

1) Give "transaction complete" or "transaction failed" message for status page

FAQ / Troubleshooting

Q. I got this message: "failed because 'We've encountered a problem with pricing on the vendor (the price info is out of date). Please wait a minute and try your transaction again.' - the money has been refunded to the customer." - what happened?
A. You may have changed the price recently and the vendor hadn't updated to the new price yet.
Q. I'm trying to set an item to be delivered on touch by turning off the touch menu. Unfortunately, it's not delivering. How can I fix this?
A. Make sure the product is set to be L$0 - if the product has a price greater than L$0 and the vendor has a price override of L$0, it's no longer considered "free on touch".
Q. Can you limit a purchase to one per avatar for a limited time period?
A. You can limit to one per avatar, but not for any time period. It's either limilted, or not - you have to make the changes manually. The 1-per-person limit is based on RECIPIENT, not buyer. So if you have the item limited to 1-per-person, the same person can buy 10 copies, but they have to go to 10 differnet avatars.
Q. My customer said they bought one item, but received a completely unrelated item!
A. Have the customer search their inventory for the item they actually purchased. What often happens is they will receive the item just dandy, but get confused by a broadcast delivery of something ELSE that happens right around the same time.
Q. A customer bought two of something but I ony received the L$ for one, and I don't have any affiliates - what happened?
A. Most likely reason: You have two caspervend scripts in one vendor. You may have run the update bee and it may not have deleted the old script when it dropped in the new script. Just delete the older of the two and you'll be fine.
Q. How does the system track purchases when the servers are down?
A1. When servers are UP, transactions are sent to all three servers simultaneously to ensure there's no problem getting the product to the customer.
A2. When servers are down, our v2 vendors will:
1) Make multiple attempts to register that the sale took place
2) If they can't succeed, they'll send an email to a special inbox.
3) Once the servers return to active duty, the inbox is read every 5 minutes and any transactions recorded there are picked up and pushed through.
This means, even if the database crashes, the transactions are NOT lost. They just have to wait until the database comes back to life.
Q. Is it possible for lag to cause a multi-item vendor to deliver the wrong item, say, if it delivers the item that was up before the new one fully loaded on the vendor?
A. No, that will never happen. The system will deliver the item that was configured. However....the user may not have understood which item was actually the active / selected item in the vendor.
Q. I'm setting up products on the website. One of the options is for "Second Item". What is that? Can I include something like a free gift when sold?
A. You can deliver an extra item (can be any item), however the SECOND item will NOT be included with redeliveries, only the FIRST (primary) item configured on the website.
Q. A customer contacted me saying they never received an item / unacceptable delivery delays. My stuff is no-copy, so is there a way to cancel the first transaction if I redeliver the purchase manually?
A. Casper Warden writes: "Yes, you need the transaction link which is sent to the customer when they pay the vendor. Then on that page you can cancel the transaction."
If there's a delivery delay it usually means there's something that you (the merchant) need to fix - the details are in the wall-of-fine-print in the merchant link from the sale - just read carefully to see where the problem might be.
Q. I've got a ton of customers complaining that they never got their purchase! When will these go through??
A1. Casper will need the transaction URL that you and/or the customer received when the purchase was made. Without this link, he CANNOT see what's happened with the transaction. (Just the name of the product or customer is NOT helpful if there have been database issues.)
A2. If the transaction completed and the customer is complaining they did not receive it, bear in mind the following:
1) Customers can miss the popup box -completely-, depending on their viewer. This is especially true for v3-based interface viewers (Firestorm, Exodus, Catznip, Niran's Viewer, the current Linden Lab viewer, etc.) where notices just seem to "vanish" if you don't tend to them right away.
2) Customer may have muted you for whatever reason in the past (this also prevents them from getting purchases from your servers.)
3) They may log off without "Accept"ing the delivery (thus, it gets lost.) If the product is copiable, they can redeliver it themselves from the redelivery terminal later.
4) If they've logged off before it got sent, their messages may have capped in the meantime (and thus the delivery gets lost.) If the product is copiable, they can redeliver it themselves from the redelivery terminal later.
5) Customer may have been in "Busy" mode, and the purchase was auto-declined.
6) If there's a global system issue, and your products are no-copy, it is entirely possible that people MAY be trying to scam you, especially if they don't want to provide a transaction link.
A3. If you have no-copy items, consider having a "rez check" script in your product packaging - this will let you determine whether they rezzed out the item to unpack it.
A4. LL *currently* does NOT have a "received verification" system in place. There is NO way to verify that a user accepted the delivery, unless (1) you have a script in the box that notifies YOU when it's rezzed out, and (2) they rez it in a script-enabled area.
Q. A (single) user claimed that they didn't get a delivery...
A. In addition to the points in the last answer, deliveries will also fail to arrive if they happen to be sent while the user is teleporting. This is why the vendor gives a message NOT to teleport away until the item is delivered.
This is an SL issue, not specific to any vendor system - SL sees you as "offline" while you're teleporting, because you are not in a single sim, but it's not a true "offline" status. NOTHING is guaranteed to get through in a teleport, not even IM's.