OneShopNotificationListener.cfm

From Developer's API

(Difference between revisions)
(New page: <pre> <cftry> <cfset oneShopApiWrapper = createObject("component", "OneShopAPI").init() /> <cfset #oneShopApiWrapper.MerchantID("80086")# > <cfset #oneShopApiWrapper.MerchantKey("dfd9e...)
 
 
(4 intermediate revisions by one user not shown)
Line 3: Line 3:
  
 
<cfset oneShopApiWrapper = createObject("component", "OneShopAPI").init() />
 
<cfset oneShopApiWrapper = createObject("component", "OneShopAPI").init() />
<cfset #oneShopApiWrapper.MerchantID("80086")# >
+
<!--- TODO: Add  your merchant Id --->
<cfset #oneShopApiWrapper.MerchantKey("dfd9e90384e842d18c4ef74ed08a4673")# >
+
<cfset #oneShopApiWrapper.MerchantID("")# >
 +
<!--- TODO: Add your merchant Key --->
 +
<cfset #oneShopApiWrapper.MerchantKey("")# >
 
<cfset #oneShopApiWrapper.ApiUri("http://localhost")#>
 
<cfset #oneShopApiWrapper.ApiUri("http://localhost")#>
 
 
Line 12: Line 14:
 
<!--- Use REReplace to remove Byte-Order-Mark from XML the xmlParse method does not like this mark --->
 
<!--- Use REReplace to remove Byte-Order-Mark from XML the xmlParse method does not like this mark --->
 
<cfset requestBodyXML = xmlParse(REReplace(requestData,"^[^<]*", "", "all"))>
 
<cfset requestBodyXML = xmlParse(REReplace(requestData,"^[^<]*", "", "all"))>
+
<!--- cfset requestBodyXML = xmlParse("<NewOrder><Token>ea7fa6fa0156473281018d81edf5723e</Token></NewOrder>")--->
+
+
 
<cfset notificationType =  requestBodyXML.XMLRoot.XMLName>
 
<cfset notificationType =  requestBodyXML.XMLRoot.XMLName>
 
 
Line 38: Line 38:
 
<!--- Check if the API returned an error --->
 
<!--- Check if the API returned an error --->
 
<cfif apiSuccess IS "true">
 
<cfif apiSuccess IS "true">
<!---TODO: Do something with the apiResultXML--->
+
<!---TODO: Do something with the apiResultXML--->
+
 
<cfelse>
 
<cfelse>
 
<!---TODO: Do something with the error returned by the API  --->
 
<!---TODO: Do something with the error returned by the API  --->

Latest revision as of 14:01, 29 May 2008

<cftry>

	<cfset oneShopApiWrapper = createObject("component", "OneShopAPI").init() />
	<!--- TODO: Add  your merchant Id --->
	<cfset #oneShopApiWrapper.MerchantID("")# >
	<!--- TODO: Add your merchant Key --->
	<cfset #oneShopApiWrapper.MerchantKey("")# >
	<cfset #oneShopApiWrapper.ApiUri("http://localhost")#>
	
	<cfset requestBody = GetHttpRequestData()>	
	<cfset requestData = ToString(requestBody.content)>
					
	<!--- Use REReplace to remove Byte-Order-Mark from XML the xmlParse method does not like this mark --->				
	<cfset requestBodyXML = xmlParse(REReplace(requestData,"^[^<]*", "", "all"))>
			
	<cfset notificationType =  requestBodyXML.XMLRoot.XMLName>
	
	<cfset tokenNode = xmlSearch(requestBodyXML, "/" & notificationType & "/Token")>	
	<cfset token = tokenNode[1].xmlText>			
				
	<cfswitch expression="#notificationType#">
		
		<cfcase value="NewOrder">					
			<cfset result = #OneShopApiWrapper.GetOrderById(token)# />					
		</cfcase>
		
		<cfdefaultcase> 
			<!--- May have other types of notifications in the future --->
		</cfdefaultcase>
	</cfswitch>

	<!--- Load the result into XML --->
	<cfset apiResultXML = xmlParse(#result#) />
					
	<cfset apiSuccess = apiResultXML.Response.XmlAttributes["success"] >
				
	<!--- Check if the API returned an error --->
	<cfif apiSuccess IS "true">
		<!---TODO: Do something with the apiResultXML--->		
	<cfelse>
		<!---TODO: Do something with the error returned by the API  --->
	</cfif>	

<cfcatch>
		<!---TODO: Do something with the exception  --->
</cfcatch>

</cftry>