Hi Taika,
Regarding your question - "is this possible with forced Agree to terms function?"
Yes it is possible but remember that you are not using the button on a WordPress page as intended so to add this you will need to manually add JavaScript code. If you are not a coder then I won't recommend using this option. Be sure to include the javascript code and references with your button.
For instance as well as the code for your button you will need to also put things like the following:
<script type='text/javascript' src='http://www.yourdomain.com/wp-includes/js/jquery/jquery.js?ver=1.6.1'></script>
<script type='text/javascript' src='http://www.yourdomain.com/wp-content/plugins/wp-cart-for-digital-products/lib/jquery.external.lib.js?ver=3.2.1'></script>
<p>
<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function($) {
$(function() {
$('.t_and_c_error').hide();
$(".t-and-c").click(function(){
if($(".t-and-c").is(':checked'))
{
$.cookie("eStore_submit_payment","true",{path: '/'});
$('.t_and_c_error').hide();
}
else
{
$.cookie("eStore_submit_payment","false",{path: '/'});
}
});
$(".eStore_paypal_checkout_button").click(function(e){
if(!$(".t-and-c").is(':checked'))
{
$('.t_and_c_error').show();
e.preventDefault();
}
});
$(".eStore_buy_now_button").click(function(e){
if(!$(".t-and-c").is(':checked'))
{
$('.t_and_c_error').show();
e.preventDefault();
}
});
$(".eStore_subscribe_button").click(function(e){
if(!$(".t-and-c").is(':checked'))
{
$('.t_and_c_error').show();
e.preventDefault();
}
});
$(".free_download_submit").click(function(e) {
// Non-Ajax free download squeeze page button clicked...
if(!$(".t-and-c").is(':checked')) {
// T&C checkbox not set...
$('.t_and_c_error').show(); // Show error message.
e.preventDefault(); // Prevent default action.
}
});
});
});
</script>
</p>
Regarding the IP address inclusion - You don't need to put it there. It will still work if you remove the whole tag with id "eStore_custom_values". I believe this is generated by the plugin itself and not strictly needed when talking to paypal because it is an "optional" field.
Regarding your custom page template issue I don't know the answer to that so might have to think about it and get back to you if I find a solution :)