Ir para conteúdo
  • Cadastre-se

dev botao

Paypal - Get Token - Dúvida ao consumir Rest Api - Delphi


Ver Solução Respondido por Clverson,
  • Este tópico foi criado há 1276 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Olá a todos!

Estou tentando sem sucesso consumir a API do PayPal,   retorna  o erro "HTTP/1.0 400 Bad Request"

parece ser pacote mal formado, imagino que tenha alguma coisa (ou muita coisa errada) nos parâmetros que escrevi.

Alguém teria algum exemplo de integração com PayPal ou pode me ajudar no código abaixo, hoje estamos tentando seguir a documentação fornecida pelo site do PayPal?
 

//curl -v https://api.sandbox.paypal.com/v1/oauth2/token \
//   -H "Accept: application/json" \
//   -H "Accept-Language: en_US" \
//   -u "client_id:secret" \
//   -d "grant_type=client_credentials"
//Retirado de: https://developer.paypal.com/docs/api/get-an-access-token-curl/

procedure TFPrincipal.Button3Click(Sender: TObject);
var
  http: TIdHTTP;
  Handler: TIdSSLIOHandlerSocketOpenSSL;
  listaDeParametros : TStringStream;
  UrlConexao : string;
  slParameters : TStringStream;
  clienteID, secret : string;
  ResultadoEnvio : string;
begin
  clienteID := '99999999999999999999999999999999999999999999999999999999999999999999999999999999';
  secret     := '88888888888888888888888888888888888888888888888888888888888888888888888888888888';
  UrlConexao := 'https://api.sandbox.paypal.com/v1/oauth2/token';

  Handler := TIdSSLIOHandlerSocketOpenSSL.create;
  Handler.SSLOptions.Method := sslvTLSv1_2;
  Handler.SSLOptions.Mode := sslmClient;

  http := TIdHTTP.Create(Application);
  http.Request.ContentType := 'application/x-www-form-urlencoded';
  http.Request.Accept := 'application/json';
  http.Request.AcceptLanguage := 'en_US';
  http.Request.BasicAuthentication := true;
  http.Request.Username := clienteID;
  http.Request.Password := secret;
  http.IOHandler :=  Handler;

  slParameters := TStringStream.Create('grant_type=client_credentials');
  try
    ResultadoEnvio := http.Post(urlconexao,slParameters );

    ShowMessage(ResultadoEnvio);
  finally
    slParameters.Free;
  end;
end;

 

Desde já agradeço qualquer dica a respeito.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Que delphi está usando?

utilize o componente já feito pra isso que é o TRestClient

e caso for o delphi 7 use https://github.com/fabriciocolombo/delphi-rest-client-api

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Solution

Eu consegui fazer o Post, mas descobri que o Paypal, por enquanto não disponibiliza esse tipo de de cobrança por assinatura para o Brasil, somente para EUA e Austrália, Eu vou tentar pelo Mercado Pago. Desde já agradeço a colaboração do amigo Juliomar. 

 

Abs

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1276 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.