Ir para conteúdo
  • Cadastre-se

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


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

Recommended Posts

Postado

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.

  • Consultores
Postado

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

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Solution
Postado

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
  • Consultores
Postado

Obrigado por reportar.

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

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Este tópico foi criado há 2081 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.