Autorização - Jornada 4

Envio de Qr Code para o cliente pagador com pagamento imediato e adesão opcional.


Caso de uso: A Jornada 4 foi pensada para casos de uso onde o fluxo de pagamento é obrigatório, porém a adesão ao Pix Automático é opcional.

Um exemplo de uso da Jornada 4 é um caso de pagamento de fatura de luz ou água, onde o cliente pagador realizará o pagamento do serviço daquele mês, mas pode não desejar aderir ao Pix Automático para os próximos meses.

Neste fluxo, o cliente recebedor envia um Qr Code Pix Automático para que o cliente pagador realize o pagamento e, se desejar, a adesão ao Pix Automático.

Neste fluxo, é possível que a oferta de Pix Automático seja por valor fixo (igual em todas as cobranças futuras por Pix Automático) ou por valor variável. Importante que no caso de cobranças com valor variável, o cliente pagador sempre irá definir um valor máximo (teto) para que os agendamentos sejam realizados.

Se no momento do consentimento de uma conta de luz o usuário pagador determine, por exemplo, que o valor máximo que ele deseja pagar através de Pix Automático é de R$ 200,00, em qualquer mês que a empresa recebedora tentar enviar uma ordem de valor máximo acima de R$ 200,00, essa cobrança de Pix Automático será rejeitada pelo banco do cliente pagador, que deverá pagar sua fatura de outra forma, manualmente.

Nos casos onde o valor enviado de uma cobrança é superior ao valor máximo definido pelo cliente, somente o agendamento daquela cobrança específica não ocorrerá, porém o consentimento de Pix Automático continuará ativo para todas as cobranças futuras, até que o cliente pagador cancele o consentimento em si.


⚠️

Para adesões de Pix Automático através da Jornada 4, o pagamento é obrigatório, mas a adesão é opcional.



A Jornada 4 ocorre por meio da criação de um QR Code composto com uma location do tipo COBVR. Esse QR Code possui tanto os dados da cobrança com vencimento quanto da recorrência. Existem duas formas de criar esse location:

  • Criando o location em separado e depois associando esse location a um QR Code.
  • Cenário 2 : Criar o QR Code e o location simultaneamente.

O aceite é nesse caso é opcional, após efetivar o pagamento a instituição recebedora pergunta se o cliente deseja aceitar a recorrência. Quando o processo seja aceito disparamos o webhook de completed para o recebedor, se o cliente não aceitar não enviamos nenhum webhook.



Cenário 1: Criando o location separado e depois associando esse location a um QR Code.

Passos para Integrar

  1. Autenticar na API: Obtenha o token de autenticação. - [API Reference]
  2. Criar o Location: Registre o novo location - [API Reference]
  3. Criar e Vincular location a um QR Code do tipo Duedate- [API Reference]
  4. Quando o pagamento for efetuado você receberá 2 webhooks
    1. Webhook de Cash in (evento: )
    2. Webhook de Confirmação de recorrência (evento: ) (caso a recorrência seja aceita)


Fluxo de integração - Jornada 4 - Autorização da Recorrência - Cenário 1





Solicita a criação do location

JSON de Exemplo

{
 "clientRequestId": "a016bc8bd89a4f62be995fa0ebb91d77",
  "type": "COBVR",
  "merchant": {
    "postalCode": "01201005",
    "city": "Barueri",
    "merchantCategoryCode": 0,
    "name": "Celcoin"
  }
}

cURL da chamada

curl --location --request POST 'https://sandbox.openfinance.celcoin.dev/pix/v1/location' \
--header 'accept: application/json' \
--header 'Content-Type: application/json-patch+json' \
--header 'Authorization: Bearer {access_token}' \
--data-raw '{
 "clientRequestId": "a016bc8bd89a4f62be995fa0ebb91d77",
  "type": "COBVR",
  "merchant": {
    "postalCode": "01201005",
    "city": "Barueri",
    "merchantCategoryCode": 0,
    "name": "Celcoin"
  }
}'

Exemplo de retorno

👍

Sucesso 200

