Skip to content

Commit

Permalink
Merge branch 'main' into feat/spec
Browse files Browse the repository at this point in the history
  • Loading branch information
samueldurantes authored Mar 21, 2024
2 parents 653369b + 81ab921 commit fa4fbca
Show file tree
Hide file tree
Showing 20 changed files with 564 additions and 16 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
65 changes: 65 additions & 0 deletions docs/checkout/checkout-how-to-configure-split-by-subaccounts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
title: "Configurando o split entre subcontas no Checkout"
tags:
- subaccount
- checkout
---

Com o split de subcontas configurado através do Checkout, você tem a possibilidade de
dividir o valor de uma cobrança paga entre duas ou mais subcontas, de acordo com o valor
que você definir para cada uma delas. Para saber mais sobre subcontas, [clique aqui](../subaccount/split-sub-account-usecases.mdx).

## Pré-requisitos

Caso ainda não tenha ativado o módulo de Subcontas, na aba de `Ajustes`, no detalhe do
chekout em questão, você verá a seguinte mensagem:

![Seção para ativar o módulo de Subcontas no detalhe do Checkout](./__assets__/checkout-settings-activate-split.png)

Clique no botão `Ativar`, e o módulo de Subcontas será ativado para o seu Checkout. Desse modo você poderá configurar o split entre subcontas. É necessário ativar o módulo de Subcontas para que seja possível configurar o split entre subcontas
através do Checkout.

Após ativar, você verá a seguinte seção:

![Seção de formulário da configuração do split entre subcontas no Checkout](./__assets__/checkout-settings-split-form.png)

## Configurando o split entre subcontas

Após realizar a ativação do módulo, você verá a seção de configuração do split entre subcontas
conforme a imagem acima. Você terá dois campos disponíveis para realizar a configuração:

### Status do split

Neste campo, você poderá definir se o split entre subcontas estará ativo ou inativo. Caso esteja
ativo, o valor da cobrança será dividido entre as subcontas configuradas. Caso esteja inativo, o
valor da cobrança será direcionado somente para a conta principal.

### Regra de divisão entre subcontas

Ao ativar o split entre subcontas, você terá uma seção onde poderá inserir as regras de divisão,
contendo os seguintes campos:

- **Chave Pix da Subconta**: chave Pix que irá receber o valor daquela regra de divisão;
- **Valor**: valor fixo que será destinado àquela subconta;

Segue o exemplo da imagem abaixo:

![Formulário de configuração de splits preenchido](./__assets__/checkout-settings-split-form-filled.png)

:::info

Caso queira adicionar novas subcontas na regra de divisão, basta clicar no botão: `Adicionar nova subconta`
e preencher os campos conforme a descrição acima.

:::

Após preencher os campos, clique no botão `Salvar` para que as configurações sejam salvas. Caso todas as informações
forem preenchidas corretamente, você verá uma mensagem de sucesso e estará com o split por subcontas configurado. Suas
próximas cobranças criadas através desse checkout farão o split automaticamente de acordo com as respectivas regras.

:::info

No final da seção do formulário, consta também a informação do montante que será repartido entre subcontas e o restante
que será direcionado para a conta principal.

:::
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
---
title: "Como identificar uma cobrança criada via Checkout com webhook no meu sistema?"
tags:
- checkout
- webhook
- charge
---

## Introdução

:::info

É necessário que você tenha já criado um webhook referente a `Cobrança Criada` ou `Cobrança Paga`,
para que seja possível receber as notificações quando um desses eventos ocorrer.

Caso não tenha criado um webhook ainda, acesse a documentação [instruindo como criá-los](../webhook/platform/webhook-platform-api.mdx).

:::

Caso você deseje identificar uma cobrança criada através de um Checkout em seu
sistema, é possível utilizar os webhooks de cobrança criada ou cobrança paga para
identificar o checkout que originou a cobrança.

## Identificando o Checkout

Quando uma cobrança é criada ou paga via Checkout, através do payload que é enviado no webhook, você verá
um exemplo como este:

```json
{
"charge": {
"checkout": {
"title": "Título do Checkout",
"paymentLinkID": "ff3e1bjk-9c7d-49eb-933a-8a47423ee928",
"paymentLinkURL": "https://openpix.com.br/pay/ff3e1bjk-9c7d-49eb-933a-8a47423ee928"
}
}
}
```

Neste exemplo, o campo `checkout` dentro do objeto de `charge` contém as informações do checkout que originou a cobrança.

- `title`: Título do checkout, conforme definido na criação do checkout pela plataforma;
- `paymentLinkID`: ID do link de pagamento do checkout, **esse ID é único** e pode ser utilizado para identificar o checkout;
- `paymentLinkURL`: URL do link de pagamento do checkout, que pode ser utilizado para redirecionar o cliente para a página de pagamento.

Com essas informações, você pode identificar o checkout que originou a cobrança e realizar as ações necessárias em seu sistema.

## Exemplo de payload de webhook

Segue abaixo o payload de exemplo de uma cobrança criada (`OPENPIX:CHARGE_CREATED`) via Checkout:

