...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Collection Open Keys -
...
Payment Initiation Journey
View file | ||
---|---|---|
|
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 | ||
---|---|---|
| ||
|
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"