Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...


 

...

Collection Open Keys -

...

Payment Initiation Journey

 

View file
nameSmart-Key Pagamento - Celcoin.postman_collection.json

 

POST Token

Info

Para iniciar uma jornada é necessário gerar um token no qual devem ser indicados To start a journey, it is necessary to generate a token in which client_ide and client_secret, conforme modelo abaixo must be indicated , according to the model below.

 

Token generation URL de geração do Token

Panel
bgColor#F4F5F7

https://onboard.smartkeys.engdev.fsapps.io/api/portal/onboard/v1/token

 

cURL para geração do for Token generation

Code Block
curl --location 'https://onboard.smartkeys.engdev.fsapps.io/api/portal/onboard/v1/token' \
--header 'Content-Type: application/json' \
--data '{   
    "client_id":"e1987ec5-2567-4048-ace9-...",
    "client_secret": "bb4c8136-874a-42ce-..."
}'

...

Code Block
{
    "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJJUV96OE...",
    "expires_in": 3600,
    "refresh_expires_in": 0,
    "token_type": "Bearer",
    "not-before-policy": 0,
    "scope": "email profile"
}

 O

token retornado no campo The token returned in the “access_token“ tem validade padrão de 1 hora e deve ser utilizado para realizar as chamadas subsequentes. Ele deve ser incluído no parâmetro Authentication do header da requisição, precedido da palavra “Bearer “, exemplofield has a default validity of 1 hour and must be used to make subsequent calls. It must be included in the Authentication parameter of the request header, preceded by the word “Bearer”, example:

Code Block
'Authorization': 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJJUV96OE...'
Info

Uma vez que você conseguiu gerar o Token, conforme o passo a passo da etapa anterior, basta fazer um POST que lhe retornará o link da jornada white label

...

Once you managed to generate the Token, according to the step by step of the previous step, just make a POST that will return the white label journey link

 

Info

Request for starting the Digital Journey - using DICT

Code Block
curl --location 'https://onboard.smartkeys.celcoin.dev.fsapps.io/api/portal/onboard/v1/payment' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJJUV96OE...' \
--data '{
    "cpf": "40193135809",
    "name": "Fernando",
    "amount": "100.00",
    "paymentview": "deposit-confirmation",
    "paymenttype": "DICT"
}'

Campos obrigatórios de preenchimento na Mandatory fields to fill in the request:

  • CPF - campo obrigatórioValor da transação - campo obrigatóriomandatory field

  • Transaction amount - required field

  • Paymentview - campo obrigatório required field

  • Paymenttype - campo obrigatório

...

  • required field

Specificity for Paymentview and Paymenttype fields

  • Paymentview PIX Instantâneo - deposit-confirmation

  • Paymentview PIX Agendado - deposit-deposit-scheduling

  • Paymenttype via DICT - apresenta os dados cadastrados no Painel da Aplicação, opção Configurar Jornadas, campo Dados de recebimentopresents the data registered in the Application Panel, option Configure Journeys, field Receipt data

  • Paymenttype via MANU - é necessário passar os blocos “creditor” e “creditorAccount, conforme exemplo no esboço abaixoit is necessary to pass the “creditor” and “creditorAccount” blocks, as shown in the sketch below.

Info

Exemplo de Example of Request com with MANU

Code Block
curl --location 'https://onboard.smartkeys.celcoin.dev.fsapps.io/api/portal/onboard/v1/payment' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJJUV96OE...' \
--data '{
    "cpf": "02981994166",
    "name": "Fernando",
    "amount": "0.15",
    "paymentview": "deposit-confirmation",
    "paymenttype": "MANU",
    "creditor": {
        "cpfCnpj": "16781564005",
        "name": "HOMOLOGACAO PIX",
        "personType": "PESSOA_NATURAL"
    },
    "creditorAccount": {
        "accountType": "CACC",
        "ispb": "92894922",
        "issuer": "0001",
        "number": "10173722"
    }
}'

 

Info

...

call response

 

Code Block
{
    "url": "https://smartkeys-wl.celcoin.dev.fsapps.io/select-institution?id=yL79m4Kzc7DI0WfL-QKW_k_2b5..."
}

 

Como iniciar a jornada digital, utilizando o white label de Compartilhamento de Dados

Uma vez que você conseguiu gerar o Token, conforme o passo a passo da etapa anterior, basta fazer um POST que lhe retornará o link da jornada white label

...

Note

...

Obs: caso a chamada seja feita numa request parcial, no modelo AJAX, você deverá capturar o retorno do POST para redirecionar o cliente, via janela.

Note: if the call is made in a partial request, in the AJAX model, you must capture the POST return to redirect the client, via a window.

 

How to start the digital journey, using the Data Sharing white label

Once you managed to generate the Token, according to the step by step of the previous step, just make a POST that will return the white label journey link

 

Info

Request for Digital Journey startup - Data Sharing

Code Block
curl --location 'https://onboard.smartkeys.celcoin.dev.fsapps.io/api/portal/onboard/v1/reception' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJJUV96OE...' \
--data '{
    "cpf":"01658698010",
    "cnpj": "",
    "name":"fernando"
}'

...

 

Mandatory fields to fill in the request:

  • CPF - campo obrigatório, em todos os contextos

  • CNPJ - campo obrigatório para um contexto de compartilhamento de dados para pessoa jurídica

...

  • mandatory field, in all contexts

  • CNPJ - required field for a data sharing context for legal entities

 

