Jump to content

diadoacbr

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


Go to solution Solved by Clverson,
  • Este tópico foi criado há 687 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 to comment
Share on other sites

  • Consultores

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
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

Link to comment
Share on other 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

  • Like 1
Link to comment
Share on other sites

  • Consultores

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

Link to comment
Share on other sites

  • Este tópico foi criado há 687 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.