Pular para o conteúdo principal

Get started

Um overview rápido de integração ponta a ponta com o serviço de pagamentos da Plug.

Através deste guia rápido você conseguirá:

  • Entender como usar suas credenciais de acesso as nossas APIs
  • Tokenizar dados de cartão e salvar cartões em ambiente seguro para uso futuro
  • Criar uma cobrança com cartão tokenizado
  • Criar uma cobrança com cartã não tokenizado, para uso único
  • Testar sua integração

Ambientes

Antes de ir para produção com seu serviço, teste sua integração com a Plug no nosso ambiente de sandbox. Neste ambiente o retorno das chamadas é mockado, sendo possível validar diferentes cenários.

AmbienteAPI
Testesandbox-api.plugpagamentos.com
Produçãoapi.plugpagamentos.com

Criar chave de acesso para o cliente

Você deve fazer uma chamada no Serviço de Autenticação a partir de sua chave secreta, solicitando a criação de uma chave pública com escopo limitado.

  curl --location --request POST 'https://api.plugpagamentos.com/v1/auth' \
--header 'X-Client-Id: <YOUR_CLIENT_ID>' \
--header 'X-Api-Key: <YOUR_SECRET_KEY>' \
--header 'Content-Type: application/json' \
--data-raw '{
"scope":["tokens"],
"expires": 31104000"
}'

< HTTP/2 201
< content-type: application/json; charset=utf-8
{
"clientId":"<YOUR_CLIENT_ID>",
"publicKey":"<YOUR_PUBLIC_KEY>",
"scope": ["tokens"],
"expires": 31104000,
"createdAt": "20200110 00:00:00"
}

Criar token de cartão

Realize o processo de tokenização dos dados sensíveis do cartão diretamente no lado do cliente usando o Serviço de Tokens, e envie para seu backend o identificador do token gerado.

  curl --location --request POST 'https://api.plugpagamentos.com/v1/tokens' \
--header 'X-Client-Id: <YOUR_CLIENT_ID>' \
--header 'X-Api-Key: <YOUR_SECRET_KEY>' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardHolderName": "JOSE DAS NEVES",
"cardNumber": "4929564637987814",
"cardCvv": "120",
"cardExpirationDate": "12/2026"
}'

< HTTP/2 201
< content-type: application/json; charset=utf-8
{
"tokenId": "82aba896-9e37-45b6-aa90-d510c9050596"
}

Salvar cartão para compra recorrente

Cria um cartão a partir do token gerado usando o Serviço de Cards, recebendo um cardId que pode ser armazenado no seu sistema para futuras compras.

  curl --location --request POST 'https://api.plugpagamentos.com/v1/cards' \
--header 'X-Client-Id: <YOUR_CLIENT_ID>' \
--header 'X-Api-Key: <YOUR_SECRET_KEY>' \
--header 'Content-Type: application/json' \
--data-raw '{
"tokenId": "82aba896-9e37-45b6-aa90-d510c9050596"
}'

< HTTP/2 201
< content-type: application/json; charset=utf-8
{
"id": "148d5db0-f1c3-439f-902d-f1f268086e1d",
"customerId": "82aba896-9e37-45b6-aa90-d510c9050596",
"clientId": "cc0b1e41-2936-45c5-947f-93995ffcdc00",
"expirationDate": "12/2026",
"brand": "visa",
"cvvChecked": true,
"fingerprint": "cbd4a441-c63c-4dee-ac6b-bfa7fa1df818",
"first6digits": "401959",
"last4digits": "9339",
"createdAt": "2012-06-30 23:59:59 +0000",
"status": "active"
}

Criar cobrança com cartão tokenizado

Realize uma cobrança a partir dos dados do cartão de crédito tokenizado usando o Serviço de Charges.

  curl --location --request POST 'https://api.plugpagamentos.com/v1/charges' \
--header 'X-Client-Id: <YOUR_CLIENT_ID>' \
--header 'X-Api-Key: <YOUR_SECRET_KEY>' \
--header 'Content-Type: application/json' \
--data-raw '{
"merchantId": "7f8870a2-71c9-4ef0-a531-82000e00b7e1",
"amount": 150,
"currency": "BRL",
"statementDescriptor": "Pedido #231 loja joão",
"capture": false,
"paymentMethod": {
"paymentType": "credit",
"installments": 1
},
"paymentSource": {
"sourceType": "card",
"cardId": "148d5db0-f1c3-439f-902d-f1f268086e1d"
}
}'

