{"templateId":"markdown","versions":[{"version":"v2026.04","label":"v2026.04","link":"/pt-br/products/payments-direct-2/api-docs/get-started/authentication","default":true,"active":true,"folderId":"7e5507fe"},{"version":"v2026.03","label":"v2026.03","link":"/pt-br/products/payments-direct-2/v2026.03/api-docs/get-started/authentication","default":false,"active":false,"folderId":"7e5507fe"},{"version":"v2025.11","label":"v2025.11","link":"/pt-br/products/payments-direct-2/v2025.11/api-docs/get-started/authentication","default":false,"active":false,"folderId":"7e5507fe"}],"sharedDataIds":{"sidebar":"sidebar-@l10n/pt-BR/products/payments-direct-2/@v2025.11/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Autenticação","description":"User guides, API reference, and support resources.","siteUrl":"https://docs.ripple.com","lang":"en-US"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"autenticação","__idx":0},"children":["Autenticação"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Para fazer um pagamento usando qualquer uma das operações da API do ","Ripple Payments",", você precisa de um ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["token de acesso"]}," válido."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Esse token de acesso é exigido por todas as operações da API do ","Ripple Payments"," (exceto a própria operação de autenticação). Você precisa incluir um token de acesso válido no cabeçalho ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Authorization"]}," de cada requisição."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ripple Payments"," oferece um modelo seguro de autenticação e autorização, fornecendo tokens de acesso com escopo definido para um conjunto de credenciais."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A operação de autenticação retorna um token de acesso no campo de resposta ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["access_token"]},". Você precisa incluir o seu ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["client_id"]}," e o seu ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["client_secret"]}," no corpo JSON para obter um token de acesso válido."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Observação"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["O comprimento do token de acesso não é fixo e pode variar. Evite validar tokens pelo número de caracteres."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"gerar-client-id-e-client-secret","__idx":1},"children":["Gerar client ID e client secret"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Você precisa do seu ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["client ID"]}," e do seu ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["client secret"]}," para obter um token de acesso."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Se você ainda não tem o seu client ID e client secret, faça o seguinte:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Faça login no ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://home.ripple.com"},"children":["Ripple Payments"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["No canto superior direito da página, clique no ícone de engrenagem ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Configurações"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Em ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Integração"]},", selecione ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Credenciais de API"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["No canto superior direito da página, selecione o ambiente de acesso na lista suspensa. Por exemplo, para provisionar credenciais do ambiente UAT, selecione ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["UAT"]}," na lista suspensa."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["No canto superior direito da página, clique em ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Nova credencial"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["No campo ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Nome da credencial"]},", informe um nome para a credencial."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Clique em ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Salvar e gerar chave"]},"."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Aviso"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["O ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["client secret"]}," é exibido apenas uma vez, no momento em que você cria novas credenciais."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Não é possível recuperar o secret depois de sair desta página."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Copie e armazene o client secret com segurança e compartilhe-o apenas com pessoas autorizadas, conforme a política de segurança da sua organização."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Agora você pode usar o client ID e o client secret para gerar tokens de acesso pela operação de autenticação."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Recomendamos rotacionar as suas credenciais de API em intervalos regulares, conforme a política de segurança da sua organização."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"obter-um-token-de-acesso","__idx":2},"children":["Obter um token de acesso"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Assim que tiver o seu ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["client ID"]}," e o seu ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["client secret"]},", siga estas etapas para obter um token de acesso que você possa usar nas chamadas da API do ","Ripple Payments",":"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"determinar-o-ambiente-desejado","__idx":3},"children":["Determinar o ambiente desejado"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A primeira etapa para obter um token de acesso é determinar o ambiente que você quer acessar."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A tabela a seguir descreve as diferenças de tipos de parceiros e de moeda nos ambientes que dão acesso à API do ","Ripple Payments",". Anote a string de ambiente do ambiente que você quer acessar."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Ambiente"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Ambiente"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"URL da requisição"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["URL da requisição"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"String de ambiente"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["String de ambiente"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parceiros"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Parceiros"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Moeda"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Moeda"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["UAT"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.test.ripple.com/v2/oauth/token"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["uat"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Simulado"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Simulado"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Production"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.ripple.com/v2/oauth/token"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["prod"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Real"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Real"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"solicitar-o-token-de-acesso","__idx":4},"children":["Solicitar o token de acesso"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["O formato de uma requisição de autenticação é o seguinte:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"POST https://api.ripple.com/v2/oauth/token\nContent-Type: application/json\n{\n   \"grant_type\":\"client_credentials\",\n   \"client_id\":\"{YOUR_CLIENT_ID}\",\n   \"client_secret\":\"{YOUR_CLIENT_SECRET}\",\n   \"audience\": \"urn:ripplexcurrent-{ENVIRONMENT_STRING}:{YOUR_TENANT_ID}\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Os valores esperados são os seguintes:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Chave"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"style":{"width":"130px"}},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Chave"]}]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Valor"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Valor"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Descrição"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Descrição"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["grant_type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["client_credentials"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Define o grant-type desta requisição de client credentials."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["client_id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"em","attributes":{},"children":["{YOUR_CLIENT_ID}"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Faça login no ","Payments Direct UI"," para recuperar o seu client ID do ","Ripple Payments","."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["client_secret"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"em","attributes":{},"children":["{YOUR_CLIENT_SECRET}"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Recupere o client secret do ","Ripple Payments"," que foi gerado quando você criou o conjunto atual de credenciais no ","Payments Direct UI","."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["audience"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["urn:ripplexcurrent- "]},{"$$mdtype":"Tag","name":"em","attributes":{},"children":["{ENVIRONMENT_STRING}"]},{"$$mdtype":"Tag","name":"code","attributes":{},"children":[":"]},{"$$mdtype":"Tag","name":"em","attributes":{},"children":["{YOUR_TENANT_ID}"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["O valor do campo ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["audience"]}," é baseado na sintaxe ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://en.wikipedia.org/wiki/Uniform_Resource_Name"},"children":["URN"]},". O segundo componente do URN precisa se referir ao ambiente que você quer acessar. Os engenheiros de integração da Ripple fornecem o seu tenant ID (o terceiro componente do URN) durante o treinamento."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Exemplos:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Exemplo de requisição (sucesso no ambiente de produção)"]}," – uma requisição bem-sucedida a um ambiente de produção pode ser parecida com o exemplo a seguir:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"POST https://api.ripple.com/v2/oauth/token\nContent-Type: application/json\n{\n    \"grant_type\": \"client_credentials\",\n    \"client_id\": \"{YOUR_CLIENT_ID}\",\n    \"client_secret\": \"{YOUR_CLIENT_SECRET}\",\n    \"audience\": \"urn:ripplexcurrent-prod:{YOUR_TENANT_ID}\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Exemplo de resposta (sucesso no ambiente de produção)"]}," – uma requisição bem-sucedida retorna uma resposta parecida com o exemplo a seguir:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"access_token\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ\",\n    \"expires_in\": 3600,\n    \"token_type\": \"Bearer\",\n    \"scope\": \"keys:read keys:write payments:create quotes:create identities:create audit:read\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"testar-o-token-de-acesso","__idx":5},"children":["Testar o token de acesso"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use o endpoint ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/oauth/token/test"]}," para verificar a validade do seu token de acesso em um ambiente Ripple específico e descobrir quanto tempo resta até ele expirar."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"exemplo-de-teste-de-token","__idx":6},"children":["Exemplo de teste de token"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Este exemplo demonstra como usar o endpoint ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/oauth/token/test"]}," para testar um token de acesso."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Aqui, aplicamos o token de acesso ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ"]}," ao cabeçalho ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Authorization: Bearer"]},"."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"GET https://api.ripple.com/v2/oauth/token/test\nAuthorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Atenção : os tokens de acesso são confidenciais"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Lembre-se de substituir o token de exemplo ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ"]}," pelo seu token de acesso real e nunca compartilhe o seu token de acesso publicamente."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"exemplo-de-resposta-do-teste-de-token","__idx":7},"children":["Exemplo de resposta do teste de token"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A resposta é um objeto JSON com as seguintes propriedades:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["message"]}," : indica o status do token de acesso."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["seconds_to_expiry"]}," : representa o número de segundos restantes até o token de acesso expirar."]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n\"message\": \"token_ok\",\n\"seconds_to_expiry\": 3600\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"autorizar-operações-da-api-do-ripple-payments-com-o-token-de-acesso","__idx":8},"children":["Autorizar operações da API do ","Ripple Payments"," com o token de acesso"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ripple Payments"," usa ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://tools.ietf.org/html/rfc6750"},"children":["Bearer Token Authorization"]}," em todas as operações (exceto a própria operação de autenticação). Para fazer requisições bem-sucedidas à API do ","Ripple Payments",", inclua um token de acesso válido no cabeçalho ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Authorization"]}," de cada requisição, no seguinte formato:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Para usar isso em uma requisição de API, adicione o valor do campo ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["access_token"]}," ao cabeçalho ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Authorization"]}," em todas as operações da API do ","Ripple Payments"," (exceto a própria operação de autenticação). Lembre-se de acrescentar ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Bearer"]}," (incluindo um espaço) antes do token de acesso."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Por exemplo:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"GET https://api.ripple.com/v2/payments/{YOUR_PAYMENT_ID}\nAuthorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"erros-de-autenticação","__idx":9},"children":["Erros de autenticação"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Se uma requisição de token falhar, o corpo da resposta usa o formato no estilo OAuth, com os campos ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["error"]}," e ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["error_description"]},", em vez do formato padrão de erro de pagamento. A tabela a seguir lista as respostas que você pode receber:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Status HTTP"},"children":["Status HTTP"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"error"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["error"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Significado"},"children":["Significado"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["400"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["invalid_request"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Falta um parâmetro obrigatório ou ele está malformado. Corrija a requisição e reenvie."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["401"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["access_denied"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["As credenciais de cliente informadas são inválidas. Confira o seu ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["client_id"]}," e o seu ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["client_secret"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["403"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["access_denied"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["O serviço não está habilitado para o domínio solicitado. Confira o valor de ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["audience"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["403"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["unauthorized_client"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["O cliente não está autorizado a solicitar um token. Entre em contato com o suporte técnico da Ripple."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Baseie o seu tratamento de erros no código de status HTTP, e não na string ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["error"]},", e trate qualquer ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["403"]}," como uma falha de autorização que não deve ter nova tentativa. Tentar novamente com as mesmas credenciais produz o mesmo resultado."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"expiração-e-cache-do-token-de-acesso","__idx":10},"children":["Expiração e cache do token de acesso"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Os tokens de acesso são válidos por 1 hora. Depois que você obtém um novo token, ele fica em cache por um tempo limitado. Para evitar problemas causados por cache duplo, não armazene o token em cache no cliente. Se você armazenar o token em cache, precisa limpar o cache dentro do período especificado pelo campo ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expires_in"]}," (conforme a claim ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["exp"]}," do JWT) no corpo da resposta."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"lista-de-ips-permitidos","__idx":11},"children":["Lista de IPs permitidos"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Payments Direct"," não oferece suporte a listas de IPs permitidos. A API do ","Payments Direct"," foi projetada para acesso aberto pela internet pública, protegida por credenciais de cliente OAuth2 e autorização por Bearer token, e não por restrições de IP em nível de rede."]}]},"headings":[{"value":"Autenticação","id":"autenticação","depth":1},{"value":"Gerar client ID e client secret","id":"gerar-client-id-e-client-secret","depth":2},{"value":"Obter um token de acesso","id":"obter-um-token-de-acesso","depth":2},{"value":"Determinar o ambiente desejado","id":"determinar-o-ambiente-desejado","depth":3},{"value":"Solicitar o token de acesso","id":"solicitar-o-token-de-acesso","depth":3},{"value":"Testar o token de acesso","id":"testar-o-token-de-acesso","depth":3},{"value":"Exemplo de teste de token","id":"exemplo-de-teste-de-token","depth":4},{"value":"Exemplo de resposta do teste de token","id":"exemplo-de-resposta-do-teste-de-token","depth":4},{"value":"Autorizar operações da API do Ripple Payments com o token de acesso","id":"autorizar-operações-da-api-do-ripple-payments-com-o-token-de-acesso","depth":2},{"value":"Erros de autenticação","id":"erros-de-autenticação","depth":2},{"value":"Expiração e cache do token de acesso","id":"expiração-e-cache-do-token-de-acesso","depth":2},{"value":"Lista de IPs permitidos","id":"lista-de-ips-permitidos","depth":2}],"frontmatter":{"tocMaxDepth":3,"seo":{"title":"Autenticação"}},"lastModified":"2026-10-21T01:29:12.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/pt-br/products/payments-direct-2/api-docs/get-started/authentication","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}