{
 "locationId": 12345,
  "status": "ACTIVE",
     "clientRequestId": "dc8de35155df4cf6a86c6cf960b797cb",
     "url": "qrcode-h.teste.com.brv1/location/cobv/dc8de35155df4cf6a86c6cf960b797cb",
     "emv": "00020101021226930014br.gov.bcb.pix2571qrcode-   h.teste.com.brv1/location/cob/dc8de35155df4cf6a86c6cf960b797cb5204000053039865802BR5907Celcoin6007Barueri623605322b39d30a0dc84ed9bb9d0d79261af1076404D1B6",
  "type": "COBVR",
  "merchant": {
    "postalCode": "01201005",
    "city": "Barueri",
    "merchantCategoryCode": 0,
    "name": "Celcoin"
  },
 "recurrencyUrl": "qrcode-h.teste.com.brv1/location/cobv/dc8de35155df4cf6a86c6cf960b797cb"
}

Error 400

{
  "version": "1.0.0",
  "status": "ERROR",
  "error": {
    "errorCode": "",
    "message": ""
  }
}


Associar o location tipo COBR a um novo QR Code

JSON de Exemplo

{
 "clientRequestId": "9b26edb7cf254db09f5449c94bf13abc",
  "expirationAfterPayment": 10,
  "duedate": "2021-04-29 00:00:00",
  "debtor": {
    "name": "Fulano de Tal",
    "cpf": "11122233366",
    "cnpj": "1112223300100",
    "city": "Barueri",
    "publicArea": "Avenida Brasil",
    "state": "SP",
    "postalCode": "01202003",
    "email": "[email protected]"
  },
  "receiver": {
    "name": "João da Silva",
    "cpf": "11122233366",
    "cnpj": "1112223300100",
    "postalCode": "01202003",
    "city": "Barueri",
    "publicArea": "Avenida Brasil",
    "state": "SP",
    "fantasyName": "Nome de Comercial"
  },
  "locationId": 55845,
  "amount": 15.63,
  "amountDiscount": {
    "discountDateFixed": [
      {
        "date": "2021-04-29",
        "amountPerc": "1.00"
      }
    ],
    "hasDiscount": false,
    "hasDicount": true,
    "modality": "FIXED_VALUE_UNTIL_THE_DATES_INFORMED",
    "amountPerc": "0.00"
  },
  "amountDicount": {
    "discountDateFixed": [
      {
        "date": "2021-04-29",
        "amountPerc": "1.00"
      }
    ],
    "hasDiscount": false,
    "hasDicount": true,
    "modality": "FIXED_VALUE_UNTIL_THE_DATES_INFORMED",
    "amountPerc": "0.00"
  },
  "amountAbatement": {
    "hasAbatement": false,
    "amountPerc": "0.00",
    "modality": "FIXED_VALUE"
  },
  "amountFine": {
    "hasFine": false,
    "amountPerc": "0.00",
    "modality": "FIXED_VALUE"
  },
  "amountInterest": {
    "hasInterest": false,
    "amountPerc": "0.00",
    "modality": "VALUE_CALENDAR_DAYS"
  },
  "additionalInformation": [
    {
      "value": "Assinatura de serviço",
      "key": "Produto 1"
    }
  ],
  "payerQuestion": "pagamento referente a...",
  "key": "5d000ece-b3f0-47b3-8bdd-c183e8875862",
"recurrency: {
 // Se recurrencyId for informado, os demais não podem estar presentes
    "recurrencyId": "id da recorrência, seguindo o formato: RRxxxxxxxxyyyyMMddkkkkkkkkkkk",
        "interval": {
            "start": "datetime",
            "end": "datetime",
            "frequencyType": "integer (enum FrequencyType)"
        },
        "amount": "decimal | null",
        "creditParty": {
            "bank": "string",
            "taxId": "string",
            "name": "string"
        },
      "debitParty": {
 "ispb": string,
   "personType": string,
   "taxId": string,
   "bank": string | null,
   "account": string,
   "stateCode": string
  },
  "debtor": {
   "personType": string,
   "taxId": string,
   "name": string
  },
        "contract": {
            "number": "string",
            "description": "string | null"
        },
  "allowsNewAttemptsAfterExpiration": boolean
  "maxValueFloor": decimal | null,
  "allowAutoSendingPaymentInstructions": bool
 }
}

