Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Cybercash DLL

Posted on 2001-08-10
9
Medium Priority
?
564 Views
Last Modified: 2008-02-20
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!!
0
Comment
Question by:Alexsasha
  • 5
  • 4
9 Comments
 
LVL 15

Expert Comment

by:ozymandias
ID: 6375233
What problems are you having ?
Please be more specific.
What type of operation are you trying to peform ?
Is it an mauthcapture ?
0
 

Author Comment

by:Alexsasha
ID: 6377855
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
 
LVL 15

Expert Comment

by:ozymandias
ID: 6378082
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
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 

Author Comment

by:Alexsasha
ID: 6380558
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
 
LVL 15

Expert Comment

by:ozymandias
ID: 6380698
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
 

Author Comment

by:Alexsasha
ID: 6380865
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
 
LVL 15

Accepted Solution

by:
ozymandias earned 600 total points
ID: 6381575
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
 

Author Comment

by:Alexsasha
ID: 6384543
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
 

Author Comment

by:Alexsasha
ID: 6393411
I had enough information for my question, thank you.
Alexsasha
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I recently decide that I needed a way to make my pages scream on the net.   While searching around how I can accomplish this I stumbled across a great article that stated "minimize the server requests." I got to thinking, hey, I use more than one…
This demonstration started out as a follow up to some recently posted questions on the subject of logging in: http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_28634665.html and http://www.experts-exchange.com/Programming/…
Loops Section Overview
Despite its rising prevalence in the business world, "the cloud" is still misunderstood. Some companies still believe common misconceptions about lack of security in cloud solutions and many misuses of cloud storage options still occur every day. …
Suggested Courses

886 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question