-if you get a success <cfbreak> out of the loop
-if it fails the first time it tries 4 more times or until successful
That said...2 out of 5 times is totally unacceptable and I'd be riding someones hiney over at LinkPoint ;-)
Cheers
Bryan Stevenson B.Comm.
VP & Director of E-Commerce Development
Electric Edge Systems Group Inc.
t. 250.920.8830
e. [EMAIL PROTECTED]
---------------------------------------------------------
Macromedia Associate Partner
www.macromedia.com
---------------------------------------------------------
Vancouver Island ColdFusion Users Group
Founder & Director
www.cfug-vancouverisland.com
----- Original Message -----
From: Bailey, Neal
To: CF-Talk
Sent: Monday, March 22, 2004 2:49 PM
Subject: RE: Linkpoint API Host not responding problem.
Yeah I am using their custom tag/dlls to connect to their system. I also
thought that it should loop a few times before it errors out. I think the
problem is with the creation of the com object or something, I'm not sure
though. It seems to respond way to fast like it did not even try. Like I
said before if I backup and try to process the order again it will work. It
seem to happen way too often... 2 out of 5 orders will show a "Cannot
resolve Host error".
Here is the code that I think is responsible... it pull our store number,
host and port number from another file.
<!--- CONNECT TO THE COM OR CREATE IT IF NO CONNECTION EXISTS--->
<CFTRY>
<CFOBJECT
ACTION=""
CLASS="LpiCom_6_0.LinkPointTxn"
NAME="LPI_CFX_COM"
TYPE="COM">
<!--- ELSE CREATE THE OBJECT --->
<CFCATCH>
<CFOBJECT
ACTION=""
CLASS="LpiCom_6_0.LinkPointTxn"
NAME="LPI_CFX_COM"
TYPE="COM">
</CFCATCH>
</CFTRY>
<!--- SEND THE TRANSACTION USING THE COM --->
<cfset resp = LPI_CFX_COM.send(keyfile,host,port,outXML)>
<!--- RETRIEVE THE RESPONSE XML, CREATE A DOC ROOT --->
<!--- SET THE STANDARD RESPONSE FOR TELECHECK --->
<cfif listcontainsnocase(outxml, "telecheck", ">")>
<!--- RESPONSE CONTAINS WHITE SPACE WHICH CAUSES AN ERROR SO TRIM IT --->
<CFSET resp = #trim(resp)#>
<!--- CREDIT CARD RESPONSES NEED A DOC ROOT, WRAP RESPONSE --->
<cfelse>
<CFSET resp = '<response>#resp#</response>'>
</cfif>
<!--- SET THE XML DOC IN A VARIABLE --->
<CFSET XMLResp = XmlParse(resp)>
<!--- SET THE DOC ROOT TO A VARIABLE --->
<CFSET rootResp = XMLResp.XmlRoot>
<!--- USED TO SEE THE XML DOCUMENT STRUCTURE (NOT FOR LIVE SITE) --->
<!--- <cfdump var=#XMLResp#> --->
<!--- LOOP THROUGH THE RETURN ELEMENTS --->
<CFLOOP FROM="1" TO="#arrayLen(rootResp)#" index="i">
<!--- CHECK IF THE SPECIFIED ELEMENT EXISTS. SET IT'S VALUE --->
<cfif isDefined('rootResp.r_error')><Cfset r_error =
"#rootResp[i].r_error.xmltext#"><cfelse><cfset r_error = ""></cfif>
<cfif isDefined('rootResp.r_approved')><Cfset r_approved =
"#rootResp[i].r_approved.xmltext#"><cfelse><cfset r_approved = ""></cfif>
<cfif isDefined('rootResp.r_ordernum')><Cfset r_ordernum =
"#rootResp[i].r_ordernum.xmltext#"><cfelse><cfset r_ordernum = ""></cfif>
<cfif isDefined('rootResp.r_code')><Cfset r_code =
"#rootResp[i].r_code.xmltext#"><cfelse><cfset r_code = ""></cfif>
<cfif isDefined('rootResp.r_tdate')><Cfset r_tdate =
"#rootResp[i].r_tdate.xmltext#"><cfelse><cfset r_tdate = ""></cfif>
<cfif isDefined('rootResp.r_time')><cfset r_time =
"#rootResp[i].r_time.xmltext#"><cfelse><cfset r_time = ""></cfif>
<cfif isDefined('rootResp.r_ref')><cfset r_ref =
"#rootResp[i].r_ref.xmltext#"><cfelse><cfset r_ref=""></cfif>
<cfif isDefined('rootResp.r_authresponse')><cfset r_authresponse =
"#rootResp[i].r_authresponse.xmltext#"><cfelse><cfset r_authresponse =
""></cfif>
<cfif isDefined('rootResp.r_message')><cfset r_message =
"#rootResp[i].r_message.xmltext#"><cfelse><cfset r_message = ""></cfif>
<cfif isDefined('rootResp.r_avs')><cfset r_avs =
"#rootResp[i].r_avs.xmltext#"><cfelse><cfset r_avs = ""></cfif>
<cfif isDefined('rootResp.r_csp')><cfset r_csp =
"#rootResp[i].r_csp.xmltext#"><cfelse><cfset r_csp = ""></cfif>
<cfif isDefined('rootResp.r_vpasresponse')><cfset r_vpasresponse=
"#rootResp[i].r_vpasresponse.xmltext#"><cfelse><cfset r_vpasresponse =
""></cfif>
<cfif isDefined('rootResp.r_score')><cfset r_score =
"#rootResp[i].r_score.r_providerone.xmltext#"><cfelse><cfset r_score =
""></cfif>
<cfif isDefined('rootResp.r_shipping')><cfset r_shipping =
"#rootResp[i].r_shipping.xmltext#"><cfelse><cfset r_shipping = ""></cfif>
<cfif isDefined('apiversion')><cfset r_apiversion =
"#apiversion#"><cfelse><cfset apiversion = ""></cfif>
<!--- END THE LOOP --->
</cfloop>
Any ideas on what I could do to make it retry again?...
Thnaks,
Neal Bailey
Internet Marketing Manager
E-mail: <mailto:[EMAIL PROTECTED]> [EMAIL PROTECTED]
_____
From: Bryan Stevenson [mailto:[EMAIL PROTECTED]
Sent: Monday, March 22, 2004 12:19 PM
To: CF-Talk
Subject: Re: Linkpoint API Host not responding problem.
Oh ya....doesn't LinkPoint have a custom tag already built for you? I would
think that it would return an error code which you could use to inform the
customer that the payment server is down (not ideal but at least you could
handle it). That said there is no way a p[ayment gateway should be down 30
percent of the time (if they want to stay in business). I know LinkPoint is
merging with SharePay and YourPay....but it is associated with Chase
Manhattan and I would expect top notch service (although I've chatted with
them and didn't get said service).
my 2 cents
Bryan Stevenson B.Comm.
VP & Director of E-Commerce Development
Electric Edge Systems Group Inc.
t. 250.920.8830
e. [EMAIL PROTECTED]
---------------------------------------------------------
Macromedia Associate Partner
www.macromedia.com
---------------------------------------------------------
Vancouver Island ColdFusion Users Group
Founder & Director
www.cfug-vancouverisland.com
----- Original Message -----
From: Bailey, Neal
To: CF-Talk
Sent: Monday, March 22, 2004 10:06 AM
Subject: Linkpoint API Host not responding problem.
Hello <cfers>all</cfers>,
I am having an issue with my credit card merchant gateway, I used the
Linkpoint API and I have it working great except one little problem. About
30 percent of the time I seem to get a "cannot resolve host" error. This
will happen the instance someone places an order or I run a post order
authentication against the order number. If you go back and run the order
again it will go through with no problems. It seems like the
secure.linkpoint.com sites does not respond quickly enough or is just not
available.
I was wondering if there is a way to make my processing code re-run if the
Host is not responding. I was thinking of some type code that would loop
through for maybe 5 times before it gave an error.
Or maybe this is an issue with the merchant and they need to fix it... I'm
not sure what to do or how to make it re-run the card if the host is not
responding. What do you guys think I should do?.... I would think that the
com object that it uses would already check for this.
Thanks,
Neal Bailey
Internet Marketing Manager
E-mail: <mailto:[EMAIL PROTECTED]> [EMAIL PROTECTED]
_____
[Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]