cURL da chamada

curl --location --request POST 'https://sandbox.openfinance.celcoin.dev/pix/v1/collection/duedate' \
--header 'accept: application/json' \
--header 'Content-Type: application/json-patch+json' \
--header 'Authorization: Bearer {access_token}' \
--data-raw '{
 "clientRequestId": "9b26edb7cf254db09f5449c94bf13abc",
  "expirationAfterPayment": 10,
  "duedate": "2021-04-29 00:00:00",
  "debtor": {
    "name": "Fulano de Tal",
    "cpf": "11122233366",
    "cnpj": "1112223300100",
    "city": "Barueri",
    "publicArea": "Avenida Brasil",
    "state": "SP",
    "postalCode": "01202003",
    "email": "[email protected]"
  },
  "receiver": {
    "name": "João da Silva",
    "cpf": "11122233366",
    "cnpj": "1112223300100",
    "postalCode": "01202003",
    "city": "Barueri",
    "publicArea": "Avenida Brasil",
    "state": "SP",
    "fantasyName": "Nome de Comercial"
  },
  "locationId": 55845,
  "amount": 15.63,
  "amountDiscount": {
    "discountDateFixed": [
      {
        "date": "2021-04-29",
        "amountPerc": "1.00"
      }
    ],
    "hasDiscount": false,
    "hasDicount": true,
    "modality": "FIXED_VALUE_UNTIL_THE_DATES_INFORMED",
    "amountPerc": "0.00"
  },
  "amountDicount": {
    "discountDateFixed": [
      {
        "date": "2021-04-29",
        "amountPerc": "1.00"
      }
    ],
    "hasDiscount": false,
    "hasDicount": true,
    "modality": "FIXED_VALUE_UNTIL_THE_DATES_INFORMED",
    "amountPerc": "0.00"
  },
  "amountAbatement": {
    "hasAbatement": false,
    "amountPerc": "0.00",
    "modality": "FIXED_VALUE"
  },
  "amountFine": {
    "hasFine": false,
    "amountPerc": "0.00",
    "modality": "FIXED_VALUE"
  },
  "amountInterest": {
    "hasInterest": false,
    "amountPerc": "0.00",
    "modality": "VALUE_CALENDAR_DAYS"
  },
  "additionalInformation": [
    {
      "value": "Assinatura de serviço",
      "key": "Produto 1"
    }
  ],
  "payerQuestion": "pagamento referente a...",
  "key": "5d000ece-b3f0-47b3-8bdd-c183e8875862",
"recurrency: {
 // Se recurrencyId for informado, os demais não podem estar presentes
    "recurrencyId": "id da recorrência, seguindo o formato: RRxxxxxxxxyyyyMMddkkkkkkkkkkk",
        "interval": {
            "start": "datetime",
            "end": "datetime",
            "frequencyType": "integer (enum FrequencyType)"
        },
        "amount": "decimal | null",
        "creditParty": {
            "bank": "string",
            "taxId": "string",
            "name": "string"
        },
      "debitParty": {
 "ispb": string,
   "personType": string,
   "taxId": string,
   "bank": string | null,
   "account": string,
   "stateCode": string
  },
  "debtor": {
   "personType": string,
   "taxId": string,
   "name": string
  },
        "contract": {
            "number": "string",
            "description": "string | null"
        },
  "allowsNewAttemptsAfterExpiration": boolean
  "maxValueFloor": decimal | null,
  "allowAutoSendingPaymentInstructions": bool
 }
}'

Exemplo de retorno

👍

Sucesso 200


