Cobrança com token PagSeguro

Informando os dados essenciais para efetivação de uma cobrança, este recurso permite a criação de uma cobrança de pagamento com um token PagSeguro.

A Tokenização PagSeguro é o processo de armazenamento dos dados sensíveis do cartão do portador. Para o gerenciamento de compras futuras, o PagSeguro gera e retorna um token que substitui os dados do cartão.

Gerando um token PagSeguro

Na request da primeira cobrança deve ser enviado o parâmtero store com o valor "true" (como no exemplo a seguir) para indicar que além da cobrança, deverá ser realizada a tokenização do cartão da compra.

store: true;

  • store - Indica a intenção de armazenamento do cartão

Os demais parâmtros relacionados ao cartão devem ser enviados normalmente:

  • holder - Nome completo do portador do cartão
  • number - Número do cartão de crédito
  • expMonth - Mês de expiração
  • expYear - Ano de expiração
  • securityCode - Código de segurança

A response da chamada, retornará através do parâmetro "id" o token do cartão enviado, independente se a transação foi aceita ou rejeitada.

  • id - Token do cartão
curl --location --request POST 'https://sandbox.api.pagseguro.com/charges' \
--header 'Authorization: {{token}}' \
--header 'Content-Type: application/json' \
--header 'x-idempotency-key;' \
--data-raw '{
  "reference_id": "ex-00001",
  "description": "Motivo do pagamento",
  "amount": {
    "value": 1000,
    "currency": "BRL"
  },
  "payment_method": {
    "type": "CREDIT_CARD",
    "installments": 1,
    "capture": false,
    "soft_descriptor": "My Store",    
    "card": {
      "number": "4111111111111111",
      "exp_month": "03",
      "exp_year": "2026",
      "security_code": "123",
      "store": true,
      "holder": {
        "name": "Jose da Silva"
      }
    }
  },
  "notification_urls": [
    "https://yourserver.com/nas_ecommerce/277be731-3b7c-4dac-8c4e-4c3f4a1fdc46/"
  ]
}'
{
    "id": "CHAR_81C04758-5465-4FC3-9D0C-6FB45BC300B0",
    "reference_id": "ex-00001",
    "status": "AUTHORIZED",
    "created_at": "2022-05-09T16:31:47.312-03:00",
    "description": "Motivo do pagamento",
    "amount": {
        "value": 1000,
        "currency": "BRL",
        "summary": {
            "total": 1000,
            "paid": 0,
            "refunded": 0
        }
    },
    "payment_response": {
        "code": "20000",
        "message": "SUCESSO",
        "reference": "032416400102"
    },
    "payment_method": {
        "type": "CREDIT_CARD",
        "installments": 1,
        "capture": false,
        "capture_before": "2022-05-14T16:31:49.565-03:00",
        "card": {
            "id": "CARD_5793F246-F8C6-4EFC-8840-F03A6FBD8EA0",
            "brand": "visa",
            "first_digits": "411111",
            "last_digits": "1111",
            "exp_month": "3",
            "exp_year": "2026",
            "holder": {
                "name": "Jose da Silva"
            },
            "store": true
        },
        "soft_descriptor": "MyStore"
    },
    "notification_urls": [
        "https://yourserver.com/nas_ecommerce/277be731-3b7c-4dac-8c4e-4c3f4a1fdc46/"
    ],
    "links": [
        {
            "rel": "SELF",
            "href": "https://sandbox.api.pagseguro.com/charges/CHAR_81C04758-5465-4FC3-9D0C-6FB45BC300B0",
            "media": "application/json",
            "type": "GET"
        },
        {
            "rel": "CHARGE.CANCEL",
            "href": "https://sandbox.api.pagseguro.com/charges/CHAR_81C04758-5465-4FC3-9D0C-6FB45BC300B0/cancel",
            "media": "application/json",
            "type": "POST"
        },
        {
            "rel": "CHARGE.CAPTURE",
            "href": "https://sandbox.api.pagseguro.com/charges/CHAR_81C04758-5465-4FC3-9D0C-6FB45BC300B0/capture",
            "media": "application/json",
            "type": "POST"
        }
    ]
}

Cobrando com um token PagSeguro

Com o token já criado, basta o integrador enviar o parâmetro "id" no lugar dos dados do cartão.

curl --location --request POST 'https://sandbox.api.pagseguro.com/charges' \
--header 'Authorization: {{token}}' \
--header 'Content-Type: application/json' \
--header 'x-idempotency-key;' \
--data-raw '{
  "reference_id": "ex-00001",
  "description": "Motivo do pagamento",
  "amount": {
    "value": 1000,
    "currency": "BRL"
  },
  "payment_method": {
    "type": "CREDIT_CARD",
    "installments": 1,
    "capture": false,
    "soft_descriptor": "My Store",    
    "card": {
     "id": "CARD_5793F246-F8C6-4EFC-8840-F03A6FBD8EA0"
    }
  },
  "notification_urls": [
    "https://yourserver.com/nas_ecommerce/277be731-3b7c-4dac-8c4e-4c3f4a1fdc46/"
  ]
}'
{
    "id": "CHAR_F9D8299D-0AD8-48BB-8EAC-E30D2E03F8A7",
    "reference_id": "ex-00001",
    "status": "AUTHORIZED",
    "created_at": "2022-05-09T16:33:51.116-03:00",
    "description": "Motivo do pagamento",
    "amount": {
        "value": 1000,
        "currency": "BRL",
        "summary": {
            "total": 1000,
            "paid": 0,
            "refunded": 0
        }
    },
    "payment_response": {
        "code": "20000",
        "message": "SUCESSO",
        "reference": "032416400102"
    },
    "payment_method": {
        "type": "CREDIT_CARD",
        "installments": 1,
        "capture": false,
        "capture_before": "2022-05-14T16:33:52.517-03:00",
        "card": {
            "id": "CARD_5793F246-F8C6-4EFC-8840-F03A6FBD8EA0",
            "brand": "visa",
            "first_digits": "411111",
            "last_digits": "1111",
            "exp_month": "3",
            "exp_year": "2026",
            "holder": {
                "name": "Jose da Silva"
            }
        },
        "soft_descriptor": "MyStore"
    },
    "notification_urls": [
        "https://yourserver.com/nas_ecommerce/277be731-3b7c-4dac-8c4e-4c3f4a1fdc46/"
    ],
    "links": [
        {
            "rel": "SELF",
            "href": "https://sandbox.api.pagseguro.com/charges/CHAR_F9D8299D-0AD8-48BB-8EAC-E30D2E03F8A7",
            "media": "application/json",
            "type": "GET"
        },
        {
            "rel": "CHARGE.CANCEL",
            "href": "https://sandbox.api.pagseguro.com/charges/CHAR_F9D8299D-0AD8-48BB-8EAC-E30D2E03F8A7/cancel",
            "media": "application/json",
            "type": "POST"
        },
        {
            "rel": "CHARGE.CAPTURE",
            "href": "https://sandbox.api.pagseguro.com/charges/CHAR_F9D8299D-0AD8-48BB-8EAC-E30D2E03F8A7/capture",
            "media": "application/json",
            "type": "POST"
        }
    ]
}

🚧

IMPORTANTE

A Tokenização PagSeguro é diferente da Cobrança com token de bandeira.

  • Com a Tokenização PagSeguro o cartão de crédito fica armazenado para compras futuras e na resposta da requisição você terá o token do cartão em payment_method.card.id.

  • Com a Cobrança com token de bandeira os dados utilizados para a criação de uma transação são os do próprio Token de Bandeira, fornecido pelas bandeiras e que possui características similiares a um cartão de crédito ou débito.