Enviando uma chamada de API com API do SOAP do PayPal
-
21-09-2019 - |
Pergunta
OK, então eu tenho a referência de serviço no meu projeto .NET. E sim, eu sei que agora você tem acesso a aulas de proxy.
Mas, no passado, estou acostumado a fazer isso por meio de um objeto httpwebrequest usando o NVP, mas nunca tentei usar o WSDL e enviar uma solicitação de sabão dessa maneira.
Não tenho certeza de qual objeto usar para enviar a solicitação. Não tenho certeza por onde começar aqui. Eu olhei para os documentos, mas não vi bons exemplos por aí para .NET e PayPal.
Além de um WSDL vs. Enviando uma HTTPWEBREQUEST por meio de uma API NVP e parâmetros de consulta, eu realmente não entendo se há uma diferença na maneira como você envia a solicitação. Tudo está muito acima do HTTP, então você não pode usar o httpwebrequest também sobre uma API SOAP (usando WSDL)?
Solução
Você começa gerando uma referência de serviço dos metadados: Clique com o botão direito do mouse no projeto -> Adicionar referência de serviço e apontar para o URL WSDL: https://www.sandbox.paypal.com/wsdl/paypalsvc.wsdl
Isso gerará classes de proxy para o projeto atual que pode ser usado para enviar solicitações:
using (var client = new PayPalAPIInterfaceClient())
{
var credentials = new CustomSecurityHeaderType
{
Credentials = new UserIdPasswordType
{
Username = "username",
Password = "password"
}
};
var request = new AddressVerifyReq
{
AddressVerifyRequest = new AddressVerifyRequestType
{
Street = "some street",
Zip = "12345"
}
};
var response = client.AddressVerify(ref credentials, request);
}