{
 "transactionIdentification": "kk6g232xel65a0daee4dd13kk479195205",
 "transactionId": 9267254,
  "clientRequestId": "9b26edb7cf254db09f5449c94bf13abc",
  "status": "ACTIVE",
  "lastUpdate": "2021-04-29",
  "payerQuestion": "Esta cobrança é referente a...",
  "additionalInformation": [
    {
      "value": "string",
      "key": "string"
    }
  ],
  "debtor": {
    "name": "string",
    "cpf": "string",
    "cnpj": "string",
    "city": "string",
    "publicArea": "string",
    "state": "string",
    "postalCode": "string",
    "email": "string"
  },
  "amount": {
    "original": 0,
    "discount": {
      "discountDateFixed": [
        {
          "date": "2025-02-10T20:49:56.428Z",
          "amountPerc": "string"
        }
      ],
      "modality": "string",
      "amountPerc": "string"
    },
    "abatement": {
      "amountPerc": "string",      
      "modality": "string"
    },
    "fine": {
      "amountPerc": "string",
      "modality": "string"
    },
    "interest": {
      "amountPerc": "string",
      "modality": "string"
    }
  },
  "location": {
    "merchant": {
      "postalCode": "string",
      "city": "string",
      "merchantCategoryCode": "string",
      "name": "string",
 "recurrencyUrl": "qrcode-h.teste.com.brv1/location/cob/dc8de35155df4cf6a86c6cf960b797cb"
    },
    "url": "string",
    "emv": "string",
    "type": "string",
    "locationId": "string",
    "id": "string"
  },
  "key": "5d000ece-b3f0-47b3-8bdd-c183e8875862",
  "receiver": {
    "name": "string",
    "cpf": "string",
    "cnpj": "string",
    "postalCode": "string",
    "city": "string",
    "publicArea": "string",
    "state": "string",
    "fantasyName": "string"
  },
  "calendar": {
    "expirationAfterPayment": "string",
    "createdAt": "2025-02-10T20:49:56.428Z",
    "dueDate": "2025-02-10T20:49:56.428Z"
  },
  "createAt": "2021-04-29",
  "recurrency": {
  "recurrencyId": "id da recorrência, seguindo o formato: RRxxxxxxxxyyyyMMddkkkkkkkkkkk",
      "interval": {
        "start": "datetime",
         "end": "datetime",
         "frequencyType": "integer (enum FrequencyType)"},
   "status": integer (enum RecurrencyStatus),
   "journeys": [
         {
             "status": integer (enum JourneyStatus),
             "type": integer (enum Journey),
     "createDate": datetime,
         }],
        "amount": "decimal | null",
        "creditParty": {
            "bank": "string",
            "taxId": "string",
            "name": "string"
        },
       "debitParty": {
   "ispb": string,
   "personType": string,
   "taxId": string,
   "bank": string | null,
   "account": string,
   "stateCode": string
  },
  "debtor": {
   "personType": string,
   "taxId": string,
   "name": string },
        "contract": {
          "number": "string",
            "description": "string | null"},
  "allowsNewAttemptsAfterExpiration": boolean,
  "maxValueFloor": decimal | null,
  "createDate": datetime,
  "allowAutoSendingPaymentInstructions": bool
  }
}


Error 400

{
  "version": "1.0.0",
  "status": "ERROR",
  "error": {
    "errorCode": "",
    "message": ""
  }
}

Cenário 2 - Criar o QR Code e o location simultaneamente.

Passos para Integrar

  1. Autenticar na API: Obtenha o token de autenticação. - [API Reference]
  2. Realiza a criação de um Location + QR Code Simultaneamente - [API Reference]
  3. Quando o pagamento for efetuado você receberá 2 webhooks
      1. Webhook de Cash in (evento: )
      2. Webhook de Confirmação de recorrência (evento: ) (caso a recorrência seja aceita)

Fluxo de integração - Jornada 4 - Autorização da Recorrência - Cenário 2



Solicita a criação do location + Qr Code

JSON de Exemplo

