Você está na versão correta da documentação?
Verifique na sua [Dashboard](🔗) a versão da API que você está usando. Você deve usar a documentação correspondente. Para saber mais, veja: [Versionamento](🔗).
Existem duas formas de utilizar o Checkout Pagar.me em seu site: por [formulário HTML](🔗) ou pela [API](🔗).
A configuração base do checkout é baseada em dois parâmetros que são o createToken (data-create-token) e o customerData (data-customer-data).
O createToken (data-create-token) irá definir se o checkout deve criar uma transação ou apenas servir como formulário de dados. Quando o createToken é “true” o checkout irá [autorizar uma transação](🔗) lhe retornando um token de captura, status da transação e número de parcelas. Caso esse parâmetro esteja setado como “false”, o checkout servirá como um formulário apenas encriptando os dados do cartão do cliente na forma de um card_hash, retornando assim os dados preenchidos junto do card_hash.
A configuração “customerData” (data-customer-data) por sua vez define se o checkout deve pedir dados de endereço, email e nome do comprador. Caso essa configuração esteja desabilitada e deseje que o checkout crie uma transação é necessário enviar os dados do comprador no momento de abertura do checkout, utilizando os parâmetros de customer.
## Inserindo a versão formulário
A versão de formulário do checkout mescla elementos de Javascript e HTML em sua composição. Para inserir o checkout na sua página é necessário importar o seus recursos da url "https://assets.pagar.me/checkout/checkout.js" e adicionar os mesmos através do parâmetro src em um botão.
O primeiro passo para configurar o checkout é definir seus parâmetros e regras. Na seção [Configurações do checkout](🔗) é possível verificar com mais detalhes cada campo que pode ser customizado, para esse exemplo foi utilizada a configuração mais simples possível, onde é informado apenas o valor da compra e o checkout é configurado para receber os dados do comprador (data-customer-data:true) e gerar o token de captura (data-create-token:true):
Uma vez importado o script e configurados os campos desejados, será adicionado um botão responsável por abrir o checkout. Ao finalizar o processo de preenchimento e autorização, caso tudo tenha corrido bem, o checkout irá redirecionar o comprador para a página contida no parâmetro “action” do formulário.
A página HTML completa ficaria da seguinte maneira:
Por conta do parâmetro "create-token:true" o checkout irá autorizar uma transação. Uma transação criada e autorizada pelo checkout Pagar.me permanece assim por até 5 horas, sendo necessário realizar a captura da mesma através do seu servidor. Caso a captura não seja realizada a transação será ESTORNADA.
Para realizar a captura de uma transação gerada pelo checkout será necessário que a página de redirecionamento seja capaz de tratar e enviar as informações da transação para o seu servidor, para que ele realize essa operação. No momento da captura é necessário o token retornado pelo checkout, o valor da transação e a chave de API. É extremamente importante que a captura seja realizada à partir do seu servidor (backend), isso porque essa operação é feita através da chave de API, dado sensível que permite a realização de TODAS as operações junto da API. NÃO faça a captura em ambientes do lado de seu cliente, como por exemplo, mas não limitado a: aplicativos mobile, páginas web via chamadas ajax e aplicativos desktop.
## Inserindo a versão via API
Para inserir o checkout utilizando a versão API é necessário importar o seu script através da tag `<script src="https://assets.pagar.me/checkout/checkout.js">
`.
O primeiro passo para configurar o checkout é definir seus parâmetros e regras. Na seção [Configurações do checkout](🔗) é possível verificar com mais detalhes cada campo que pode ser customizado, para esse exemplo utilizei a configuração mais simples possível, onde informo apenas o valor da compra e configuro as regras para o checkout receber os dados do comprador (customerData:true) e autorizar a transação (createToken:true):
Uma vez importado o script e configurados os campos desejados, é necessário que exista uma função para acessar os dados do checkout. O checkout possui 3 eventos distintos que podem ser tratados na sua aplicação: sucesso (sucess), erro (error) e fechamento (close).
A página HTML completa ficaria da seguinte maneira:
Assim como na versão de formulário, por conta do parâmetro "createToken:true" o checkout irá autorizar uma transação. Uma transação criada e autorizada pelo checkout Pagar.me permanece assim por até 5 horas, sendo necessário realizar a captura da mesma através do seu servidor. Caso a captura não seja realizada a transação será ESTORNADA.
Para realizar a captura de uma transação gerada pelo checkout será necessário enviar as informações da mesma para o seu servidor, para que ele realize essa operação. Para realização da captura, é necessário o token retornado pelo checkout, o valor da transação e a chave de API. É extremamente importante que a captura seja realizada à partir do seu servidor, isso porque essa operação é feita através da chave de API, dado sensível que permite a realização de TODAS as operações junto da API.
## Capturando uma transação criada com Checkout
A rota utilizada para a operação de captura é a rota /transactions. É possível verificar os detalhes dessa rota através da referência da documentação: [/capture](🔗). Lembrando que é através da mesma que serão enviados os dados de metadata e split_rules caso sejam necessários.
No nosso [github](🔗) é possível encontrar exemplos de aplicações que enviam os dados retornados pelo checkout para o backend e realizam a captura dos mesmos.
O checkout Pagar.me não cria recorrencias, porém o mesmo pode ser utilizado como formulário de dados e assim criar a recorrência à partir do endpoint [/subscriptions](🔗). Para mais detalhes verifique a página de configurações do checkout.