RegNow问答: 如何用你自己的服务器生成注册码?

一、问:当用户购买后,如何实时的用我自己的服务器生成注册码并发送给用户?
        答:在 Product Configuration XML 中可以用 remote.connect 的方法实现。请看下例:

<delivery>
  <deliver-license>
    <generate-license-code>
      <script>
        <define-parameter name="license_name"/>
        <return>
          <remote.connect method="get" url="https://www.mydomain.com/cgi-bin/secure/license.php" username="aname" password="mypass">
            <remote.cgi-value name="full_name"><variable name="license_name"/></remote.cgi-value>
          </remote.connect>
        </return>
      </script>
    </generate-license-code>
  </deliver-license>
</delivery>

在这个例子中的 script 把用户的名字传到你的服务器上。你的 license.php 生成一个注册码并传回给 RegNow。你的回复只要是一个字符串就行了。remote.connect 的 method 可以是 get 或 post。


二、问:我担心我的注册码生成程序会被RegNow之外的人调用,怎么办?
        答:你可以用 https + http basic authentication。上面的例子就是这样的 - 你可以依样设置 ID & Password。另外,你还可以检验 IP Range。RegNow 的 IP Range 是 209.87.176.0/20 or 209.87.178.0/24(注:这里我用的是 Classless Inter-Domain Routing 的 notation)。


三、问:除了名字外,还有什么信息我可以用这种方式拿到吗?
        答:当然。几乎所有的定单内容和顾客信息都可以用这种方式拿到。现略举一二:

定单ID: <remote.cgi-value name="orderid"><value-of class="orderitem" field="id"/></remote.cgi-value>
产品ID: <remote.cgi-value name="item"><value-of class="orderitem" field="product"/></remote.cgi-value>
数量:<remote.cgi-value name="quantity"><value-of class="orderitem" field="quantity"/></remote.cgi-value>
用户Email:<remote.cgi-value name="email"><value-of class="recipient" field="email"/></remote.cgi-value>


四、问:那 remote.connect 的使用好象不仅仅限于注册码的生成。我可以用它来给我的服务器实时传递定单信息,是吗?
        答:是的。不过 RegNow 提供更好的实时传递工具:direct http order notification。关于这个我们下次再谈吧。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章