```json
{
"event": "OPENPIX:CHARGE_CREATED",
"charge": {
"customer": null,
"value": 1200,
"comment": "Webhook de Evento de Cobrança criada",
"identifier": "c2cc9e8cd68442b0a41ee26534bef534",
"paymentLinkID": "429762a4-4bef-4b00-8cc1-f0d3acb676d3",
"transactionID": "c2cc9e8cd68442b0a41ee26534bef534",
"status": "ACTIVE",
"additionalInfo": [],
"fee": 50,
"discount": 0,
"valueWithDiscount": 1200,
"expiresDate": "2024-03-15T18:00:32.466Z",
"type": "DYNAMIC",
"correlationID": "c5820a0a-8abd-46a9-ab9b-ac5a9a68f463",
"createdAt": "2024-03-14T18:00:34.413Z",
"updatedAt": "2024-03-14T18:00:34.413Z",
"brCode": "00020101021226990014br.gov.bcb.pix2577pix-h.bpp.com.br/23114447/qrs1/v2/011sMBpqAGIcbBqf1L8lqJxnJ8gzX6ZGGa22ycXMQ7Q520400005303986540512.005802BR5904demo6009SAO_PAULO61080455630062290525c2cc9e8cd68442b0a41ee265363047835",
"checkout": {
"title": "Título do Checkout",
"paymentLinkID": "ff3e1bjk-9c7d-49eb-933a-8a47423ee928",
"paymentLinkURL": "https://openpix.com.br/pay/ff3e1bjk-9c7d-49eb-933a-8a47423ee928"
}
"expiresIn": 86400,
"pixKey": "676bd1f8-93cb-4389-b094-5587179d56bf",
"paymentLinkUrl": "http://openpix.com.br/pay/429762a4-4bef-4b00-8cc1-f0d3acb676d3",
"qrCodeImage": "http://openpix.com.br/openpix/charge/brcode/image/429762a4-4bef-4b00-8cc1-f0d3acb676d3.png",
"globalID": "Q2hhcmdlOjY1ZjMzYjQyZmNkYjRlZWMyMmY4YTdjYg=="
},
"company": {
"id": "65ba3d42675443db3debd9f9",
"name": "Teste",
"taxID": "75800612000168"
},
"account": {
"clientId": "AE11101E-FBE5-7EC8-130F-D9E6794894F9"
}
}
```

Para mais informações sobre os campos do payload, acesse a documentação com maiores detalhes:

- [Payload de Cobrança Criada](../charge/webhook/charge-webhook-example-charge-created.md)
- [Payload de Cobrança Paga](../charge/webhook/charge-webhook-example-charge-completed.md)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
113 changes: 113 additions & 0 deletions docs/customer/how-to-update-customer-data.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
---
id: how-to-update-customer-data
title: Como atualizar os dados de um cliente
tags:
- concept
- api
- customer
---

É possível alterar o dados de um cliente, tanto via api, quanto via plataforma e o objetivo dessa documentação é mostrar como fazer isso.

:::info
Alguns dados sensíveis na documentação estarão mascarados por questões de segurança.
:::

## Via Plataforma

Para alterar os dados de um cliente via plataforma você precisa

### 1. Acessar a aba de Clientes

![1 Select Customers Tab](__assets__/customerUpdate/1-select-customers-tab.png)

### 2. Selecionar o cliente que deseja alterar

![2 Select Customer](__assets__/customerUpdate/2-select-customer.png)

### 3. Clicar em qual campo você desejar alterar

![3 Edit And Save](__assets__/customerUpdate/3-edit-and-save.png)
Ao editar o campo não esqueça de clicar em salvar em cada campo.

## Via API

Para alterar os dados de um cliente via API, você utiliza o _endpoint_ `/api/v1/customer/{correlationID}` da API utilizando o método `PATCH`.

Para editar o cliente você precisa chamar a API informando o correlationID do cliente em que deseja alterar na URL, e no corpo da requisição você pode informar os campos `name`, `email`, `phone`, `address` and `taxID`.

:::info
O campo taxID é um campo que não pode ser editado do usuário, caso já possua valor. Ou seja, se o cliente já possuir um taxID cadastrado, não será possível alterá-lo. Caso precise editar o taxID de um usuário de qualquer maneira, o ideal é criar um novo cliente com o novo taxID.
:::

### Exemplo

No body da requisição, você precisa informar **somente** os campos que deseja alterar, caso não informe um campo, ele não será alterado.

#### Exemplo com taxID

```json
{
"name": "Eduardo",
"taxID: "360.***.***-72"
}
```

#### Exemplo com email

```json
{
"name": "Dan",
"email": "[email protected]"
}
```

#### Exemplo com telefone

```json
{
"name": "Dan",
"phone": "+554899..."
}
```

#### Exemplo com endereço

```json
{
"address": {
"zipcode": "137...",
"street": "R...",
"number": "15",
"neighborhood": "Centro",
"city": "S...",
"state": "SP",
"complement": "Casa"
}
}
```

Após efetuar a requisição, se tudo ocorreu bem, o _status code_ da requisição será `2xx` e no `body` da resposta, retornaremos o cliente criado.

Retornarmeros a seguinte resposta de exemplo:

```json
{
"customer": {
"name": "NOME DO CLIENTE",
"taxID": { "taxID": "360...", "type": "BR:CPF" },
"correlationID": "d1d46bbd-b010-4beb-b59e-cecf824efb43",
"address": {
"zipcode": "137...",
"street": "R...",
"number": "15",
"neighborhood": "Centro",
"city": "S...",
"state": "SP",
"complement": "Casa"
}
}
}
```

Consulte a documentação da API para mais informações sobre os campos e a resposta da requisição aqui: [API](https://developers.openpix.com.br/api#tag/customer/paths/~1api~1v1~1customer~1%7BcorrelationID%7D/patch)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit fa4fbca

Please sign in to comment.