{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"bff30ef5-ba37-4e55-bbf7-43eb44372007","name":"Documentação API 2.0","description":"Manual de referência para uso da api para criar e gerenciar transações de pagamentos nas modalidades cartão de crédito à vista, cartão de crédito parcelado em até 12x, boleto registrado e pagamentos instantâneos via PIX.\n\n**Documentation Version**  \n2.0.3 Stable\n\n# Overview\n\nA API IOPay está implementada em conformidade com o princípio de design REST. Nossa API possui recursos orientados a URLs, com códigos HTTP para indicar erros. Nós utilizamos funcionalidades HTTP nativas, como verbos de ação POST, PUT, GET, DELETE, para operações de leitura e escrita, bem como o modelo básico de autenticação HTTP.\n\nSuportamos chamadas diretas aos recursos/endpoints da API a partir de outras origens, CORS (cross-origin resource sharing), permitindo você interagir de maneira segura com nossas APIs a partir de aplicações web. Todas as respostas da API estão no formato de dados JSON, incluindo erros.\n\nPara fazer uso dos recursos da API IOPay e transacionar online, utilize as credenciais compostas de io_seller_id, private_key (secret) e email de acesso, que são disponibilizados ao ativar transações online através da sua conta digital IO.\n\n> Caso a sua conta digital não tenha permissão para ativar pagamentos online, por favor, entre em contato com os nossos canais de suporte para ativação desse recurso \n  \n\n# Authentication\n\nNossas APIs permitem autenticação utilizando _JWT_ (Json Web Token)\n\nVocê receberá as credenciais para o ambiente de produção e também para o ambiente de teste (sandbox).\n\nAlém dessas credenciais, você também receberá os acessos ao dashboard de produção e teste para que possa acompanhar as transações geradas.\n\nUse a endpoint `/auth/login` para obter o token de acesso.  \nVocê deve enviar o token obtido em todas as requisições para as demais endpoints.\n\n> Consulte a seção _Authentication_ abaixo para maiores detalhes sobre o processo de autenticação e autorização. \n  \n> &lt;blockquote&gt;Toda requisição recebida que não esteja em HTTPS será considerada comprometida pelo nosso sistema e irá falhar.&lt;/blockquote&gt; \n  \n\n# Ambientes de Produção & Sandbox\n\nA nossa estrutura permite que você alterne entre modo de testes (sandbox) e production (produção) de uma forma simples e rápida, apenas alternando o prefixo da URL de chamada.\n\n> &lt;h2 &gt;Sandbox (homologação e testes)&lt;/h2&gt; \n  \n\n- Para realizar testes de integração você deve utilizar as endpoints com prefixo sandbox, conforme exemplo abaixo:\n    \n\n`https://sandbox.api.iopay.com.br/api/v1/`\n\nTransações efetuadas no ambiente sandbox são consideradas testes e não são efetivadas como transações reais junto às bandeiras de cartão. Sendo assim, você deve utilizar a sandbox da API IOPay para efetuar todo e qualquer tipo de teste de integração necessário em sua aplicação ou integração.\n\n_Para alternar entre ambiente de testes (sandbox) e production (produção), alterne o prefixo da URI das endpooints, removendo o prefixo sandbox_\n\n> &lt;h2 &gt;Production (ambiente de produção)&lt;/h2&gt; \n  \n\n- Para utilização em ambiente de produção, informe a seguinte URI como prefixo para os endpoints:\n    \n\n`https://api.iopay.com.br/api/v1/`\n\nTransações requisitadas ao prefixo `https://api.iopay.com.br/` (ambiente de produção) serão processadas e efetivadas juntos às bandeiras de cartão.\n\n# Cartões para Teste\n\nPara realizar testes na Sandbox da IOPAY, utilize os seguintes dados de cartão de crédito abaixo:\n\n| Número do Cartão | Bandeira |\n| --- | --- |\n| 4539003370725497 | Visa (Digitada) |\n| 4761340000000035 | Visa (Chip & PIN) |\n| 4716588836362104 | Visa (Crédito) |\n| 4532650104137832 | Visa Electron (Crédito) |\n| 5356066320271893 | MasterCard (Digitada) |\n| 5201561050024014 | MasterCard (Chip & PIN) |\n| 5138692036125449 | MasterCard (Crédito) |\n\n> ATENÇÃO: Nunca utilize dados reais de cartão em ambiente sandbox ou os cartões citados acima (de teste) em ambiente production. \n  \n\n## Números mágicos\n\nUse os cartões abaixo para obter respostas específicas. Útil para testar cenários distintos.\n\n| Número do Cartão | Bandeira |\n| --- | --- |\n| 6011457819940087 | A transação será recusada com um código de \"card_declined\". |\n| 4929710426637678 | A transação será recusada com um código \"card_declined\". |\n| 4710426743216178 | A transação será recusada com um código \"service_request_timeout\". |\n\nTratamento de Erros\n\n## Códigos de Status HTTP\n\nOs status http da API IOPAY podem ser utilizados para sinalizar 3 modalidades principais:\n\n| Faixa de HTTP Status Code | Indica que... |\n| --- | --- |\n| 2xx | Tudo funcionou conforme esperado |\n| 4xx | O aplicativo fez algo errado (por exemplo, um parâmetro necessário faltou, algum dado inconsistente foi enviado ou a transação falhou) |\n| 5xx | A API fez algo errado e recebemos um log dessa falha para análise |\n\nCódigos http no intervalo 2xx indicam sucesso, os códigos no intervalo 4xx indicam um erro resultante das informações fornecidas e os códigos no intervalo 5xx indicam um erro com os servidores.\n\nA API IOPAY retorna códigos http apropriados para cada requisição. Na tabela abaixo você pode conferir os status code do http para os cenários possíveis:\n\n| HTTP Status | Texto | Descrição |\n| --- | --- | --- |\n| 200 | Ok | A requisição funcionou conforme esperado |\n| 201 | Created | A requisição foi bem sucedida e um novo recurso foi criado. |\n| 304 | Not Modified | Não haviam novos dados para retornar. |\n| 400 | Bad Request | A requisição foi inválida ou não chegou a ser processada pelo servidor. Pode indicar a falta de algum parâmetro obrigatório (na URL ou no body da requisição) |\n| 401 | Unauthorized | As credenciais de autenticação ou autorização (bearer token) informadas são inválidas |\n| 402 | Request Failed | Os parâmetros foram válidos, mas a requisição falhou |\n| 403 | Forbidden | A requisição foi ok, mas o acesso ao recurso não foi permitido. A mensagem de erro que acompanha o response explica o porquê. |\n| 404 | Not Found | A URI solicitada é inválida ou o recurso solicitado, como por exemplo, um vendedor não existe ou foi excluído. |\n| 500 | Internal Server Error | Erro interno no servidor |\n| 502 | Bad Gateway | Simboliza que nesse exato instante a IOPAY está subindo uma versão nova. Aguarde alguns instantes e tente novamente |\n\nMensagens de Erro\n\nQuando ocorre alguma falha com a requisição ou o processamento do pedido, uma resposta HTTP 4xx ou 5xx é disparada juntamente com JSON que identifica e fornece detalhes sobre os detalhes do erro ocorrido.\n\nAtravés do JSON retornado, em casos de falha, você obterá o status, status_code, categoria da falha e mensagem legível para humanos que explica o motivo do erro ocorrido.\n\n| status_code | tipo | categoria | descrição | código de erro da bandeira |\n| --- | --- | --- | --- | --- |\n| 500 | processing_error | server_api_error | Ocorreu um erro de processamento . Se você receber esta mensagem, entre em contato com [integracao@iopay.com.br](https://mailto:integracao@iopay.com.br) |  |\n| 409 | invalid_request_error | duplicate_taxpayer_id | Customer with this taxpayer_id already exists. |  |\n| 409 | Conflict | split_rule_precondition_creation_failure | Split operation failed due to precondition rules. |  |\n| 408 | invalid_request_error | service_request_timeout | Credit card process is temporarily unavailable at the specified location. |  |\n| 404 | invalid_request_error | endpoint_not_found | The requested URL was not found on the server |  |\n| 400 | invalid_request_error | transaction_amount_error | The minimum amount is $0.50. The amount must be a positive integer in cents representing how much to charge, e.g 1260 for R$12.60 |  |\n| 400 | invalid_request_error | transfer_amount_error | The minimum amount is $0.50. The amount must be a positive integer in cents representing how much to charge, e.g 1260 for R$12.60 |  |\n| 400 | invalid_request_error | invalid_payment_information | Invalid payment information. Please verify request parameters. |  |\n| 402 | invalid_request_error | insufficient_escrow_funds_error | Requested transfer exceeds remaining settled funds in escrow. |  |\n| 402 | invalid_request_error | capture_transaction_error | The capture request failed. Transaction could not be captured. |  |\n| 402 | invalid_request_error | no_action_taken | No action taken. Unable to back out prior transaction |  |\n| 402 | invalid_request_error | seller_authorization_refused | Seller has not been authorized to charge credit cards. Complete activation to start processing payments. |  |\n| 402 | invalid_request_error | void_transaction_error | The void request failed. Transaction could not be voided. |  |\n| 402 | invalid_request_error | seller_not_found | The seller has not be found |  |\n| 402 | card_error | invalid_card_token | The card token is invalid |  |\n| 402 | invalid_request_error | customer_not_exists | This costumer id not exists |  |\n| 402 | invalid_request_error | customer_card_not_found | Customer card not found |  |\n| 402 | card_error | invalid_expiry_month | Invalid expiry month value. Please verify request parameters. |  |\n| 402 | card_error | invalid_expiry_year | Invalid expiry year value. Please verify request parameters. |  |\n| 402 | card_error | card_customer_not_associated | Transaction denied. No active card |  |\n| 402 | card_error | insufficient_funds_error | Requested credit exceeds remaining settled funds. | 51 |\n| 402 | card_error | expired_card_error | The credit card has expired. | 33 |\n| 402 | card_error | invalid_card_number | The card number is not a valid credit card number. | 15 |\n| 402 | card_error | invalid_pin_code | Transaction denied. Invalid PIN code. | 55 |\n| 402 | card_error | authorization_refused | Transação ilegal | 58 |\n\n# Abuso\n\n> Por questões de segurança o seu servidor será bloqueado, através do endereço IP, por 3 horas caso realize mais de 3 tentativas de autenticação (login) com credenciais incorretas à endpoint de autenticação. \n  \n> Caso necessite solicitar o desbloqueio, entre em contato com o nosso time de integração, através do email: `integracao@iopay.com.br` e informe o IP público do seu servidor ou do client. \n  \n\n# Endpoints\n\nAbaixo você encontrará as endpoints disponíveis na nossa API que podem ser utilizadas para gerar e processar novas transações de pagamento.\n\nA nossa API está em constante evolução e em breve teremos mais opções de endpoints.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"4646416","team":1528675,"collectionId":"bff30ef5-ba37-4e55-bbf7-43eb44372007","publishedId":"TW6upUsY","public":true,"publicUrl":"https://docs-api.iopay.com.br","privateUrl":"https://go.postman.co/documentation/4646416-bff30ef5-ba37-4e55-bbf7-43eb44372007","customColor":{"top-bar":"FFFFFF","right-sidebar":"58016e","highlight":"330A61"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":"Iopay - Referência da API Principal"}],"appearance":{"default":"light","themes":[{"name":"dark","logo":"https://content.pstmn.io/0f50847c-e7f7-4588-9e09-630af0791d53/SU9QQVkucG5n","colors":{"top-bar":"212121","right-sidebar":"767676","highlight":"ffffff"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"58016e","highlight":"330A61"}}]}},"version":"8.10.1","publishDate":"2024-10-22T02:02:49.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"Iopay - Referência da API Principal","description":""},"logos":{"logoLight":null,"logoDark":"https://content.pstmn.io/0f50847c-e7f7-4588-9e09-630af0791d53/SU9QQVkucG5n"}},"statusCode":200},"environments":[{"name":"SANDBOX (HOMOLOGAÇÃO) ENV","id":"a65b4d3b-9422-4d27-a8fe-4a3e318887c1","owner":"4646416","values":[{"key":"BASE_URL","value":"https://sandbox.api.iopay.com.br/api","enabled":true},{"key":"PRIVATE_BEARER_TOKEN","value":"<YOUR BEARER TOKEN>","enabled":true},{"key":"TOKEN_FOR_CARD_TOKENIZATION","value":"<YOUR SPECIAL BEARER TOKEN FOR CARD TOKENIZATION>","enabled":true}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/7b56667d25c55e99d87ecd63ae6e5da8ae28c038ed9839bf20f97d8043247677","favicon":"https://iopay.com.br/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"SANDBOX (HOMOLOGAÇÃO) ENV","value":"4646416-a65b4d3b-9422-4d27-a8fe-4a3e318887c1"}],"canonicalUrl":"https://docs-api.iopay.com.br/view/metadata/TW6upUsY"}