< HTTP/2 201
< content-type: application/json; charset=utf-8
{
"id": "10ad53ec-76bb-41d2-a0fe-7513f8f50a8f",
"merchantId": "7f8870a2-71c9-4ef0-a531-82000e00b7e1",
"clientId": "cc0b1e41-2936-45c5-947f-93995ffcdc00",
"createdAt": "2021-03-23T15:12:38.379Z",
"amount": 150,
"currency": "BRL",
"statementDescriptor": "Pedido #231 loja joão",
"capture": false,
"status": "pre_authorized",
"paymentMethod": {
"paymentType": "credit",
"installments": 1
},
"paymentSource": {
"sourceType": "card",
"cardId": "148d5db0-f1c3-439f-902d-f1f268086e1d"
},
"transactionRequests": [{
"id": "5e506984-318a-4390-b87a-a3bd9b91d357",
"updatedAt": "2021-03-23T15:12:42.799Z",
"createdAt": "2021-03-23T15:12:38.392Z",
"idempotencyKey": "4271e96e-8c2f-4857-a122-279613bc4747",
"requestId": null,
"providerId": "72cc1ff1-5f6e-4eb2-9cc5-6a3a85525e4b",
"transactionId": "ch_3JYE7MHjGFBGEeiP0lfTD3Ob",
"providerType": "STRIPE",
"amount": 1500,
"authorizationCode": "",
"authorizationNsu": "1616512362092",
"responseCode": "20000",
"requestStatus": "success",
"requestType": "pre_authorization",
"responseTs": null
}]
}

Criar cobrança com cartão de uso único (oneshot)

Realize uma cobrança a partir dos dados do cartão de crédito sem tokenizar usando o Serviço de Charges.

  curl --location --request POST 'https://api.plugpagamentos.com/v1/charges' \
--header 'X-Client-Id: <YOUR_CLIENT_ID>' \
--header 'X-Api-Key: <YOUR_SECRET_KEY>' \
--header 'Content-Type: application/json' \
--data-raw '{
"merchantId": "7f8870a2-71c9-4ef0-a531-82000e00b7e1",
"amount": 150,
"currency": "BRL",
"statementDescriptor": "Pedido #231 loja joão",
"capture": false,
"paymentMethod": {
"paymentType": "credit",
"installments": 1
},
"paymentSource": {
"sourceType": "card",
"card": {
"cardNumber": "4929564637987814",
"cardCvv": "320",
"cardExpirationDate": "06/2028",
"cardHolderName": "JOAO DA SILVA"
}
}
}'

< HTTP/2 201
< content-type: application/json; charset=utf-8
{
"id": "10ad53ec-76bb-41d2-a0fe-7513f8f50a8f",
"merchantId": "7f8870a2-71c9-4ef0-a531-82000e00b7e1",
"clientId": "cc0b1e41-2936-45c5-947f-93995ffcdc00",
"createdAt": "2021-03-23T15:12:38.379Z",
"amount": 150,
"currency": "BRL",
"statementDescriptor": "Pedido #231 loja joão",
"capture": false,
"status": "pre_authorized",
"paymentMethod": {
"paymentType": "credit",
"installments": 1
},
"paymentSource": {
"sourceType": "card",
"cardId": "148d5db0-f1c3-439f-902d-f1f268086e1d"
},
"transactionRequests": [{
"id": "5e506984-318a-4390-b87a-a3bd9b91d357",
"updatedAt": "2021-03-23T15:12:42.799Z",
"createdAt": "2021-03-23T15:12:38.392Z",
"idempotencyKey": "4271e96e-8c2f-4857-a122-279613bc4747",
"requestId": null,
"providerId": "72cc1ff1-5f6e-4eb2-9cc5-6a3a85525e4b",
"providerType": "STRIPE",
"amount": 1500,
"authorizationCode": "",
"authorizationNsu": "1616512362092",
"responseCode": "20000",
"requestStatus": "success",
"requestType": "pre_authorization",
"responseTs": null
}]
}