Pagamento com Anti-Fraude
Dados da API
- Dados da API:
- URL: https://api.sopague.com.br/gateway
- Arquitetura: Representational State Transfer (REST)
Introdução
A operação de Pagamento com Anti-Fraude permite processar transações com maior segurança, utilizando a biblioteca antifraude da
Realizar Operação de Pagamento
Para criar uma transação utilizando cartão de crédito, envie uma requisição POST
para o endpoint /v1/payments
com os dados necessários. O exemplo abaixo ilustra uma requisição típica.
POST
/v1/payments
Via request Representational State Transfer (REST) com o body:
Requisição
{
"payment": {
"transactionType": "string",
"amount": 0,
"productType": "string",
"installments": 0
},
"sellerInfo": {
"codeAntiFraud": "string"
},
"customer": {
"documentNumber": "string",
"firstName": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"mobilePhoneNumber": "string",
"address": "string",
"city": "string",
"state": "string",
"zipCode": "string",
"ipAddress": "string",
"country": "string"
},
"cardInfo": {
"numberToken": "string",
"cardholderName": "string",
"securityCode": "string",
"brand": "string",
"expirationMonth": "string",
"expirationYear": "string"
}
}
Dicionário de dados - Parâmetros
PROPRIEDADE | DESCRIÇÃO | TIPO | LOCAL | OBRIGATÓRIO | TAMANHO |
---|---|---|---|---|---|
Payment.TransactionType | Tipo da transação. | string | body | sim | fixo |
Payment.Amount | Valor do Pedido em centavos. | integer | body | sim | 10 |
Payment.ProductType | Tipo de produto – avista/ lojista | string | body | sim | fixo |
Payment.Installments | Número de Parcelas. | integer | body | sim | 2 |
sellerInfo.codeAntiFraud | Código obtido através da biblioteca anti-fraude | guid | body | sim | 36 |
CardInfo.NumberToken | Identificador do cartão tokenizado. | string | body | não | fixo |
CardInfo.CardholderName | Nome do comprador impresso no cartão. | string | body | sim | 30 |
CardInfo.SecurityCode | Código de segurança | string | body | não | 4 |
CardInfo.Brand | Bandeira do cartão – Opcional. | string | body | não | fixo |
CardInfo.ExpirationMonth | Mês de expiração do cartão com dois dígitos. | string | body | não | 2 |
CardInfo.ExpirationYear | Ano de expiração do cartão com dois dígitos. | string | body | não | 2 |
Customer.DocumentType | Tipo de documento do comprador | integer | body | não | 1 |
Customer.DocumentNumber | Número do documento do comprador | string | body | não | 20 |
Customer.FirstName | Primeiro nome do comprador | string | body | não | 60 |
Customer.LastName | Último nome do comprador. | string | body | não | 60 |
Customer.Email | E-mail do comprador | string | body | não | 255 |
Customer.PhoneNumber | Telefone do comprador | string | body | não | 15 |
Customer.MobilePhoneNumber | Telefone celular do comprador | string | body | não | 25 |
Customer.Address | Endereço do comprador | string | body | não | 60 |
Customer.Complement | Complemento do endereço do comprador | string | body | não | 60 |
Customer.City | Cidade do comprador | string | body | não | 50 |
Customer.State | Estado do comprador | string | body | não | 2 |
Customer.ZipCode | CEP comprador | string | body | não | 10 |
Customer.IpAddress | Endereço IP do dispositivo do comprador | string | body | não | 48 |
Customer.Country | País do comprador | string | body | não | 2 |
Observação
Vendas parceladas: Para vendas parceladas, utilize o productType
como lojista. Para vendas à vista (parcela única), utilize avista.
Domínios
PROPRIEDADE | CONTEÚDO |
---|---|
Payment.TransactionType | credit |
Payment.ProductType | avista, lojista |
CardInfo.Brand | visa, mastercard, amex, elo, hipercard |
Customer.DocumentType | cpf, cnpj |
- 🟢 200
- 🔴 400
- 🔴 500
Pagamento realizado com sucesso
{
"returnCode": "0",
"description": "Sucesso",
"paymentId": "020080286103040952150000006201850000000000",
"authorizationCode": "043711",
"orderNumber": "0000000001",
"expireAt": "2019-09-24T13:20:52.8775511-03:00",
"amount": 1035,
"releaseAt": "2019-09-24T13:20:52.877545-03:00"
}
Dicionário de dados - Retorno
PROPRIEDADE | DESCRIÇÃO | TIPO |
---|---|---|
ReturnCode | Código de retorno. | string |
Description | Descrição do retorno. | string |
PaymentId | Identificador do pagamento, também conhecido como TID. | string |
AuthorizationCode | Código de autorização. | string |
OrderNumber | OrderNumber informado pelo cliente na requisição do pagamento (Numero Pedido Cliente). | string |
ExpireAt | Data e hora de expiração quando se tratar de pré-autorização. | datetime |
Amount | Valor do Pedido em centavos. | integer |
ReleaseAt | Data e hora do registro de pagamento. | datetime |
Erro na requisição
[
{
"tag": "",
"description": "O valor da venda precisa ser maior do que R$ 1,00"
}
]
Erro interno
[
{
"tag": "",
"description": "Não foi possível executar comando. Erro desconhecido."
}
]