{
 "clientRequestId": "9b26edb7cf254db09f5449c94bf13abc",
  "expirationAfterPayment": 10,
  "duedate": "2021-04-29 00:00:00",
  "debtor": {
    "name": "Fulano de Tal",
    "cpf": "11122233366",
    "cnpj": "1112223300100",
    "city": "Barueri",
    "publicArea": "Avenida Brasil",
    "state": "SP",
    "postalCode": "01202003",
    "email": "[email protected]"
  },
  "receiver": {
    "name": "João da Silva",
    "cpf": "11122233366",
    "cnpj": "1112223300100",
    "postalCode": "01202003",
    "city": "Barueri",
    "publicArea": "Avenida Brasil",
    "state": "SP",
    "fantasyName": "Nome de Comercial"
  },
  "location": {
 "clientRequestId": "a016bc8bd89a4f62be995fa0ebb91d77",
  "merchant": {
    "postalCode": "01201005",
    "city": "Barueri",
    "merchantCategoryCode": 0,
    "name": "Celcoin"
  }
},
  "amount": 15.63,
  "amountDiscount": {
    "discountDateFixed": [
      {
        "date": "2021-04-29",
        "amountPerc": "1.00"
      }
    ],
    "hasDiscount": false,
    "hasDicount": true,
    "modality": "FIXED_VALUE_UNTIL_THE_DATES_INFORMED",
    "amountPerc": "0.00"
  },
  "amountDicount": {
    "discountDateFixed": [
      {
        "date": "2021-04-29",
        "amountPerc": "1.00"
      }
    ],
    "hasDiscount": false,
    "hasDicount": true,
    "modality": "FIXED_VALUE_UNTIL_THE_DATES_INFORMED",
    "amountPerc": "0.00"
  },
  "amountAbatement": {
    "hasAbatement": false,
    "amountPerc": "0.00",
    "modality": "FIXED_VALUE"
  },
  "amountFine": {
    "hasFine": false,
    "amountPerc": "0.00",
    "modality": "FIXED_VALUE"
  },
  "amountInterest": {
    "hasInterest": false,
    "amountPerc": "0.00",
    "modality": "VALUE_CALENDAR_DAYS"
  },
  "additionalInformation": [
    {
      "value": "Assinatura de serviço",
      "key": "Produto 1"
    }
  ],
  "payerQuestion": "pagamento referente a...",
  "key": "5d000ece-b3f0-47b3-8bdd-c183e8875862",
"recurrency: {
 // Se recurrencyId for informado, os demais não podem estar presentes
    "recurrencyId": "id da recorrência, seguindo o formato: RRxxxxxxxxyyyyMMddkkkkkkkkkkk",
        "interval": {
            "start": "datetime",
            "end": "datetime",
            "frequencyType": "integer (enum FrequencyType)"
        },
        "amount": "decimal | null",
        "creditParty": {
            "bank": "string",
            "taxId": "string",
            "name": "string"
        },
      "debitParty": {
 "ispb": string,
   "personType": string,
   "taxId": string,
   "bank": string | null,
   "account": string,
   "stateCode": string
  },
  "debtor": {
   "personType": string,
   "taxId": string,
   "name": string
  },
        "contract": {
            "number": "string",
            "description": "string | null"
        },
  "allowsNewAttemptsAfterExpiration": boolean
  "maxValueFloor": decimal | null,
  "allowAutoSendingPaymentInstructions": bool
 }
}

cURL da chamada

