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。關於這個我們下次再談吧。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章