Salve a tutti,
ho creato un e-commerce ed ora mi trovo nello step finale: il pagamento con paypal.
Ho creato il form, ma ho riscontrato un'anomalia nel momeneto in cui passo l'amount , ovvero il prezzo finale.
Se gli passo un intero non ha problemi, ma nel momento in cui gli arriva un decimale( cosa certa quando si acquista) paypal mi genera questa eccezione: Il link utilizzato per accedere al sistema PayPal contiene un importo dell'oggetto non formattato correttamente.
la variabile che gli passo è in questo formato: decimal amount = 158.55m;
vi inserisco anche il codice con cui faccio il pagamento:
//email del beneficiario
string business = "xxx@xxx.it";
string item_name = "Oggetto dell'ordine";
string item_number = "numero dell'ordine";
decimal amount = 158.55m;
//int amount = 10;
// costruisco l'url da passare a paypal
//se si usa il framework 4 mettere: System.Net.WebUtility.HtmlEncode
StringBuilder sb = new StringBuilder();
sb.Append("cmd=_xclick");
sb.Append("&business=" + HttpUtility.UrlEncode(business));
sb.Append("&no_shipping=1");
sb.Append("¤cy_code=EUR");
sb.Append("&lc=IT");
sb.Append("&bn=PP-BuyNowBF");
sb.Append("&item_name=" + HttpUtility.UrlEncode(item_name));
sb.Append("&item_number=" + HttpUtility.UrlEncode(item_number));
sb.Append("&amount=" + HttpUtility.UrlEncode(amount.ToString()));
Response.Redirect(@"https://www.paypal.com/cgi-bin/webscr?" + sb.ToString());
grazie