# Quick Start
This guide shows the process of performing a spot sale payment, using Carat Portal's REST web service interface.
## What you'll need
- Active account on Carat Portal's homologation environment (obtained with our support team)
- A tool capable of performing HTTP calls, such as Postman, REST Client or cURL
## Creating the transaction
**HTTP method**: POST
**URL**: _https\:///e-sitef/api/v1/transactions_
**Headers**:
- **Content-Type**: application/json
- **merchant_id**: {your merchant id}
- **merchant_key**: {your merchant key}
**Request**:
To use this example, don't forget to define the variable `{{url}}` to the value
****
```curl
curl
--request POST "https://{{url}}/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"merchant_usn":"12042142155",
"order_id":"12042142155",
"installments":"1",
"installment_type":"4",
"authorizer_id":"2",
"amount":"1"
}
--verbose
```
**Response**:
```json
{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"status": "NOV",
"nit": "",
"order_id": "12042142155",
"merchant_usn": "12042142155",
"amount": "1"
}
}
```
[Learn more about this service.](pagamento-rest-begin.md)
## Paying
**HTTP method**: POST
**URL**: https\:///e-sitef/api/v1/payments/**\**
Replace the field **\** in the URL above with the NIT obtained in the transaction creation step.
**Headers**:
- **Content-Type**: application/json
- **merchant_id**: {your merchant id}
- **merchant_key**: {your merchant key}
**Request**:
To use this example, don't forget to define the variable `{{url}}` to the value
****
```curl
curl
--request POST "https://{{url}}/e-sitef/api/v1/payments/"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"card":{
"number":"5555555555555555",
"expiry_date":"1222",
"security_code":"601"
}
}
--verbose
```
**Response**:
```json
{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"authorizer_code": "000",
"authorizer_message": "Transacao OK",
"status": "CON",
"nit": "",
"order_id": "12042142155",
"customer_receipt": "====CUPOM COMPRADOR====",
"merchant_receipt": "====CUPOM ESTABELECIMENTO====",
"authorizer_id": "2",
"acquirer_id": "229",
"acquirer_name": "Bin",
"authorizer_date": "13/04/2018T10:56",
"authorization_number": "132324",
"merchant_usn": "12042142155",
"esitef_usn": "180413005038220",
"sitef_usn": "132324",
"host_usn": "999132324 ",
"amount": "1",
"payment_type": "C",
"issuer": "2",
"authorizer_merchant_id": "000000000000005",
"payment_date": "13/04/2018T10:56"
}
}
```
[Learn more about this service.](pagamento-rest-dopayment.md)
## Checking the payment status
**HTTP method**: GET
**URL**: https\:///e-sitef/api/v1/transactions/**\**
Replace the field **\** in the URL above with the NIT obtained in the transaction creation step.
**Headers**:
- **Content-Type**: application/json
- **merchant_id**: {your merchant id}
- **merchant_key**: {your merchant key}
To use this example, don't forget to define the variable `{{url}}` to the value
****
```curl
curl
--request GET "https://{{url}}/e-sitef/api/v1/transactions/"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--verbose
```
**Response**:
```json
{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"authorizer_code": "000",
"authorizer_message": "Transacao OK",
"status": "CON",
"nit": "",
"order_id": "12042142155",
"customer_receipt": "====CUPOM COMPRADOR====",
"merchant_receipt": "====CUPOM ESTABELECIMENTO====",
"authorizer_id": "2",
"acquirer_id": "229",
"acquirer_name": "Bin",
"authorizer_date": "13/04/2018T10:56",
"authorization_number": "132324",
"merchant_usn": "12042142155",
"esitef_usn": "180413005038220",
"sitef_usn": "132324",
"host_usn": "999132324 ",
"amount": "1",
"payment_type": "C",
"issuer": "2",
"authorizer_merchant_id": "000000000000005",
"payment_date": "13/04/2018T10:56"
}
}
```
[Learn more about this service.](pagamento-rest-getstatus.md)