Info

call response

 

Code Block
{
    "url": "https://smartkeys-wl.celcoin.dev.fsapps.io/?id=BYYPeLTrbfLABZcSeSMsJPFUWWsWBKq0"
}

 

Erros conhecidos:

  • 400 - Falha na validação dos campos obrigatórios;

  • 401 - Token de autenticação inválido

Jornada alternativa para início do white label de Iniciação de Pagamento

Ao realizar o inicio da jornada pelo white label, por padrão, o usuário é direcionado para a tela de seleção de bancos. Como parte deste processo há a necessidade do envio por parâmetros do CPF do cliente na chamada de geração do link do white label, porém para nos casos em que o aplicativo que inicia o processo ainda não tenha o CPF do cliente, há a possibilidade de mostrar o campo CPF nesta tela de seleção de bancos, assim como mostrar uma lista de bancos preferenciais nesta tela. Para estes casos, pode-se utilizar a chamada abaixo.

...

Note

...

ATENÇÃO: caso a chamada seja feita numa request parcial, no modelo AJAX, você deverá capturar o retorno do POST para redirecionar o cliente, via janela.

ATTENTION: if the call is made in a partial request, in the AJAX model, you must capture the POST return to redirect the client, via window.

 

Known bugs:

  • 400 - Failed to validate mandatory fields;

  • 401 - Invalid Authentication Token

 

Alternative journey to start Payment Initiation white label

When starting the journey through the white label, by default, the user is directed to the bank selection screen. As part of this process, it is necessary to send the customer's CPF by parameters in the call to generate the white label link, but in cases where the application that starts the process does not yet have the customer's CPF, there is the possibility of showing the CPF field on this bank selection screen, as well as showing a list of preferred banks on this screen. For these cases, you can use the call below.

 

Info

Example of Request with MANU

Code Block
curl --location 'https://onboard.smartkeys.celcoin.dev.fsapps.io/api/portal/onboard/v1/payment' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJJUV96OE...' \
--data '{
    "amount": "100.00",
    "paymentview": "deposit-confirmation-simple",
    "paymenttype": "MANU",
    "preferredbanks": ["b0e14b00-9686-4764-bdac-5fe415b1dc1a", "c8f0bf49-4744-4933-8960-7add6e590841", "95dd24d2-902e-49e1-ad0d-e02d938447ba"],
    "creditor": {
        "cpfCnpj": "16781564005",
        "name": "HOMOLOGACAO PIX",
        "personType": "PESSOA_NATURAL"
    },
    "creditorAccount": {
        "accountType": "CACC",
        "ispb": "92894922",
        "issuer": "0001",
        "number": "10173722"
    }
}'

 

Info

...

call response

 

Code Block
{
    "url": "https://smartkeys-wl.celcoin.dev.fsapps.io/select-institution?id=yL79m4Kzc7DI0WfL-QKW_k_2b5..."
}

...

 

Callback

...

Após a execução do fluxo de consentimento e aprovação do pagamento o usuário é direcionado para a página de callback cadastrada no momento do onboarding, esta página pode verificar o status do pagamento aprovado e mostrar uma mensagem de obrigado/falha.

Como verificar a atualização do status do pagamento aprovado

A mudança de status do pagamento iniciado pode ser realizado de 2 maneiras, cadastrando um Webhook na aplicação ou consultando o status deste consentimento por API (Polling)

...

Page (Return of the White Label Payment Initiation flow)

After executing the consent flow and payment approval, the user is directed to the callback page registered at the time of onboarding, this page can check the approved payment status and show a thank you/failure message.

 

How to check the approved payment status update

Changing the status of the initiated payment can be done in 2 ways, registering a Webhook in the application or consulting the status of this consent via API (Polling)

 

 

Info

Example Request for Registering a WebHook

Code Block
curl --location 'https://api-smartkeys.celcoin.dev.fsapps.io/api/smart-keys/interceptor' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJJUV96OE...' \
--data '{
    "endpoint": "",
    "isAuthenticated": true,
    "user": "",
    "password": ""
}'

 

 

Info

...

Example Request for Pet Payment API to check payment status by Payment ID

Code Block
curl --location 'https://api-smartkeys.celcoin.dev.fsapps.io/api/smart-keys/payment-consumer/v1/pix/payments/0d42f0c8-f5ff-493f-a350-19d5b8b76618'
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJJUV96OE...' \

 

Info

...

call response

Code Block
{
    "paymentId": "30ddc97c-90d0-4ba6-b681-...",
    "status": "ACCEPTED"
}

O parâmetro status pode receber os valoresThe status parameter can receive the values: "ACCEPTED", "AWAITING_APPROVAL" e and "REJECTED"

 

Info

...

Example Request for Pet Payment API to check payment status by Consent ID

Code Block
curl --location 'https://api-smartkeys.celcoin.dev.fsapps.io/api/smart-keys/payment-consumer/v1/pix/consents/yfPdbpcWgHQo1VL5vrYzd0xIRuxEUJqPO5ufvEN2esA'
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJJUV96OE...' \

 

Info

...

call response

Code Block
{
    "paymentId": "30ddc97c-90d0-4ba6-b681-...",
    "status": "ACCEPTED"
}

O parâmetro status pode receber os valoresThe status parameter can receive the values: "ACCEPTED", "AWAITING_APPROVAL" e and "REJECTED"