I'm part of the support team here at Cognito Forms.
In order to do this, your first step would be to mark your Address field as "International" within the Field Settings, then save.
Next, you'll need to use your embed code. The last line before the end of the <div>
tag should currently look something like this:
<script>Cognito.load("forms", { id: "50" });</script>
What you'll need to do is use this line of the embed code to add field targeting so you can set a default value. After your form's unique ID number, you'll need to add a comma, then space, then the following:
entry:{Address:{City:"DEFAULT", State:"DEFAULT", PostalCode:"DEFAULT", Country:"India"}}
With each of the three DEFAULT words being the actual values you want to preset.
So your whole line of code should look like this:
<script>Cognito.load("forms", { id: "50", entry:{Address:{City:"DEFAULT", State:"DEFAULT", PostalCode:"DEFAULT", Country:"India"}}});</script>
Just be sure to use your actual embed code so the form ID is correct.
Best Answer
For payment forms in Cognito Forms, zero-dollar line items will only be added for Choice or Yes/No fields with assigned prices of zero. Price and Currency fields are automatically excluded from the invoice if they are zero dollar, as this is the most common way to prevent unwanted line items from appearing. Since Price fields always appear on the invoice (even if hidden) this is actually the only way to exclude them.
However, the most common approach to your example is to charge $2.00 per cookie like normal, and then use a Price field to calculate a negative discount, such as: First Cookie Free! - ($2.00).