curl --location --request POST 'https://sandbox.openfinance.celcoin.dev/pix/v1/collection/duedate' \
--header 'accept: application/json' \
--header 'Content-Type: application/json-patch+json' \
--header 'Authorization: Bearer {access_token}' \
--data-raw '{
 "clientRequestId": "9b26edb7cf254db09f5449c94bf13abc",
  "expirationAfterPayment": 10,
  "duedate": "2021-04-29 00:00:00",
  "debtor": {
    "name": "Fulano de Tal",
    "cpf": "11122233366",
    "cnpj": "1112223300100",
    "city": "Barueri",
    "publicArea": "Avenida Brasil",
    "state": "SP",
    "postalCode": "01202003",
    "email": "[email protected]"
  },
  "receiver": {
    "name": "João da Silva",
    "cpf": "11122233366",
    "cnpj": "1112223300100",
    "postalCode": "01202003",
    "city": "Barueri",
    "publicArea": "Avenida Brasil",
    "state": "SP",
    "fantasyName": "Nome de Comercial"
  },
  "location": {
 "clientRequestId": "a016bc8bd89a4f62be995fa0ebb91d77",
  "merchant": {
    "postalCode": "01201005",
    "city": "Barueri",
    "merchantCategoryCode": 0,
    "name": "Celcoin"
  }
},
  "amount": 15.63,
  "amountDiscount": {
    "discountDateFixed": [
      {
        "date": "2021-04-29",
        "amountPerc": "1.00"
      }
    ],
    "hasDiscount": false,
    "hasDicount": true,
    "modality": "FIXED_VALUE_UNTIL_THE_DATES_INFORMED",
    "amountPerc": "0.00"
  },
  "amountDicount": {
    "discountDateFixed": [
      {
        "date": "2021-04-29",
        "amountPerc": "1.00"
      }
    ],
    "hasDiscount": false,
    "hasDicount": true,
    "modality": "FIXED_VALUE_UNTIL_THE_DATES_INFORMED",
    "amountPerc": "0.00"
  },
  "amountAbatement": {
    "hasAbatement": false,
    "amountPerc": "0.00",
    "modality": "FIXED_VALUE"
  },
  "amountFine": {
    "hasFine": false,
    "amountPerc": "0.00",
    "modality": "FIXED_VALUE"
  },
  "amountInterest": {
    "hasInterest": false,
    "amountPerc": "0.00",
    "modality": "VALUE_CALENDAR_DAYS"
  },
  "additionalInformation": [
    {
      "value": "Assinatura de serviço",
      "key": "Produto 1"
    }
  ],
  "payerQuestion": "pagamento referente a...",
  "key": "5d000ece-b3f0-47b3-8bdd-c183e8875862",
"recurrency: {
 // Se recurrencyId for informado, os demais não podem estar presentes
    "recurrencyId": "id da recorrência, seguindo o formato: RRxxxxxxxxyyyyMMddkkkkkkkkkkk",
        "interval": {
            "start": "datetime",
            "end": "datetime",
            "frequencyType": "integer (enum FrequencyType)"
        },
        "amount": "decimal | null",
        "creditParty": {
            "bank": "string",
            "taxId": "string",
            "name": "string"
        },
      "debitParty": {
 "ispb": string,
   "personType": string,
   "taxId": string,
   "bank": string | null,
   "account": string,
   "stateCode": string
  },
  "debtor": {
   "personType": string,
   "taxId": string,
   "name": string
  },
        "contract": {
            "number": "string",
            "description": "string | null"
        },
  "allowsNewAttemptsAfterExpiration": boolean
  "maxValueFloor": decimal | null,
  "allowAutoSendingPaymentInstructions": bool
 }
}'

Exemplo de retorno

👍

Sucesso 200

