Category: | Win32 Stuff |
Author/Contact Info | $code or die |
Description: | Repost - I thought that the code tags would be added automatically because the box below is expecting code! My mistake. A example script to use SecureTrading in Perl on Win32 systems. SecureTrading does online credit card authorization. The perl scripts on their site only run on *nix systems. They didn't reply to my offer of them putting this example on their website :( It uses Win32::OLE, so you will need to download the ASP COM object from securetrading.com for this script to work. Before you flame me - I don't work for securetrading and this is NOT an advert :-). I worked ALL last night getting this to work because I refused to use ASP instead of Perl, and I had no option about the platform unfortunately. |
use Win32::OLE; ################################################################### # Create a SecureTrading Object using Win32::OLE $stm = Win32::OLE->new ("SecureTrading.STMerchant") || die "CreateObje +ct: $!"; # create ST object my %Result; # SecureTrading Response Codes $Result{authorised} = 1; # ... $Result{declined} = 2; # ... $Result{error} = 3; # ... $Result{other} = 4; # ... $stroot = "."; # Path to certificate files ################################################################### # SecureTrading merchant reference for this site $stm->{SiteReference} = "T16002"; ################################################################### # SecureTrading certificate files $stm->{CertificateFile} = "$stroot/pem/xyzcotestcert.pem"; $stm->{PrivateKeyFile} = "$stroot/pem/xyzcotestkey.pem"; $stm->{ServerCAFile} = "$stroot/pem/testserverca.pem"; $stm->{GatewaysFile} = "$stroot/testgateways.txt"; ################################################################### # Open Connection $stm->Open(); ################################################################### # Transaction information $stm->{TransactionType} = "AUTHORIZE"; $stm->{CardType} = "VISA"; # Use this number for rejection = "4242 4242 4242 4242" $stm->{CardNumber} = "4111 1111 1111 1111"; $stm->{ExpiryDate} = "02/99"; $stm->{IssueNumber} = "0"; $stm->{Amount} = "1500"; $stm->{Currency} = "GPB"; ################################################################### # Settlement Information $stm->{SettleNow} = 1; ################################################################### # CardHolder Information $stm->{CardHolderPresent} = 1; $stm->{CardHolderEmail} = "test\@test.com"; $stm->{CardHolderCountry} = "UK"; $stm->{CardHolderAddress} = "A test address; somewhere; here;"; $stm->{CardHolderTelephone} = "01233 456 789"; $stm->{CardHolderName} = "Ted tester"; ################################################################### # Internet information about card holder $stm->{CardHolderIp} = $ENV{'REMOTE_IP'}; $stm->{CardHolderBrowser} = $ENV{'BROWSER'}; ################################################################### # Merchant information about order $stm->{MerchantOrderReference} = "TEST-0001#a"; $stm->{MerchantOrderInfo} = "A test transaction"; ################################################################### # Create the STMerchant details print "Creating Transation...\n"; $stm->Create(); ################################################################### # Send Transaction print "Sending Transation...\n"; $stm->Send(); print "Transaction Sent.\n\n"; ################################################################### # Display results print "**** RESULT ****\n"; print "Reference Number: ", $stm->{ReferenceNumber}, "\n"; if ($stm->{result} == $Result{authorised}) { print "Transaction: Authorized\n"; print "Auth Code: ", $stm->{AuthCode}, "\n"; print "Confidence Rating: ", $stm->{ConfidenceRating}, "\n" +; } elsif ($stm->{result} == $Result{declined}) { print "Transaction: Declined\n"; } elsif ($stm->{result} == $Result{error}) { print "There was an error in authorizing the transaction\n"; print "Error : ", $stm->{Error}, "\n"; } else { print "There was an unknown error!!\n"; } ################################################################### # Close the connection to the SecureTrading Module $stm->Close($stm); |
|
---|
Replies are listed 'Best First'. | |
---|---|
RE: SecureTrading COM
by $code or die (Deacon) on Nov 02, 2000 at 18:42 UTC |
Back to
Code Catacombs