Erro ao configurar Payment Provider

Estou configurando um Payment Provider com a V2 segundo a documentação (https://help.vtex.com/tutorial/integrando-conector-ao-new-payment-provider/).

Configurei a rota 'payment-mehods' no meu servidor mas ao tentar configura-lá e clicar em Check Url recebo o erro 'Unable to retrieve data from server! Check used credentials. ' contudo consigo observar na guia de Network do navegador que um request é feito com sucesso para o caminho apontado, retornando o conteúdo de exemplo da documentação.

{ "paymentMethods": [ "American Express", "Visa", "Mastercard" ] }

Eduardo, boa tarde! Tudo bem?

Verifiquei com a equipe do PCI/Payment Provider e me informaram que provavelmente o seu servidor não está permitindo CORS.

Pode verificar isso, por favor?

2017-06-28_174441

Opa Augusto, tudo bom?

O CORS está habilitado, foi feito utilizando a interface da AWS e testei manualmente., tanto para OPTIONS quanto para GET.

(Na documentação apresenta que ele utiliza GET, mas no console ele utiliza OPTIONS)

Eduardo, estou bem! Obrigado por perguntar.

Entendo. Para analisar melhor vamos precisar do ambiente VTEX e da URL de consulta de pagamentos.

Por favor, abra um ticket de suporte [http://support.vtex.com/] passando estes dados e mencionando este post para depois deixarmos um feedback aqui, ok?

Abraços.

Eduardo, você conseguiu validar o CORS funcionando corretamente?

Para validar, basta chamar o curl trocando a URL pela sua conta. A resposta debera conter os Headers

< Access-Control-Allow-Credentials: true

< Access-Control-Allow-Origin: https://store.vtexcommercestable.com.br

curl "https://URL_CONSULTA_PAGAMENTOS" -X OPTIONS -H "Access-Control-Request-Method: GET" -H "Origin: https://store.vtexcommercestable.com.br" -H "Accept-Encoding: gzip,deflate,sdch" -H "Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4,es-419;q=0.2,es;q=0.2" -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36" -H "Accept: */*" -H "Referer: https://store.vtexcommercestable.com.br" -H "Connection: keep-alive" --compressed --verbose

Olá Carlos, segue abaixo o log, conforme o Augusto solicitou enviei a URL propriamente dita. Uma dúvida, para esse passo de configurar o conector eu preciso de alguma rota além de 'payment-methods'?

eduardo@doge: $ curl "https://MINHAURL/development/payment-methods" -X OPTIONS -H "Access-Control-Request-Method: GET" -H "Origin: https://pagarme.vtexcommercestable.com.br" -H "Accept-Encoding: gzip,deflate,sdch" -H "Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4,es-419;q=0.2,es;q=0.2" -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36" -H "Accept: */*" -H "Referer: https://pagarme.vtexcommercestable.com.br" -H "Connection: keep-alive" --compressed --verbose * Trying 54.192.59.189... * Connected to MINHAURL (54.192.59.189) port 443 (#0) * found 173 certificates in /etc/ssl/certs/ca-certificates.crt * found 697 certificates in /etc/ssl/certs * ALPN, offering http/1.1 * SSL connection using TLS1.2 / ECDHE_RSA_AES_128_GCM_SHA256 * server certificate verification OK * server certificate status verification SKIPPED * common name: *.execute-api.us-east-1.amazonaws.com (matched) * server certificate expiration date OK * server certificate activation date OK * certificate public key: RSA * certificate version: #3 * subject: C=US,ST=Washington,L=Seattle,O=Amazon.com\, Inc.,CN=*.execute-api.us-east-1.amazonaws.com * start date: Wed, 08 Jun 2016 00:00:00 GMT * expire date: Sat, 08 Jul 2017 23:59:59 GMT * issuer: C=US,O=Symantec Corporation,OU=Symantec Trust Network,CN=Symantec Class 3 Secure Server CA - G4 * compression: NULL * ALPN, server accepted to use http/1.1 > OPTIONS /development/payment-methods HTTP/1.1 > Host: MINHAURL > Access-Control-Request-Method: GET > Origin: https://pagarme.vtexcommercestable.com.br > Accept-Encoding: gzip,deflate,sdch > Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4,es-419;q=0.2,es;q=0.2 > User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36 > Accept: */* > Referer: https://pagarme.vtexcommercestable.com.br > Connection: keep-alive > < HTTP/1.1 200 OK < Content-Type: application/json < Content-Length: 0 < Connection: keep-alive < Date: Thu, 29 Jun 2017 17:30:36 GMT < x-amzn-RequestId: a95c14d7-5cf0-11e7-9ce5-73b1db4a51ee < Access-Control-Allow-Origin: * < Access-Control-Allow-Headers: Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token < Access-Control-Allow-Methods: GET,OPTIONS < Access-Control-Allow-Credentials: true < X-Cache: Miss from cloudfront < Via: 1.1 2f2046a202f7d2913f91aad8900aab8e.cloudfront.net (CloudFront) < X-Amz-Cf-Id: OwNc6sbDUp0LzhtAmkSSHE4eXwjpkDbglcYnI-ST84gIInh_9QZrIw== < * Connection #0 to host MINHAURL left intact

Ola @Eduardo Nascimento​ o esperado, como esta na mensagem anterior eh que o dominio que esta chamando seja retornado no Header Access-Control-Allow-Origin. Nesse caso seria assim: Access-Control-Allow-Origin: https://pagarme.vtexcommercestable.com.br. Pode alterar e testar novamente?

@Carlos Acevedo​ , adicionei essa entrada em especifico, mas sem sucesso, segue log abaixo.

curl "https://MINHAURL/development/payment-methods" -X OPTIONS -H "Access-Control-Request-Method: GET" -H "Origin: https://pagarme.vtexcommercestable.com.br" -H "Accept-Encoding: gzip,deflate,sdch" -H "Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4,es-419;q=0.2,es;q=0.2" -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36" -H "Accept: */*" -H "Referer: https://pagarme.vtexcommercestable.com.br" -H "Connection: keep-alive" --compressed --verbose * Trying 54.192.59.189... * Connected to MINHAURL (54.192.59.189) port 443 (#0) * found 173 certificates in /etc/ssl/certs/ca-certificates.crt * found 697 certificates in /etc/ssl/certs * ALPN, offering http/1.1 * SSL connection using TLS1.2 / ECDHE_RSA_AES_128_GCM_SHA256 * server certificate verification OK * server certificate status verification SKIPPED * common name: *.execute-api.us-east-1.amazonaws.com (matched) * server certificate expiration date OK * server certificate activation date OK * certificate public key: RSA * certificate version: #3 * subject: C=US,ST=Washington,L=Seattle,O=Amazon.com\, Inc.,CN=*.execute-api.us-east-1.amazonaws.com * start date: Wed, 08 Jun 2016 00:00:00 GMT * expire date: Sat, 08 Jul 2017 23:59:59 GMT * issuer: C=US,O=Symantec Corporation,OU=Symantec Trust Network,CN=Symantec Class 3 Secure Server CA - G4 * compression: NULL * ALPN, server accepted to use http/1.1 > OPTIONS /development/payment-methods HTTP/1.1 > Host: MINHAURL > Access-Control-Request-Method: GET > Origin: https://pagarme.vtexcommercestable.com.br > Accept-Encoding: gzip,deflate,sdch > Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4,es-419;q=0.2,es;q=0.2 > User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36 > Accept: */* > Referer: https://pagarme.vtexcommercestable.com.br > Connection: keep-alive > < HTTP/1.1 200 OK < Content-Type: application/json < Content-Length: 82 < Connection: keep-alive < Date: Thu, 29 Jun 2017 20:23:01 GMT < x-amzn-RequestId: bf8b7acf-5d08-11e7-aed3-e9af1863900b < Access-Control-Allow-Origin: https://pagarme.vtexcommercestable.com.br < Access-Control-Allow-Headers: Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token < Access-Control-Allow-Methods: GET,OPTIONS < Access-Control-Allow-Credentials: true < X-Cache: Miss from cloudfront < Via: 1.1 f5a076d7d8282cc44f38020f9a27b168.cloudfront.net (CloudFront) < X-Amz-Cf-Id: RdPeYQynSD09maxVipH7dQcHmGdn79DNmIFIJ4zOjJKI5cXQ4kDH6A== * Connection #0 to host MINHAURL left intact

@Eduardo Nascimento​ , so verifique novamente, o Header de voce

  1. > Access-Control-Request-Method: GET
  2. > Origin: https://pagarme.vtexcommercestable.com.br

O esperado eh: Access-Control-Allow-Origin: https://pagarme.vtexcommercestable.com.br. Ou seja o mesmo dominio que ta chamando

Alterei, segue o curl, na configuração do conector a mesma mensagem persiste.

$ curl "https://MINHAURL/development/payment-methods" -XOPTIONS -H "Access-Control-Request-Method: GET" -H "Origin: https://pagarme.vtexcommercestable.com.br" -H "Accept-Encoding: gzip,deflate,sdch" -H "Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4,es-419;q=0.2,es;q=0.2" -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36" -H "Accept: */*" -H "Referer: https://pagarme.vtexcommercestable.com.br" -H "Connection: keep-alive" --compressed --verbose * Trying 54.192.59.58... * Connected to MINHAURL (54.192.59.58) port 443 (#0) * found 173 certificates in /etc/ssl/certs/ca-certificates.crt * found 697 certificates in /etc/ssl/certs * ALPN, offering http/1.1 * SSL connection using TLS1.2 / ECDHE_RSA_AES_128_GCM_SHA256 * server certificate verification OK * server certificate status verification SKIPPED * common name: *.execute-api.us-east-1.amazonaws.com (matched) * server certificate expiration date OK * server certificate activation date OK * certificate public key: RSA * certificate version: #3 * subject: C=US,ST=Washington,L=Seattle,O=Amazon.com\, Inc.,CN=*.execute-api.us-east-1.amazonaws.com * start date: Wed, 08 Jun 2016 00:00:00 GMT * expire date: Sat, 08 Jul 2017 23:59:59 GMT * issuer: C=US,O=Symantec Corporation,OU=Symantec Trust Network,CN=Symantec Class 3 Secure Server CA - G4 * compression: NULL * ALPN, server accepted to use http/1.1 > OPTIONS /development/payment-methods HTTP/1.1 > Host: MINHAURL > Access-Control-Request-Method: GET > Origin: https://pagarme.vtexcommercestable.com.br > Accept-Encoding: gzip,deflate,sdch > Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4,es-419;q=0.2,es;q=0.2 > User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36 > Accept: */* > Referer: https://pagarme.vtexcommercestable.com.br > Connection: keep-alive > < HTTP/1.1 200 OK < Content-Type: application/json < Content-Length: 82 < Connection: keep-alive < Date: Thu, 29 Jun 2017 20:48:56 GMT < x-amzn-RequestId: 5ea2aee8-5d0c-11e7-be68-87166d16da49 < Access-Control-Allow-Origin: https://pagarme.vtexcommercestable.com.br < Origin: https://pagarme.vtexcommercestable.com.br < Access-Control-Allow-Headers: Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token < Access-Control-Allow-Methods: GET < Access-Control-Allow-Credentials: true < X-Cache: Miss from cloudfront < Via: 1.1 5ca0b479055aef5f09a9e093f2f1cd32.cloudfront.net (CloudFront) < X-Amz-Cf-Id: NZrmylV-sMBvGqR0BZQtGhAyjr7lxqq7pa-h2io1dlppV6piMkGTTg== * Connection #0 to host MINHAURL left intact

@Carlos Acevedo​ Aparentemente foi resolvido, faltava liberar os headers X-VTEX-API-AppToken,VtexIdclientAutCookie,X-VTEX-API-AppKey

@Eduardo Nascimento​ Manda sua URL por favor. Eu faço a chamada desde aqui

Consegui me comunicar com meu serviço, tenho uma dúvida agora com o processo de homologação. criei em outro tópico para manter a organização: https://community.vtex.com/s/question/0D50L00004ySHjGSAW/chave-para-homologao