Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

 

 

Collection Open Keys - Jornada de Iniciação de Pagamentos

 

POST Token

Para iniciar uma jornada é necessário gerar um token no qual devem ser indicados client_id e client_secret, conforme modelo abaixo.

 

URL de geração do Token

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

 

cURL para geração do Token

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-..."
}'

 

Response:

{
    "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 “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 “, exemplo:

'Authorization': 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJJUV96OE...'

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

Request da inicialização da Jornada Digital - utilizando o DICT

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 request:

  • CPF - campo obrigatório

  • Valor da transação - campo obrigatório

  • Paymentview - campo obrigatório

  • Paymenttype - campo obrigatório

Especificidade para os campos de Paymentview e Paymenttype

  • 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 recebimento

  • Paymenttype via MANU - é necessário passar os blocos “creditor” e “creditorAccount, conforme exemplo no esboço abaixo.

Exemplo de Request com MANU

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"
    }
}'

Response da chamada

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

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.

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

Request da inicialização da Jornada Digital - Compartilhamento de Dados

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"
}'

Campos obrigatórios de preenchimento na request:

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

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

Response da chamada

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

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.

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.

Exemplo de Request com MANU

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"
    }
}'

Response da chamada

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

Página de Callback (Retorno do fluxo de Iniciação de Pagamento pelo White Label)

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)

Exemplo de Request para Cadastro de um WebHook

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": ""
}'

Exemplo de Request para API de Pet Payment a fim de verificar status do pagamento pelo ID do Pagamento

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...' \

Response da chamada

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

O parâmetro status pode receber os valores: "ACCEPTED", "AWAITING_APPROVAL" e "REJECTED"

Exemplo de Request para API de Pet Payment a fim de verificar status do pagamento pelo ID do Consentimento

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

Response da chamada

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

O parâmetro status pode receber os valores: "ACCEPTED", "AWAITING_APPROVAL" e "REJECTED"

  • No labels