Cybercash DLL

I need to incorporate Cybercash DLL in my Web application to use their payment services. Does somebody have an experience using Cybercash DLL? I am having problems sending credit card info to them. Help!!
AlexsashaAsked:
Who is Participating?
 
ozymandiasCommented:
The merchant_conf file should be provided to you by Cybercash.

It contains :

your MCK_TYPE - e.g. merchant
the cybercash normal host and SSL host URLs
your cybercash id (provided by cybercash)
your secret key (provided by cybercash)
your merchant hey (provided by cybercash)
debugging and logging options
a list of the credit card types accepted
transaction timout values
default currency settings
etc

All these settings are used by the cybercash DLL on your machine to carry out the secure transaction with the cybercash server.

Have you :

a) made sure that this file exists in the specifed location.
b) checked that it has the correct values
c) made sure that the account used to run the web server service has read privildges on this file

?
0
 
ozymandiasCommented:
What problems are you having ?
Please be more specific.
What type of operation are you trying to peform ?
Is it an mauthcapture ?
0
 
AlexsashaAuthor Commented:
The DLL I am trying to work with is CyberCashMCK.DLL

This piece of codes I am having probles with:
___________________________________________________________
Set CPI = Server.CreateObject("CyberCashMCK.MessageBlock")
               Set MO = Server.CreateObject("CyberCashMCK.MessageBlock")
               Set mbInput = Server.CreateObject("CyberCashMCK.MessageBlock")
               Set POP = Server.CreateObject("CyberCashMCK.MessageBlock")
               Set Output = CreateObject("Scripting.Dictionary")

'Response.Write (" line 173")

               'Specify merchant configuration file location
               sConfigLoc = Application("MerchantFile")
         
               'Do not change this URL
               sPaymentURL = "http://cr.cybercash.com/cgi-bin/directcardpayment.cgi"     

               'Provide the input parameters required for the CyberCash message
               CPI.Add "cpi.card-number", sCCNumber
               CPI.Add "cpi.card-exp", sCCExpDate
               CPI.Add "cpi.card-name", sCCName

               MO.Add "mo.cybercash-id", sCCID  
               MO.Add "mo.order-id", iKey
               MO.Add "mo.price", ("usd " & iTotal )
               MO.Add "mo.version", sCC_Version

               mbInput.Add "CPI", CPI.Write
               mbInput.Add "MO", MO.Write
           
'Response.Write (" line 190")
       
               'Send transaction to CyberCash
               Set SockObj = Server.CreateObject("CyberCashMCK.socket.1")
               Set oResult = SockObj.SendCCServer(sPaymentURL, sConfigLoc, mbInput)    

               oResult.WriteDictionary(Output)
               'Dump output to the browser in name/value format
               b = Output.Items
               a = Output.Keys
__________________________________________________________
1  First error occured on Server.CreateObject("CyberCashMCK.MessageBlock"). I know that CyberCashMCK.MessageBlock needs Item/iKey pair which I is not supplied. Can I hard code them somehow?

2. Second error occured on Set oResult = SockObj.SendCCServer(sPaymentURL, sConfigLoc, mbInput).
 "Cannot create object SockObj" message or something like that.

Could you please help?    
Thanks a lot

0
Introducing Cloud Class® training courses

Tech changes fast. You can learn faster. That’s why we’re bringing professional training courses to Experts Exchange. With a subscription, you can access all the Cloud Class® courses to expand your education, prep for certifications, and get top-notch instructions.

 
ozymandiasCommented:
OK. I'm not sure what the problem is.
Has this ever worked ?
What error are you getting on Server.CreateObject("CyberCashMCK.MessageBlock") ?

Here is a basic breakdown of the code I use :

Set in = Server.CreateObject("CyberCashMCK.MessageBlock")
Set out = CreateObject("Scripting.Dictionary")

config = "merchant_conf"
operation = "mauthcapture"
ccURL = "http://cr.cybercash.com/cgi-bin/cr21api.cgi/" & operation

in.Add "order-id",TransactionID
in.Add "amount",Amount
in.Add "card-number",CardNumber
in.Add "card-exp",ExpiryMonth & "/" & ExpiryYear
in.Add "card-cid",IssueNo
in.Add "card-name",CardHolderName
in.Add "card-address",CardHolderAddress
in.Add "card-zip",CardHolderPostcode

Set socket = Server.CreateObject("CyberCashMCK.socket.1")
Set result = SockObj.SendCCServer(ccURL, config, in)
result.WriteDictionary(out)
0
 
AlexsashaAuthor Commented:
It works just fine with existing application.
I modified my codes according with yours and now it looks like this:
___________________________________________________________
Set mbInput = Server.CreateObject("CyberCashMCK.MessageBlock")              
               Set Output = CreateObject("Scripting.Dictionary")
                             
               'Specify merchant configuration file location
               sConfigLoc = Application("MerchantFile")
         
               'Do not change this URL
               sPaymentURL = "http://cr.cybercash.com/cgi-bin/directcardpayment.cgi"         
                                   
               'Provide the input parameters required for the CyberCash message
               mbInput.Add "order-id", Request.Cookies("OrderID")              
               mbInput.Add "amount", iTotal              
               mbInput.Add "card-number", sCCNumber              
               mbInput.Add "card-exp", sCCExpDate
               mbInput.Add "cybercash-id", sCCID                
               mbInput.Add "card-name", sCCName
               mbInput.Add "card-address", sCCAddress
               mbInput.Add "card-zip", sCCZip                                        
               mbInput.Add "version", sCC_Version        
                              Set SockObj = Server.CreateObject("CyberCashMCK.socket.1")                        
               Set oResult = SockObj.SendCCServer(sPaymentURL, sConfigLoc, mbInput)              
               oResult.WriteDictionary(Output)
__________________________________________________________

I'm having an error: "CybercashMCK.Socket.1 error 800400e0
MCK_E_FILE_NOT_FOUND (oX800400EO) right at
"Set oResult = SockObj.SendCCServer(sPaymentURL, sConfigLoc, mbInput)"
It's reading OK sPaymentURL and sConfigLoc values, BUT NOT mbInput.
Where do you get order-id (TransactionID) and card-cid (IssueNo) values?
Thanks.
Alexsasha
               

 
0
 
ozymandiasCommented:
It looks like it might be having trouble finding your merchant_conf file.

All these values :

  TransactionID
  Amount
  CardNumber
  ExpiryMonth & "/" & ExpiryYear
  IssueNo
  CardHolderName
  CardHolderAddress
  CardHolderPostcode

are from user input or from our customer database, except TransactionID which unique id generated by database code.

0
 
AlexsashaAuthor Commented:
I am OK with all my variables from the database.
You may be right about the merchant_conf file.
In global.asa I have Application("MerchantFile") = "c:\\inetpub\\wwwroot\\spotus-15\\mck-cgi\\conf\\LIVE_merchant_conf". How this directory/file gets created on C drive?
What should I do next? Thanks a lot
Alexsasha



0
 
AlexsashaAuthor Commented:
Looks I have everything setup OK.  Now it redirects me to the next page with a message: "Error occurred while processing your credit card". Looks like my Output.Item("MStatus") = "success" does not succeed.
Thanks
Alexsasha
0
 
AlexsashaAuthor Commented:
I had enough information for my question, thank you.
Alexsasha
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.