CHAMADA SIMPLES AO PAYPAL VIA ASP.NET

RENE9000 13/05/2014 17:47:28
#438146
Olá pessoal.

Preciso de uma interface simples de conexão com o PayPal.
No site deles, há um exemplo que estou tentando adaptar e não estou conseguindo e por isso peço a ajuda de vocês.
O valor da compra varia muito, dessa forma, tentei montar dinamicamente o HTML para chamar uma nova página em cada execução com o valor correto, mas não estou conseguindo.
Abaixo coloco a programação ASP.Net e em seguida, o exemplo que o Paypal fornece no site. O que estou fazendo de errado ?

Protected Sub cmdGo_Click(sender As Object, e As System.EventArgs) Handles cmdGo.Click

Dim Url As String = [Ô]https://www.paypal.com/cgi-bin/webscr[Ô]
Dim strUrl As String
Dim decValor As Decimal
decValor = [Ô]1.79[Ô]

strUrl = [Ô]https://www.paypal.com/cgi-bin/webscr[Ô]
Dim formId As String = [Ô]PayPal[Ô]

Dim htmlForm As New StringBuilder()
htmlForm.AppendLine([Ô]<html>[Ô])
htmlForm.AppendLine([String].Format([Ô]<body onload=[ô]document.forms[[Ô][Ô]{0}[Ô][Ô]].submit()[ô]>[Ô], formId))
htmlForm.AppendLine([String].Format([Ô]<form id=[ô]{0}[ô] method=[ô]POST[ô] action=[ô]{1}[ô]>[Ô], formId, Url))

htmlForm.AppendLine([Ô]<!--Vendedor e URL de retorno, cancelamento e notificação-->[Ô])
htmlForm.AppendLine([Ô]<input type=[ô]hidden[ô] name=[ô]business[ô] value=[ô]vendedor@loja.com.br[ô] />[Ô])

htmlForm.AppendLine([Ô]<!--Internacionalização e localização da página de pagamento-->[Ô])
htmlForm.AppendLine([Ô]<input type=[ô]hidden[ô] name=[ô]charset[ô] value=[ô]utf-8[ô] />[Ô])
htmlForm.AppendLine([Ô]<input type=[ô]hidden[ô] name=[ô]lc[ô] value=[ô]BR[ô] />[Ô])
htmlForm.AppendLine([Ô]<input type=[ô]hidden[ô] name=[ô]country_code[ô] value=[ô]BR[ô] />[Ô])
htmlForm.AppendLine([Ô]<input type=[ô]hidden[ô] name=[ô]currency_code[ô] value=[ô]BRL[ô] />[Ô])

htmlForm.AppendLine([Ô]<!--Informações sobre o produto e seu valor-->[Ô])
htmlForm.AppendLine([Ô]<input type=[ô]hidden[ô] name=[ô]amount[ô] value=[ô][Ô] & decValor.ToString & [Ô][ô] />[Ô])
htmlForm.AppendLine([Ô]<input type=[ô]hidden[ô] name=[ô]item_name[ô] value=[ô]Servico[ô] />[Ô])
htmlForm.AppendLine([Ô]<input type=[ô]hidden[ô] name=[ô]quantity[ô] value=[ô]1[ô] />[Ô])

htmlForm.AppendLine([Ô]</form>[Ô])
htmlForm.AppendLine([Ô]</body>[Ô])
htmlForm.AppendLine([Ô]</html>[Ô])
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.Write(htmlForm.ToString())
HttpContext.Current.Response.[End]()
End Sub

EXEMPLO PAYPAL:

<form action=[Ô]https://www.paypal.com/cgi-bin/webscr[Ô] method=[Ô]post[Ô]>
<!--Tipo do botão-->
<input type=[Ô]hidden[Ô] name=[Ô]cmd[Ô] value=[Ô]_xclick[Ô] />

<!--Vendedor e URL de retorno, cancelamento e notificação-->
<input type=[Ô]hidden[Ô] name=[Ô]business[Ô] value=[Ô]vendedor@loja.com.br[Ô] />
<input type=[Ô]hidden[Ô] name=[Ô]return[Ô] value=[Ô]http://loja.com.br/retorno[Ô] />
<input type=[Ô]hidden[Ô] name=[Ô]cancel[Ô] value=[Ô]http://loja.com.br/cancelamento[Ô] />
<input type=[Ô]hidden[Ô] name=[Ô]notify_url[Ô] value=[Ô]http://loja.com.br/notificacao[Ô] />

<!--Internacionalização e localização da página de pagamento-->
<input type=[Ô]hidden[Ô] name=[Ô]charset[Ô] value=[Ô]utf-8[Ô] />
<input type=[Ô]hidden[Ô] name=[Ô]lc[Ô] value=[Ô]BR[Ô] />
<input type=[Ô]hidden[Ô] name=[Ô]country_code[Ô] value=[Ô]BR[Ô] />
<input type=[Ô]hidden[Ô] name=[Ô]currency_code[Ô] value=[Ô]BRL[Ô] />

<!--Informações sobre o produto e seu valor-->
<input type=[Ô]hidden[Ô] name=[Ô]amount[Ô] value=[Ô]172.00[Ô] />
<input type=[Ô]hidden[Ô] name=[Ô]item_name[Ô] value=[Ô]Servico[Ô] />
<input type=[Ô]hidden[Ô] name=[Ô]quantity[Ô] value=[Ô]1[Ô] />

<!--Botão para submissão do formulário-->
<input type=[Ô]image[Ô] src=[Ô]https://www.paypalobjects.com/pt_BR/BR/i/btn/btn_buynowCC_LG.gif[Ô] border=[Ô]0[Ô] />
</form>


Grato,
Renê
KERPLUNK 13/05/2014 18:25:42
#438148
Resposta escolhida
Duvido muito que você tenha visto este exemplo no site do paypal, o mais provável é que você abriu a página, pegou o HTML e está tentando usar. Sim, porque assim como toda e qualquer aplicação web, ele possui uma API e inclusive um SDK para ser usada e não ficar construindo HTML.
RENE9000 13/05/2014 18:29:00
#438149
Olá Kerplunk.

O exemplo dado pelo Paypal está no endereço https://www.paypal-brasil.com.br/desenvolvedores/code-sample/botao-comprar-agora-html/.

Você poderá ver que é exatamente o código postado.

Grato,
Renê
KERPLUNK 13/05/2014 18:39:46
#438152
Mas aquilo que está lá, é para ser usado com um documento html. Da maneira que está querendo até é possível de ser feito, mas está totalmente errado. Usa-se o HMTL quando você não tem opção para uso da API/SDK, o que não é o caso.
RENE9000 13/05/2014 18:57:08
#438155
Entendo seu ponto de vista, mas tudo depende do que o cliente precisa.
No caso específico, não há a necessidade de nenhum controle ou acompanhamento, apenas o redirecionamento para a conta do cliente com o valor específico.
Em outras oportunidades, usei código semelhante para o Moip e PagSeguro, funcionando corretamente e atendendo a demanda do cliente que sempre foi apenas chegar a forma de pagamento, mas na chamada ao PayPal estou comendo bola em algum lugar, por isso o pedido de ajuda.

Grato,
Renê
KERPLUNK 13/05/2014 19:01:03
#438156
Ok, bem, tem alguma mensagem de erro ou simplesmente não funciona?
RENE9000 06/08/2014 10:38:37
#440225
Faltava o link para o botão que é obrigatório.....

Valeu pela ajuda...
Tópico encerrado , respostas não são mais permitidas