Serviço de captura de pré-autorização
import ApiDoc from '../../src/components/api-doc/ApiDoc'; import ResponseCodes from './codigos-de-resposta.md';
A captura da Pré-Autorização tem como objetivo a efetivação da Pré-Autorização, que poderá ser no valor total ou inferior ao valor total da Pré-Autorização. Isso vai depender da regra de negócio da aplicação da Loja Virtual.
O fluxo seria: realizar a operação de efetivação de pré-autorização e se o resultado for aprovado, o serviço de captura deverá ser consumido para completar o fluxo. A captura será realizada no momento definido pelas regras de negócios da aplicação.
Na operação de captura, o parâmetro amount pode ter o valor igual ou menor ao valor do parâmetro amount da pré-autorização.
Para o roteamento GetNetLac via SiTef, o parcelamento pode ser feito também na etapa de pré-autorização e nesse caso, a captura deve receber um número de parcelas igual ou superior ao enviado anteriormente. Caso a pré-autorização seja feita à vista, a captura não pode ser parcelada.
Detalhes da chamada
<ApiDoc method="post" path="/e-sitef/api/v1/preauthorizations/capture/{nit}" />
- Recurso:
/v1/preauthorizations/capture/{nit} - Método HTTP:
POST - Formato da requisição:
JSON - Formato da resposta:
JSON - Parâmetros de cabeçalho:
| Nome do Parâmetro | Descrição | Formato | Obrigatório |
|---|---|---|---|
Content-Type | Valor fixo application/json | = 15 AN | SIM |
merchant_id | Código da loja no Carat. Os códigos de produção e certificação serão diferentes | < 15 AN | SIM |
merchant_key | Chave de autenticação da loja no Carat. As chaves de produção e certificação serão diferentes. | < 80 AN | SIM |
Exemplo
Requisição:
Para usar este exemplo, não esquecer de definir a variável {{url}} com o valor<br/> <URLPOSTMAN/>
curl
--request POST "https://{{url}}/e-sitef/api/v1/preauthorizations/capture/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"amount":"100",
"installments":"1",
"installment_type":"4",
"card":{
"number":"xxxxxxxxxxxxxxxx",
"expiry_date":"1225",
"security_code":"123"
}
}
--verbose
Resposta:
{
"code": "0",
"message": "OK. Transaction successful.",
"capture": {
"status": "CON",
"nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"order_id": "orderID",
"customer_receipt": "=== CUSTOMER RECEIPT ===",
"merchant_receipt": "=== MERCHANT RECEIPT ===",
"authorizer_id": "2",
"acquirer_id": "229",
"acquirer_name": "Bin",
"authorizer_code": "000",
"authorizer_message": "Transacao OK.",
"authorizer_date": "20/02/2023T19:40",
"authorizer_merchant_id": "000000000000000",
"authorization_number": "212195",
"esitef_usn": "180921015287704",
"merchant_usn": "20190101",
"sitef_usn": "212195",
"host_usn": "999212195",
"amount": "100",
"payment_type": "C",
"issuer": "2"
},
"card":{
"suffix":"5555",
"bin": "544444"
}
}
<ResponseCodes />
Parâmetros da requisição
| Parâmetro | Descrição | Formato | Obrigatório |
|---|---|---|---|
amount | Valor total da compra (em centavos). | < 12 N | SIM |
discount | Valor do desconto, em centavos. Em caso de pré-autorizações com valores promocionais pelo uso do Visa Checkout, a VISA sugere que este campo seja enviado adicionalmente. | < 12 N | NÃO |
installments | Número de parcelas. 1 = à vista.<br/><br/>O número máximo de parcelas configurado no portal Carat do lojista não será verificado neste campo, servindo somente para pagamentos HTML. | < 2 N | SIM |
installment_type | Juntamente com o campo installments, indica parcelamento. Os valores possíveis para installment_type são:
| = 1 N | SIM |
promo_code | Código de promoção Visa Checkout utilizado no pré-autorização. Em caso de pré-autorizações com valores promocionais pelo uso do Visa Checkout, a VISA sugere que este campo seja enviado adicionalmente. | AN | NÃO |
subtotal | Valor do subtotal, em centavos. Em caso de pré-autorizações com valores promocionais pelo uso do Visa Checkout, a VISA sugere que este campo seja enviado adicionalmente. | < 12 N | NÃO |
card | <td colspan="3"/> O envio de dados de cartão é obrigatório para transações com roteamento SiTef com exceção do adquirente Cetelem. Deve ser utilizado apenas um entre os campos: number, token ou wallet_transaction_id | ||
number | Número do cartão do comprador (PAN). | < 19 N | COND. |
token | Utilizado para casos de pré-autorização recorrente, onde o cartão já deverá estar armazenado na base de dados do Carat. | = 88 AN | COND. |
wallet_transaction_id | Código de identificação de transação com wallet VisaCheckout. Necessário apenas para Visa Checkout | < 25 AN | COND. |
initial_wallet_transaction_id | Informa se o Wallet ID (wallet_transaction_id) está sendo utilizado pela primeira vez. Se for a primeira vez, enviar true, caso contrário, enviar false. Necessário apenas para Visa Checkout.<br/><br/> Valor padrão: true | < 5 AN | COND. |
expiry_date | Data de vencimento do cartão no formato MMAA. | = 4 N | COND. |
security_code | Código de segurança. | < 5 N | COND. |
mcc | O MCC (Merchant Category Code) é um código que classifica um negócio pelo tipo de bens ou produtos fornecidos. | < 4 N | NÃO |
subacquirer_merchant_id | Identificação da loja na subadquirente. | < 22 AN | NÃO |
ecomm_pos_ref | Este campo enviará uma identificação que constará no campo PDV do relatório do SiTef Web para transações e-commerce. | < 8 AF | NÃO |
Parâmetros de resposta
| Parâmetro | Descrição | Formato |
|---|---|---|
code | Código de resposta do Carat. Qualquer código diferente de 0 significa falha. Para maiores informações, consulte o documento anexo A-2 - Codigos de Resposta. | < 4 N |
message | Mensagem de resposta do Carat. | < 500 AN |
capture | ||
acquirer_id | Código do adquirente/roteamento utilizado na transação. | < 4 N |
acquirer_name | Nome do adquirente/roteamento utilizado na transação. | < 100 AN |
amount | Valor da compra especificado pela loja (em centavos) na criação da transação. | < 12 AN |
authorization_number | Número de autorização. | < 6 AN |
authorizer_code | Código de resposta do autorizador. | < 10 AN |
authorizer_date | Data de efetivação da pré-autorização retornada pelo autorizador no formato DD/MM/AAAA’T’HH:mm. Exemplo: 13/07/2017T16:03 | = 16 D |
authorizer_id | Código da autorizadora utilizada na transação. | < 4 N |
authorizer_merchant_id | Código de afiliação do lojista na autorizadora. | < 100 AN |
authorizer_message | Mensagem de resposta do autorizador. | < 500 AN |
customer_receipt | Cupom (via cliente). | < 4000 AN |
eci | Eletronic Commerce Indicator (indicador do nível de segurança da transação do pré-autorização). | < 3 AN |
esitef_usn | Número sequencial único da transação de pré-autorização no Carat. | = 15 N |
host_usn | NSU da autorizadora. | < 15 AN |
issuer | Código da bandeira retornado pelo autorizador. | < 5 AN |
merchant_receipt | Cupom (via estabelecimento). | < 4000 AN |
merchant_usn | Número sequencial único enviado pela loja na criação da transação. | < 12 AN |
nit | Identificador da transação de pré-autorização no Carat. | = 64 AN |
payment_type | Tipo do pagamento da autorizadora escolhida: B = boleto, C = crédito, D = débito, P = cartão crédito Private Label puro, T = tranferência bancária, G = cartão gift, O = outros meios de pagamentos, W = Boleto NR via Web Service | = 1 AN |
sitef_usn | Número sequencial único da transação de pré-autorização no SiTef. | = 6 N |
status | Status da transação de pré-autorização no Carat. | = 3 AN |
tid | ID da transação no adquirente/roteamento. Este campo só é retornado em transações com adquirentes externos ao SiTef. | < 40 AN |
xid | Campo XID retornado em autenticações 3DS ou certos adquirentes/roteamentos. | < 40 AN |
| card | ||
suffix | Últimos 4 dígitos do cartão do comprador. | = 4 AN |
bin | 6 primeiros dígitos do cartão do comprador. | = 6 AN |