Response:
{
 "transactionIdentification": "kk6g232xel65a0daee4dd13kk479195205",
 "transactionId": 9267254,
  "clientRequestId": "9b26edb7cf254db09f5449c94bf13abc",
  "status": "ACTIVE",
  "lastUpdate": "2021-04-29",
  "payerQuestion": "Esta cobrança é referente a...",
  "additionalInformation": [
    {
      "value": "string",
      "key": "string"
    }
  ],
  "debtor": {
    "name": "string",
    "cpf": "string",
    "cnpj": "string",
    "city": "string",
    "publicArea": "string",
    "state": "string",
    "postalCode": "string",
    "email": "string"
  },
  "amount": {
    "original": 0,
    "discount": {
      "discountDateFixed": [
        {
          "date": "2025-02-10T20:49:56.428Z",
          "amountPerc": "string"
        }
      ],
      "modality": "string",
      "amountPerc": "string"
    },
    "abatement": {
      "amountPerc": "string",      
      "modality": "string"
    },
    "fine": {
      "amountPerc": "string",
      "modality": "string"
    },
    "interest": {
      "amountPerc": "string",
      "modality": "string"
    }
  },
  "location": {
    "merchant": {
      "postalCode": "string",
      "city": "string",
      "merchantCategoryCode": "string",
      "name": "string",
 "recurrencyUrl": "qrcode-h.teste.com.brv1/location/cob/dc8de35155df4cf6a86c6cf960b797cb"
    },
    "url": "string",
    "emv": "string",
    "type": "string",
    "locationId": "string",
    "id": "string"
  },
  "key": "5d000ece-b3f0-47b3-8bdd-c183e8875862",
  "receiver": {
    "name": "string",
    "cpf": "string",
    "cnpj": "string",
    "postalCode": "string",
    "city": "string",
    "publicArea": "string",
    "state": "string",
    "fantasyName": "string"
  },
  "calendar": {
    "expirationAfterPayment": "string",
    "createdAt": "2025-02-10T20:49:56.428Z",
    "dueDate": "2025-02-10T20:49:56.428Z"
  },
  "createAt": "2021-04-29",
  "recurrency": {
  "recurrencyId": "id da recorrência, seguindo o formato: RRxxxxxxxxyyyyMMddkkkkkkkkkkk",
      "interval": {
        "start": "datetime",
         "end": "datetime",
         "frequencyType": "integer (enum FrequencyType)"},
   "status": integer (enum RecurrencyStatus),
   "journeys": [
         {
             "status": integer (enum JourneyStatus),
             "type": integer (enum Journey),
     "createDate": datetime,
         }],
        "amount": "decimal | null",
        "creditParty": {
            "bank": "string",
            "taxId": "string",
            "name": "string"
        },
       "debitParty": {
   "ispb": string,
   "personType": string,
   "taxId": string,
   "bank": string | null,
   "account": string,
   "stateCode": string
  },
  "debtor": {
   "personType": string,
   "taxId": string,
   "name": string },
        "contract": {
          "number": "string",
            "description": "string | null"},
  "allowsNewAttemptsAfterExpiration": boolean,
  "maxValueFloor": decimal | null,
  "createDate": datetime,
  "allowAutoSendingPaymentInstructions": bool
  }
}


Error 400

{
  "version": "1.0.0",
  "status": "ERROR",
  "error": {
    "errorCode": "",
    "message": ""
  }
}




Webhook de completed (disparado quando pagador aceita ou recusa a recorrência)

Evento: pix-automatic-recurrency-completed


{
  "entity": "pix-automatic-recurrency-completed",
  "context": "PIX",
  "cliente": {
    "nome": "Cliente VIP Ltda.",
    "clienteId": 9876,
    "localId": 543,
    "usuarioId": 2109
  },
  "body": {
    "recurrencyId": "RR9988776620250606211530000",
    "deniedReason": null,
    "interval": {
      "start": "2024-01-01T00:00:00Z",
      "end": "2024-12-31T23:59:59Z",
      "frequencyType": 1
    },
    "status": 4,
    "journeys": [
      {
        "status": 4,
        "type": 30,
        "createDate": "2024-12-31T17:00:00Z"
      }
    ],
    "amount": 75.00,
    "creditParty": {
      "bank": "10203040",
      "taxId": "11223344000100",
      "name": "Loja Conveniente Ltda."
    },
    "debitParty": {
      "ispb": "10203040",
      "personType": "NATURAL_PERSON",
      "taxId": "00011122233",
      "bank": "10203040",
      "account": "98765-4",
      "stateCode": "RJ"
    },
    "debtor": {
      "personType": "NATURAL_PERSON",
      "taxId": "44455566677",
      "name": "Carlos Nogueira"
    },
    "contract": {
      "number": "CONTRATO-FIN-2024-001",
      "description": "Pagamento mensal de assinatura"
    },
    "allowsNewAttemptsAfterExpiration": false,
    "maxValueFloor": 150.00,
    "createDate": "2024-01-01T07:55:00Z",
    "updateDate": "2024-12-31T17:05:00Z",
    "allowAutoSendingPaymentInstructions": true
  }
}

❗️

Nenhum fluxo de Pix Automático garante ao Recebedor a certeza de recebimento. Em todos os cenários, mesmo que após a adesão, é permitido que o cliente pagador cancele seu consentimento do Pix Automático, que cancele um agendamento ou que o pagamento não seja realizado na data por falta de saldo em conta.


❗️

Esta documentação ainda está sujeita a atualizações. Quando tivermos a versão final publicada, este aviso será removido de todas as páginas.