<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Adam Frisby &#187; coding</title>
	<atom:link href="http://www.adamfrisby.com/blog/tag/coding/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.adamfrisby.com/blog</link>
	<description>ZOMGWTFHAI</description>
	<lastBuildDate>Sat, 26 Dec 2009 07:02:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>DTL-PayPal (or how you can transfer money in a virtual world without significant risk.)</title>
		<link>http://www.adamfrisby.com/blog/2009/10/dtl-paypal-or-how-you-can-transfer-money-in-a-virtual-world-without-significant-risk/</link>
		<comments>http://www.adamfrisby.com/blog/2009/10/dtl-paypal-or-how-you-can-transfer-money-in-a-virtual-world-without-significant-risk/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 12:32:24 +0000</pubDate>
		<dc:creator>Adam Frisby</dc:creator>
				<category><![CDATA[DeepThink]]></category>
		<category><![CDATA[OpenSim]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[currency]]></category>
		<category><![CDATA[hypergrid]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[osgrid]]></category>
		<category><![CDATA[paypal]]></category>

		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=473</guid>
		<description><![CDATA[WARNING:
What is being described below is dealing in real currency &#8211; you owe it to yourself if you plan to use this, to understand how it works, and perform your own risk assessment. The module is completely unsupported and unwarrantied. Use it at your own risk.

Suppose you are a user of one of the Open [...]]]></description>
			<content:encoded><![CDATA[<h3><span style="color: #ff0000;">WARNING:</span></h3>
<p>What is being described below is dealing in real currency &#8211; you owe it to yourself if you plan to use this, to understand how it works, and perform your own risk assessment. The module is completely unsupported and unwarrantied. Use it at your own risk.</p>
<p><a href="http://www.adamfrisby.com/blog/wp-content/uploads/paypal-example.png"><img class="alignnone size-thumbnail wp-image-493" title="PayPal Demonstration - Paying US$0.50 into an object." src="http://www.adamfrisby.com/blog/wp-content/uploads/paypal-example-535x500.png" alt="PayPal Demonstration - Paying US$0.50 into an object." width="535" height="500" /></a></p>
<p>Suppose you are a user of one of the Open Grids or Hypergrid system &#8211; and you want to purchase an item, pay into an object, or otherwise transact business where a real currency transfer occurs somewhere down the line. Up until now, in all environments you are reliant on trusting a third party to act as a middleman, providing some currency-equivilent (such as say V$, L$ or whatever.).</p>
<p>The problems with this scenario is that that currency is at best backed by a single corporate entity (and even then they may not choose to &#8216;back&#8217; it at all) &#8211; leaving you exposed in the event something goes wrong. This is compounded by the general trading size of these operators &#8211; tending to be sole-traders or small-business; the best scenario is one where neither the user nor the merchant needs to rely on a third party beyond the credit card processor.</p>
<p>Which is where DTL-PayPal comes in, this is a free (3-Clause BSD), open source module we&#8217;ve developed to solve this explicit problem. It uses PayPal as the backend for the transaction, and prices inworld goods in US cents. You pay me, OS$100 &#8211; and you get a bill for US$1.00 from PayPal. Every transaction needs to be confirmed by you with PayPal thus adding security into the system; in addition you don&#8217;t need to carry existing balances of &#8216;currency&#8217; in order to buy items &#8211; each item can be bought individually with a seperate transaction on your Credit Card for each purchase.</p>
<p>The transaction is a 2 step process for the user &#8211; which is illustrated in the diagram below. Step one, you &#8216;negotiate&#8217; the payment size &#8212; this is basically filling out the payment or &#8216;buy&#8217; dialog that the vendor or merchant has setup already. Step two is you will be asked to visit a special webpage (which links to one at PayPal) which sets up and pays the transaction. From a users perspective you need to do nothing more.</p>
<p><a href="http://www.adamfrisby.com/blog/wp-content/uploads/pp_paymentprocessing.png"><img class="alignnone size-full wp-image-474" title="Payment Processing Overview" src="http://www.adamfrisby.com/blog/wp-content/uploads/pp_paymentprocessing.png" alt="Payment Processing Overview" width="666" height="317" /></a></p>
<p>Steps 3 and 4 occur when PayPal has confirmed the transaction for you &#8211; once the payment is confirmed (usually within 10 seconds), PayPal notifies the module, which in turn completes the transaction, finally PayPal deposits the balance in the vendors account for immediate use.</p>
<p>Obviously the problems with inventory server issues, vendor malfunctions, etc still exist &#8211; but to a customer PayPal does allow you to dispute charges on non-delivery grounds (however beware doing this to scam the system &#8211; the merchant gets a chance at rebuttal and it can be a complicated process)</p>
<p>From a vendor perspective &#8211; the main drawback to this solution is cost, PayPal will charge you roughly $0.28 plus 2.2% for a standard account in order to process the transaction. On tiny transactions (such as one for $0.50, fee would be $0.31) this can add up to a significant portion of the transaction. For users using this exclusively, I highly recommend using a PayPal <a href="https://www.paypal.com/IntegrationCenter/ic_micropayments.html">MicroTransactions account</a> which has much lower fees (but certain additional terms &amp; conditions).</p>
<p>So, where can I get the code for this? It&#8217;s on my personal GitHub account (along with a few of my other goodies) &#8211; <a href="http://github.com/AdamFrisby/DTL-PayPal">http://github.com/AdamFrisby/DTL-PayPal</a> &#8211; I will add some further notes, first this module is currently somewhat hard coded to present a warning to the user about it&#8217;s experimental nature, remove this at your own risk. Second &#8211; OpenSim is still alpha software, you may run into other issues, so be prepared to handle them if you want to accept payments from users in it. This software has only been tested on the PayPal sandbox so far (and I recommend you do the same), however should work with the live version fine.</p>
<p>Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamfrisby.com/blog/2009/10/dtl-paypal-or-how-you-can-transfer-money-in-a-virtual-world-without-significant-risk/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>
