Pagamento com Anti-Fraude
API Gateway
Esta API é utilizada para operações do gateway de pagamento:
- Produção: https://api.sopague.com.br/gateway
- Homologação: https://api-hmg.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:
{
"payment": {
"transactionType": "string",
"amount": 0,
"productType": "string",
"installments": 0
},
"referenceTransaction": "string",
"urlCallBack": "string",
"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",
"vaultId": "string",
"cardholderName": "string",
"securityCode": "string",
"brand": "string",
"expirationMonth": "string",
"expirationYear": "string",
"encryptedCard": "string"
},
"configSplit": [
{
"documentNumberBeneficiary": "string",
"percent": 0,
"type": "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 |
| ReferenceTransaction | Referência do pagamento enviada pelo integrador. Retornada na conciliação. | string | body | não | 50 |
| UrlCallBack | URL de callback do comércio para retorno do fluxo de pagamento. | string | body | não | 500 |
| sellerInfo.codeAntiFraud | Código obtido através da biblioteca anti-fraude | guid | body | sim | 36 |
| ConfigSplit | Lista de configurações de split de pagamento. Permite dividir o valor entre múltiplos beneficiários | array | body | não | - |
| ConfigSplit[].documentNumberBeneficiary | CPF/CNPJ do beneficiário do split de pagamento (sem máscara) | string | body | não | 14 |
| ConfigSplit[].percent | Porcentagem do split de pagamento (0-100) | decimal | body | não | 5,2 |
| ConfigSplit[].type | Tipo de split: 'bruto' (sobre valor bruto) ou 'liquido' (após taxas) | string | body | não | 10 |
| CardInfo.NumberToken | Identificador do cartão tokenizado. | string | body | sim | fixo |
| CardInfo.VaultId | Identificador do cartão salvo no cofre. | string | body | não | 36 |
| CardInfo.CardholderName | Nome do comprador impresso no cartão. | string | body | sim | 30 |
| CardInfo.SecurityCode | Código de segurança | string | body | sim | 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 | sim | 2 |
| CardInfo.ExpirationYear | Ano de expiração do cartão com dois dígitos. | string | body | sim | 2 |
| CardInfo.EncryptedCard | Dados do cartão criptografados com a chave pública RSA obtida em /cards/public-key. Utilizado como alternativa segura ao envio dos dados de cartão em texto puro. | string | body | não | 2048 |
| Customer.DocumentType | Tipo de documento do comprador | string | body | sim | 4 |
| Customer.DocumentNumber | Número do documento do comprador | string | body | sim | 20 |
| Customer.FirstName | Primeiro nome do comprador | string | body | sim | 50 |
| Customer.LastName | Último nome do comprador. | string | body | sim | 60 |
| Customer.Email | E-mail do comprador | string | body | sim | 255 |
| Customer.PhoneNumber | Telefone do comprador | string | body | sim | 15 |
| Customer.MobilePhoneNumber | Telefone celular do comprador | string | body | sim | 25 |
| Customer.Address | Endereço do comprador | string | body | sim | 60 |
| Customer.Complement | Complemento do endereço do comprador | string | body | não | 60 |
| Customer.City | Cidade do comprador | string | body | sim | 50 |
| Customer.State | Estado do comprador | string | body | sim | 2 |
| Customer.ZipCode | CEP comprador | string | body | sim | 10 |
| Customer.IpAddress | Endereço IP do dispositivo do comprador | string | body | sim | 48 |
| Customer.Country | País do comprador | string | body | sim | 2 |
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