Ir para o conteúdo

Venda de cartão de crédito

Agora, com o token em mãos, podemos usá-lo para realizar a transação com cartão de crédito. Lembre-se, um token só pode ser usado em uma única chamada e tem um tempo de expiração.

Pagamento antecipado

O pagamento é feito integralmente no momento da compra, sem nenhum parcelamento ou acordo de crédito.

Info

POST https://gateway.paag.dev/api/transactions/sale
Accept: application/json
Content-Type: application/json
Authorization: Bearer <api_token>

{
  "external_card_token": "43d339e3-069c-4e76-975c-d1e166d52288", // <--- Token generated by paag-tokenization.js
  "amount": 1.00,
  "document_number": "84510190050",
  "first_name":"Davi",
  "last_name": "Jhones",
  "street_address_1":"Beiramar Continental",
  "street_address_2":"Village Park",
  "city":"Florianópolis",
  "state":"SC",
  "country":"BR",
  "zip": "55555",
  "mobile_phone":"5548998552125",
  "email":"sample@paag.io",
  "merchant_transaction_id":"805c5a08-1435-4791-9ba1-1df4c624ce25"
}

Pagamento parcelado

Isso permite que os clientes façam uma compra e distribuam o custo ao longo de vários meses (no máximo 12).

Nos pagamentos parcelados, os dados de exemplo são descritos abaixo - observe a adição do parâmetro meses, que pode variar de 2 a 12:

Info

POST https://gateway.paag.dev/api/transactions/sale
Accept: application/json
Content-Type: application/json
Authorization: Bearer <api_token>

{
  "external_card_token": "43d339e3-069c-4e76-975c-d1e166d52288", // <--- Token generated by paag-tokenization.js
  "months": 12, // <--- Number of installments
  "amount": 100.00,
  "document_number": "84510190050",
  "first_name":"Davi",
  "last_name": "Jhones",
  "street_address_1":"Beiramar Continental",
  "street_address_2":"Village Park",
  "city":"Florianópolis",
  "state":"SC",
  "country":"BR",
  "zip": "55555",
  "mobile_phone":"5548998552125",
  "email":"sample@paag.io",
  "merchant_transaction_id":"805c5a08-1435-4791-9ba1-1df4c624ce25"
}

Playground - Venda com cartão de crédito

[POST] https://gateway.paag.dev/api/transactions/sale

Você usará a mesma API tanto para pagamentos únicos quanto para parcelados. A única diferença é que, para pagamentos parcelados, você deve incluir o parâmetro meses.

Você deve usar pagamentos parcelados apenas quando desejar dividir a compra em mais de um pagamento, ou seja, duas ou mais parcelas. Para uma compra com pagamento único, você não precisa especificar 1 ou 01 para o parâmetro de meses.

Parâmetros de consulta

Nome do campo Tipo de dado Tipo de filtro
external_card_token string Token gerado pelo paag-tokenization.js
merchant_transaction_id string ID da transação do lado do comerciante.
amount float Valor decimal do montante sendo cobrado (em R$)
document_number string Número do documento da pessoa que está sendo cobrada. Geralmente CPF para pessoas e CNPJ para empresas.
first_name string Primeiro nome da pessoa que está sendo cobrada.
last_name string Sobrenome da pessoa que está sendo cobrada.
email string Endereço de e-mail da pessoa que está sendo cobrada.
street_address_1 string
street_address_2 string
city string
state string
country string
zip string
mobile_phone string
months string (OPCIONAL) Número de meses desejados para a compra ser dividida em partes iguais. Mínimo de 2 e máximo de 12.

Exemplos

Cartão de crédito

curl --request POST \
    --url https://gateway.paag.dev/api/transactions/sale \
    --header 'Authorization: Bearer MY_API_TOKEN' \
    --header 'accept: application/json' \
    --header 'content-type: application/json'
import requests

url = "https://gateway.paag.dev/api/transactions/sale"

headers = {
    "accept": "application/json",
    "content-type": "application/json",
    "Authorization": "Bearer MY_API_TOKEN"
}

response = requests.post(url, headers=headers)

print(response.text)

Respostas

200 - Sucesso
{
    "transaction": {
        "id": "781ae244-ef1a-4dd9-a637-425df29b55b7",
        "merchant_id": "ea6b792b-ccb4-4d32-ba46-b7076c5acc42",
        "user_id": "0b15988e-9501-46a0-92c1-8673b6ca07cf",
        "processor_id": "49602284-ecff-49c6-97c7-971aaab4cd20",
        "merchant_transaction_id": "aeb31758-c8e3-447e-b158-64df0d719cf3",
        "transaction_type": "card",
        "first_name": "Dom",
        "last_name": "Casmurro",
        "email": "asdf@asfsdaf.et",
        "updated_at": "2024-02-19T17:24:21+0000",
        "created_at": "2024-02-19T17:24:20+0000",
        "events": [
            {
                "id": "7f31666a-32fa-464b-b9e0-6bd19cc53fad",
                "success": true,
                "status": "settled",
                "event_type": "sale",
                "amount": "1500.00",
                "ip_address": null,
                "processor_transaction_id": "F67DD3B1ADFC4178936054106F19423C",
                "batch_id": "f67dd3b1-adfc-4178-9360-54106f19423c",
                "qrcode": null,
                "qrcode_image": null,
                "pix_key_type": null,
                "pix_key_value": null,
                "pix_message": null,
                "updated_at": "2024-02-19T17:24:21+0000",
                "created_at": "2024-02-19T17:24:20+0000"
            }
        ],
        "document_number": "84510190050",
        "status": "success",
        "flow_type": null,
        "error": null,
        "e2e_id": null
    }
}
401 - Não autenticado
{
"error": {
    "message": {
    "base": [
        "Not authenticated"
      ]
    },
    "status": 401
  }
}
422 - Entidade não processável
{
  "error": {
    "message": {
      "document_number": [
        "The document_number provided is a invalid CPF."
      ]
    },
    "status": 422
  },
  "debug": []
}