Transaction status query

These services can be called to obtain data from the payment, cancel or schedule transactions. It's essential to use this operation for handling communication errors to verify the current status of the transaction, which may have been processed or not received by Carat Portal.

Carat Portal provides a service for querying by NIT (payment/cancel) and a service for querying by SID (schedule). In the case of payment with schedule, the queries will return the data from both transactions.

Note: There is a maximum period of 15 days for querying the transaction status. After this period, the transaction identifier (nit) is invalidated.

The Carat Portal transaction query service DO NOT makes a transaction status check in acquirer / authorizer. This service only returns the transaction status in Carat Portal database.

Example: If a payment transaction is confirmed in Carat Portal, but is reversed via telephone directly to the acquirer / authorizer, this reversal will not necessarily be reflected in the Carat Portal transaction query service.

Call details#

Query by NIT#

  • Resource: /v1/transactions/{nit}
  • HTTP Method: GET
  • Request format: there are no request parameters
  • Response format: JSON
  • Header parameters:
ParameterDescriptionFormatMandatory
merchant_idMerchant code on Carat Portal. The production and certification codes will be different.< 15 ANYES
merchant_keyMerchant authentication key on Carat Portal. The production and certification keys will be different.< 80 ANYES

Query by SID#

  • Resource: /v1/schedules/{sid}
  • HTTP Method: GET
  • Request format: there are no request parameters
  • Response format: JSON
  • Header parameters:
ParameterDescriptionFormatMandatory
merchant_idMerchant code on Carat Portal. The production and certification codes will be different.< 15 ANYES
merchant_keyMerchant authentication key on Carat Portal. The production and certification keys will be different.< 80 ANYES

Examples#

Below are some examples of the query services calls using the cURL tool.

Payment query#

Request:

To use this example, don't forget to define the variable {{url}} with the value
esitef-homologacao.softwareexpress.com.br

curl
--request GET "https://{{url}}/e-sitef/api/v1/transactions/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--verbose

Response:

{
"code":"0",
"message":"OK. Transaction successful.",
"payment":{
"authorizer_code":"000",
"authorizer_message":"Transacao OK",
"status":"CON",
"nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"order_id":"13064421440",
"customer_receipt":"==== CUPOM COMPRADOR ====",
"merchant_receipt":"==== CUPOM ESTABELECIMENTO ====",
"authorizer_id":"2",
"acquirer_id":"229",
"acquirer_name":"Bin",
"authorizer_date":"13/07/2017T18:44",
"authorization_number":"132048",
"merchant_usn":"13064421441",
"esitef_usn":"170713097341620",
"sitef_usn":"132048",
"host_usn":"999132048 ",
"payment_date":"13/07/2017T18:44",
"amount":"1000",
"payment_type":"C",
"issuer":"2",
"authorizer_merchant_id":"000000000000005"
}
}

Schedule query#

Request:

To use this example, don't forget to define the variable {{url}} with the value
esitef-homologacao.softwareexpress.com.br

curl
--request GET "https://{{url}}/e-sitef/api/v1/schedules/qwertyuiopasdfghjklzxcvbnm0123456789qwertyuiopasdfghjklzxcvbnm01"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--verbose

Response:

{
"code":"0",
"message":"OK. Transaction successful.",
"schedule":{
"status":"ATV",
"sid":"qwertyuiopasdfghjklzxcvbnm0123456789qwertyuiopasdfghjklzxcvbnm01",
"schedule_usn":"170713000000050",
"authorizerId":"2",
"amount":"900",
"initial_date":"03/08/2017",
"next_date":"03/08/2017",
"number_of_times":"3",
"current_times":"0",
"installments":"1",
"installment_type":"4",
"soft_descriptor":"Assinatura",
"show_times_invoice":"false"
}
}

Query by payment with schedule NIT#

Request:

To use this example, don't forget to define the variable {{url}} with the value
esitef-homologacao.softwareexpress.com.br

curl
--request GET "https://{{url}}/e-sitef/api/v1/transactions/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--verbose

Response:

{
"code":"0",
"message":"OK. Transaction successful.",
"payment":{
"authorizer_code":"000",
"authorizer_message":"Transacao OK",
"status":"CON",
"nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"order_id":"13065054564",
"customer_receipt":"==== CUPOM COMPRADOR ====",
"merchant_receipt":"==== CUPOM ESTABELECIMENTO ====",
"authorizer_id":"2",
"acquirer_id":"229",
"acquirer_name":"Bin",
"authorizer_date":"13/07/2017T18:51",
"authorization_number":"132050",
"merchant_usn":"13065054565",
"esitef_usn":"170713097341630",
"sitef_usn":"132050",
"host_usn":"999132050 ",
"payment_date":"13/07/2017T18:51",
"amount":"1000",
"payment_type":"C",
"issuer":"2",
"authorizer_merchant_id":"000000000000005"
},
"schedule":{
"status":"ATV",
"sid":"qwertyuiopasdfghjklzxcvbnm0123456789qwertyuiopasdfghjklzxcvbnm01",
"schedule_usn":"170713000000060",
"authorizerId":"2",
"amount":"900",
"initial_date":"03/08/2017",
"next_date":"03/10/2017",
"number_of_times":"3",
"current_times":"2",
"installments":"1",
"installment_type":"4",
"soft_descriptor":"Assinatura",
"show_times_invoice":"false",
"nits":[
"123412341234111",
"123412341234222"
]
}
}

Query by schedule with payment SID#

Request:

To use this example, don't forget to define the variable {{url}} with the value
esitef-homologacao.softwareexpress.com.br

curl
--request GET "https://{{url}}/e-sitef/api/v1/schedules/qwertyuiopasdfghjklzxcvbnm0123456789qwertyuiopasdfghjklzxcvbnm01"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--verbose

Response:

{
"code":"0",
"message":"OK. Transaction successful.",
"payment":{
"authorizer_code":"000",
"authorizer_message":"Transacao OK",
"status":"CON",
"nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"order_id":"13065054564",
"customer_receipt":"==== CUPOM COMPRADOR ====",
"merchant_receipt":"==== CUPOM ESTABELECIMENTO ====",
"authorizer_id":"2",
"acquirer_id":"229",
"acquirer_name":"Bin",
"authorizer_date":"13/07/2017T18:51",
"authorization_number":"132050",
"merchant_usn":"13065054565",
"esitef_usn":"170713097341630",
"sitef_usn":"132050",
"host_usn":"999132050 ",
"payment_date":"13/07/2017T18:51",
"amount":"1000",
"payment_type":"C",
"issuer":"2",
"authorizer_merchant_id":"000000000000005"
},
"schedule":{
"status":"ATV",
"sid":"qwertyuiopasdfghjklzxcvbnm0123456789qwertyuiopasdfghjklzxcvbnm01",
"schedule_usn":"170713000000060",
"authorizerId":"2",
"amount":"900",
"initial_date":"03/08/2017",
"next_date":"03/10/2017",
"number_of_times":"3",
"current_times":"2",
"installments":"1",
"installment_type":"4",
"soft_descriptor":"Assinatura",
"show_times_invoice":"false",
"nits":[
"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqs",
"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqt"
]
}
}

Response codes

See reference on API codes - response codes

Response parameters#

If successful, the HTTP response code will be 200. Any other code must be interpreted as an error. The table below describes the response parameters of the transaction query service:

ParameterDescriptionFormat
codeCarat Portal response code. Any code different from 0 means failure. Learn more.< 4 N
messageCarat Portal response message.< 500 AN
payment
authorizer_codeAuthorizer response code.< 10 AN
authorizer_messageAuthorizer response message.< 500 AN
statusStatus of the payment transaction on Carat Portal. Learn more.= 3 AN
nitIdentifier of the payment transaction on Carat Portal.= 64 AN
order_idOrder code sent by the merchant on the creation of the transaction.< 40 AN
merchant_usnUnique sequential number sent by the merchant on the creation of the transaction.< 12 N
amountTotal price of the purchase specified by the merchant (in cents) on the creation of the transaction.< 12 N
sitef_usnUnique sequential number of the payment transaction on SiTef.= 6 N
esitef_usnUnique sequential number of the payment transaction on Carat Portal.= 15 N
customer_receiptCustomer's receipt.< 4000 AN
merchant_receiptMerchant's receipt.< 4000 AN
authorizer_idCode of the authorizer used on the transaction.< 4 N
acquirer_idCode of the acquirer used on the transaction.< 4 N
acquirer_nameName of the acquirer used on the transaction.< 100 AN
authorizer_datePayment authorization date returned by the authorizer in DD/MM/YYYY'T'HH:mm format. Example: 13/07/2017T16:03= 16 D
authorization_numberAuthorization number.< 6 AN
host_usnHost USN.< 15 AN
tidID of the transaction on the acquirer. This field is only returned on transactions with acquirers that are external to SiTef.< 40 AN
eciEletronic Commerce Indicator (security level indicator of the payment transaction).< 3 AN
payment_datePayment authorization date on Carat Portal in DD/MM/YYYY'T'HH:mm format. Example: 13/07/2017T16:03= 16 D
issuerIssuer code returned by the authorizer.< 5 AN
authorizer_merchant_idAffiliation code of the merchant on the authorizer.< 100 AN
xidXID field returned on 3DS authentications or certain acquirers.< 40 AN
balanceCurrent balance after payments with Gift cards.< 12 N
payment.analysis
codeResponse code of the fraud analysis operation.< 4 N
messageResponse message of the fraud analysis operation.< 200 AN
statusStatus of the fraud analysis transaction on Carat Portal. This field can assume the following value:
NOV – New.
EXP – Expired.
ACC – Accepted
REJ – Rejected
REV – In review
INV – Invalid
= 3 AN
schedule
statusStatus of the schedule on Carat Portal. Learn more.= 3 AN
sidSchedule transaction identifier on Carat Portal.= 64 AN
schedule_usnUnique sequential number of the schedule on Carat Portal.= 15 N
authorizer_idCode of the authorizer to be used on the scheduled payments.= 4 N
amountAmount of the scheduled payments specified by the merchant (in cents) on the creation of the transaction.< 12 N
order_idOrder code sent by the merchant on the creation of the transaction.< 40 AN
merchant_usnUnique sequential number sent by the merchant on the creation of the transaction.< 12 N
initial_dateExecution date of the first scheduled payment in DD/MM/YYYY format.= 10 D
next_dateExecution date of the next scheduled payment in DD/MM/YYYY format.= 10 D
number_of_timesTotal quantity of scheduled payments.< 3 N
current_timesQuantity of scheduled payments already executed.< 3 N
installmentsNumber of installments to be used on the scheduled payments.< 2 N
installment_typeFinancing type to be used on the scheduled payments.< 2 N
soft_descriptorAdditional text that will be presented alongside the name of the establishment in the credit card invoice. This functionality is available to the acquirers Cielo e-Commerce, PayPal, e-Rede, ElavonWS and Stone.< 30 AN
show_times_invoiceFor finite time schedules, send this field with value true if you want to add at the end of the soft_descriptor field the current times/number of times (e.g. Subscription 3/12).< 5 T/F
nitsNITs of the last six scheduled payments already executed.= 64 AN[]
cancellation
authorizer_codeAuthorizer response code.< 10 AN
authorizer_messageAuthorizer response message.< 500 AN
statusStatus of the payment transaction on Carat Portal. Learn more.= 3 AN
nitIdentifier of the cancel transaction on Carat Portal.= 64 AN
order_idOrder code of the transaction sent by the merchant.< 40 AN
merchant_usnUnique sequential number of the transaction sent by the merchant.< 12 N
amountAmount of the cancel transaction as specified by the merchant (in cents).< 12 N
sitef_usnUnique sequential number of the cancel transaction on SiTef.= 6 N
esitef_usnUnique sequential number of the cancel transaction on Carat Portal.= 15 N
customer_receiptCustomer's receipt.< 4000 AN
merchant_receiptMerchant's receipt.< 4000 AN
authorizer_idCode of the authorizer used on the transaction.< 4 N
acquirer_idCode of the acquirer used on the transaction.< 4 N
acquirer_nameName of the acquirer used on the transaction.< 100 AN
authorizer_dateCancel authorization date returned by the authorizer in DD/MM/YYYY'T'HH:mm format. Example: 13/07/2017T16:03= 16 D
authorization_numberAuthorization number.< 6 AN
host_usnHost USN.< 15 AN
tidID of the transaction on the acquirer. This field is only returned on transactions with acquirers that are external to SiTef.< 40 AN
esitef_dateCancel authorization date on Carat Portal in DD/MM/YYYY'T'HH:mm format. Example: 13/07/2017T16:03= 16 D
issuerIssuer code returned by the authorizer.< 5 AN
authorizer_merchant_idAffiliation code of the merchant on the authorizer.< 100 AN
is_host_cancelThis field will return the value true in case of cancel via host.< 5 T/F
terminal_idTerminal code used in the transaction< 8 AN

Querying transactions from a group of merchants#

Carat Portal requires that the credentials (merchant_id and merchant_key) are the same used on the transacF