Pagamento com Cartão
Cobre seu cliente via cartão de crédito. O processamento é feito em tempo real e você recebe o status da transação na resposta.
Endpoint
POST https://isolutionpay.com/api/cardCampos
Obrigatórios
| Campo | Tipo | Descrição |
|---|---|---|
| amount | inteiro | Valor em centavos. Ex: 5000 = R$ 50,00 |
| customer.name | string | Nome completo do pagador |
| customer.email | string | E-mail do pagador |
| customer.document | string | CPF do pagador (somente dígitos) |
| credit_card.cardNumber | string | Número do cartão (somente dígitos) |
| credit_card.cardholderName | string | Nome impresso no cartão |
| credit_card.cardholderDocument | string | CPF do titular (somente dígitos) |
| credit_card.expirationMonth | inteiro | Mês de vencimento (1–12) |
| credit_card.expirationYear | inteiro | Ano de vencimento (4 dígitos, ex: 2028) |
| credit_card.cvv | string | Código de segurança |
Opcionais
| Campo | Tipo | Descrição |
|---|---|---|
| installments | inteiro | Número de parcelas (1–12) |
| customer.phone | string | Telefone do pagador |
| description | string | Descrição da cobrança |
Exemplo — crédito à vista
curl -X POST https://isolutionpay.com/api/card \
-H "Content-Type: application/json" \
-H "token: isolutionpay_sk_SUA_CHAVE_AQUI" \
-d '{
"amount": 9990,
"customer": {
"name": "João Silva",
"email": "joao@email.com",
"document": "12345678900"
},
"credit_card": {
"cardNumber": "4111111111111111",
"cardholderName": "JOAO SILVA",
"cardholderDocument": "12345678900",
"expirationMonth": 12,
"expirationYear": 2028,
"cvv": "123"
}
}'Resposta
{
"success": true,
"txid": "pay_abc123",
"status": "CONCLUIDA",
"cardStatus": "captured"
}| Campo | Descrição |
|---|---|
| txid | ID da transação. Salve para consultar depois. |
| status | CONCLUIDA, RECUSADA ou pending |
| cardStatus | Status detalhado da adquirente |
| requires_action | Se true, redirecione o usuário para action_url (3DS) |
| action_url | URL de autenticação 3D Secure (quando requires_action: true) |
3D Secure (3DS)
Algumas transações exigem autenticação adicional. Quando a resposta contiver requires_action: true, redirecione o usuário para action_url. Após a autenticação, consulte o status novamente com o txid.
Códigos de erro comuns
| HTTP | Mensagem | Causa |
|---|---|---|
| 400 | amount deve ser inteiro em centavos | amount enviado como "99.90" (string) |
| 400 | Dados do cartão inválidos | Número, CVV ou validade incorretos |
| 402 | Transação recusada | Cartão sem limite, bloqueado, etc. |
| 429 | Limite de requisições atingido | Muitas tentativas — aguarde 1 minuto |