Hi I am really struggling with my code to add paypal sandbox to my page.
So far I have managed to get my Checkout button to direct me to the paypal page where payment occurs.
How ever I have tried to modify my add to cart button to add to the paypal cart without any success what so ever.
Here is my HTML:
<asp:DataList ID="dlProducts" runat="server" BackColor="White"
BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" CellPadding="4"
GridLines="Both" RepeatColumns="3"
>
<ItemTemplate>
Product Name:
<asp:Label ID="lblProductNane" runat="server" Text='<%# Bind("ProductName") %>'></asp:Label>
<br />
<asp:Image ID="Image1" runat="server" GenerateEmptyAlternateText="True"
Height="100px" ImageUrl='<%# "~/ProductImages/"+Eval("ImageName") %>'
Width="100px" />
<br />
Price:
<asp:Label ID="lblListPrice" runat="server"
Text='<%# Eval("UnitPrice", "{0:C}") %>'></asp:Label>
<br />
Qty:
<br />
<asp:LinkButton ID="lnkDetails" runat="server"
CommandArgument='<%# Bind("ProductID") %>' onclick="lnkDetails_Click">Click For Details</asp:LinkButton>
<br />
<form target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<asp:HiddenField Value="lblProductName" runat="server" />
<asp:HiddenField Value="lblListPrice" runat="server" />
<asp:ImageButton AlternateText="PayPal — The safer, easier way to pay online." ID="btnBasket" runat="server" CommandArgument='<%# Bind("ProductID") %>' OnClick="btnBasket_Click" ImageUrl="https://www.paypalobjects.com/en_GB/i/btn/btn_cart_LG.gif" />
<img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1" I>
</form>
</ItemTemplate>
<SelectedItemStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" />
</asp:DataList>
Here is my code behind:
protected void btnBasket_Click(object sender, System.EventArgs e)
{
Response.Write(PaypalPostForm());
PayPalPostScript(Page);
}
public string PaypalPostForm()
{
string PostURL = "http://www.paypal.com/cgi-bin/webscr";
string cmd = "_cart";
string Upload = "1";
string BusinessEmail = "";
string Currency = "GBP";
string method = "post";
string shipAmount = "4.95";
StringBuilder ppForm = new StringBuilder();
ppForm.AppendFormat("<Form name='frmPP' id='frmPP' action='{0}' method='{1}'>", PostURL, method);
ppForm.AppendFormat("<input type='hidden' name='shipping' value='{0}'>", shipAmount);
ppForm.AppendFormat("<input type='hidden' name='cmd' value='{0}'>", cmd);
ppForm.AppendFormat("<input type='hidden' name='upload' value='{0}'>", Upload);
ppForm.AppendFormat("<input type='hidden' name='business' value='{0}'>", BusinessEmail);
ppForm.AppendFormat("<input type='hidden' name='currency_code' value='{0}'>", Currency);
ppForm.AppendFormat("<input type='hidden' name='item_number_1' value='{0}'>", 1);
for(int i = 0; i<this.dlProducts.Items.Count; i++)
{
Label lbldes = this.dlProducts.Items[i].FindControl("lblProductNane") as Label;
string Description = (lbldes.Text).ToString();
Label lblPri = this.dlProducts.Items[i].FindControl("lblListPrice") as Label;
string Price = (lblPri.Text).ToString();
ppForm.AppendFormat("<input type='hidden' name='item_name_1' value='{0}'>", Description);
ppForm.AppendFormat("<input type='hidden' name='amount_1' value='{0}'>", Price);
}
ppForm.AppendFormat("<input type='hidden' name='quantity_1' value='{0}'>", 1);
ppForm.Append("</form>");
return ToString();
}
private void PayPalPostScript(System.Web.UI.Page Page)
{
StringBuilder strScript = new StringBuilder();
strScript.Append("<script language='javascript'>");
strScript.Append("var ctlForm = document.getElementById('frmPP');");
strScript.Append("ctlForm.submit();");
strScript.Append("</script>");
ClientScript.RegisterClientScriptBlock(this.GetType(), "PPSubmit", strScript.ToString());
}
};