You are viewing this forum as a guest. Login to an existing account, or create a new account, to reply to topics and to create new topics.
Hi folks, looking at different carts to integrate with dreamweaver on a shared linux host.
We want to delivery instantly a software serial number via email after payment is received and receive payment electronically.
Can ccp do this ?
Suggestions etc gratefully received
thanks
bluepen
Offline
Is this serial number going to be randomly generated or will it be the same for each particular software? If it is the same, you could just include this serial in the email message that is included when a particular product is ordered.
Offline
it will be the same for each product although there will be a number of products with different numbers which could be bought at the same time.
Your response leads me to believe it will be quite easy ?
Offline
Each product has a configurable field for additional email text. You could add your serial number or access code to that text field in each product definition and it would be included in the confirmation email. It can be different for each product. I currently use that field to supply a download URL for the instructions that go with my product and it is quite straightforward to setup. Using it for a serial number should be no different.
Rachael
Offline
I do the same thing and the problem I have noticed is that the download info is included in the confirmation email even if the order is still pending payment.
Any ideas on how to change this?
Thanks,
Jess
Offline
bump
Offline
Well, if you wanted to do a bit of code editting, you could give this a try. After making a backup, edit the file ste_order.pl and look for the following code:
######### ######### Loop through the trackitem array and cross- ######### reference with the product table for any ######### additional confirm email text. ######### my %addl_text = (); my $addl_text_sql = ""; foreach $row(@trackitem) { ($trackitem_id,$trackitem_itemnumber,$trackitem_itemname,$trackitem_quantity,$trackitem_options,$trackitem_prodtotal, $trackitem_stateprovtax,$trackitem_countrytax,$trackitem_shipping,$trackitem_recur,$trackitem_shipstatus,$trackitem_shipmethod, $trackitem_shipfirstname,$trackitem_shiplastname,$trackitem_shipcompany,$trackitem_shipaddressone,$trackitem_shipaddresstwo, $trackitem_shipcity,$trackitem_shipstateprov,$trackitem_shipcountry,$trackitem_shipzip,$trackitem_shipcomment,$trackitem_cartprodid, $trackitem_cartprodoptionsinv,$trackitem_cartprodshipped,$trackitem_cartproddelmethod,$trackitem_cartproddlfile,$trackitem_cartprodshipemail, $trackitem_cartshipid) = @$row; if ($trackitem_cartprodid ne "") { if (!(exists($addl_text{$trackitem_cartprodid}))) { $dbins_prodid = database_quote('product',$trackitem_cartprodid); $addl_text{$trackitem_cartprodid} = ""; $addl_text_sql .= "product_id=$dbins_prodid OR "; } else { $addl_text{$trackitem_cartprodid} = ""; } ######### End of if statement. } ######### End of if statement. } ######### End of foreach statement. if ($addl_text_sql ne "") { my @disp = (); chop($addl_text_sql); chop($addl_text_sql); chop($addl_text_sql); chop($addl_text_sql); $sql_statement = " SELECT product_id,product_addemtext FROM product WHERE $addl_text_sql "; @disp = database_call('product','SELECT',$sql_statement); foreach $row(@disp) { my ($product_id,$product_addemtext) = @$row; $addl_text{$product_id} = "$product_addemtext"; } ######### End of foreach statement. } ######### End of if statement.
Change that code to:
######### ######### Loop through the trackitem array and cross- ######### reference with the product table for any ######### additional confirm email text. ######### if ($tracking_status ne "P") { my %addl_text = (); my $addl_text_sql = ""; foreach $row(@trackitem) { ($trackitem_id,$trackitem_itemnumber,$trackitem_itemname,$trackitem_quantity,$trackitem_options,$trackitem_prodtotal, $trackitem_stateprovtax,$trackitem_countrytax,$trackitem_shipping,$trackitem_recur,$trackitem_shipstatus,$trackitem_shipmethod, $trackitem_shipfirstname,$trackitem_shiplastname,$trackitem_shipcompany,$trackitem_shipaddressone,$trackitem_shipaddresstwo, $trackitem_shipcity,$trackitem_shipstateprov,$trackitem_shipcountry,$trackitem_shipzip,$trackitem_shipcomment,$trackitem_cartprodid, $trackitem_cartprodoptionsinv,$trackitem_cartprodshipped,$trackitem_cartproddelmethod,$trackitem_cartproddlfile,$trackitem_cartprodshipemail, $trackitem_cartshipid) = @$row; if ($trackitem_cartprodid ne "") { if (!(exists($addl_text{$trackitem_cartprodid}))) { $dbins_prodid = database_quote('product',$trackitem_cartprodid); $addl_text{$trackitem_cartprodid} = ""; $addl_text_sql .= "product_id=$dbins_prodid OR "; } else { $addl_text{$trackitem_cartprodid} = ""; } ######### End of if statement. } ######### End of if statement. } ######### End of foreach statement. if ($addl_text_sql ne "") { my @disp = (); chop($addl_text_sql); chop($addl_text_sql); chop($addl_text_sql); chop($addl_text_sql); $sql_statement = " SELECT product_id,product_addemtext FROM product WHERE $addl_text_sql "; @disp = database_call('product','SELECT',$sql_statement); foreach $row(@disp) { my ($product_id,$product_addemtext) = @$row; $addl_text{$product_id} = "$product_addemtext"; } ######### End of foreach statement. } ######### End of if statement. } ######### End of if statement.
What that will do is force the code to skip the part where it looks up the additional email text when the order is at pending payment status (P). I gave this a quick run on my test site and I believe it works, but I haven't tried every possible situation, so make sure you test it out well for yourself before taking it live.
Rachael
Offline