Vale-assinatura
Você pode incluir um recurso no seu aplicativo que permite aos usuários dar vale-assinaturas. Isso pode ajudar a aumentar a receita e atrair novos usuários.
Como funciona
Um usuário pode dar uma assinatura a um usuário existente no sistema especificando as informações de conta, ou a um novo usuário especificando o endereço de e-mail. Nesse caso, remetente pode ocultar seu nome ou adicionar uma mensagem de texto à notificação por e-mail. Após criar uma assinatura, o destinatário vira proprietário da assinatura. A assinatura criada é do tipo de renovação de pagamento único.
Fluxo de interação ao dar uma assinatura a um usuário existente:
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent' }}}%%
sequenceDiagram
participant G as Doador
participant R as Destinatário
participant BE as Aplicativo
participant X as Xsolla
G->>BE: Seleciona usuário existente para presentear assinatura, seleciona plano.<br>(Opcional) Escolhe presentear anonimamente<br>e adiciona mensagem
activate BE
BE->>X: Envia ID e e-mail do doador,<br>ID e e-mail do destinatário, ID do Plano.<br>(Opcional) Envia: opção de anonimato,<br>mensagem do doador, URL de redirecionamento, ID do Produto
activate X
X-->>BE: Envia token de compra
deactivate X
BE-->>G: Envia o link para a interface de pagamento
deactivate BE
G->>X: Abre interface de pagamento
activate X
activate X
note right of X: Solicita validação do usuário
deactivate X
X->>BE: Envia webhook de Validação do Usuário
activate BE
BE-->>X: Retorna uma resposta bem-sucedida
deactivate BE
X-->>G: Permite inserir dados de pagamento
deactivate X
G->>X: Transfere dados de pagamento com segurança
activate X
X->>BE: Envia webhook de Pagamento
activate BE
BE-->>X: Retorna uma resposta bem-sucedida
deactivate BE
X-->>G: Exibe a tela de compra bem-sucedida
X->>BE: Envia webhook de Assinatura Criada
activate BE
BE-->>X: Retorna uma resposta bem-sucedida
deactivate BE
X-->>G: Envia o recibo
X->>BE: Envia e-mail de presente com dados de anonimato,<br>mensagem do doador e URL de redirecionamento
activate BE
BE-->>X: Retorna uma resposta bem-sucedida
deactivate BE
X-->>R: Segue a URL de redirecionamento no e-mail<br>e visualiza as informações da assinatura presenteada
deactivate X
activate R
R->>BE: Retorna uma resposta bem-sucedida
deactivate R
Fluxo de interação ao dar uma assinatura a um novo usuário:
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent' }}}%%
sequenceDiagram
participant G as Doador
participant R as Destinatário
participant BE as Aplicativo
participant X as Xsolla
G->>BE: Insere o e-mail do novo usuário<br>para presentear a assinatura, seleciona o plano.<br>(Opcional) Escolhe presentear anonimamente<br>e adiciona mensagem
activate BE
BE->>X: Envia ID do doador e e-mail,<br>e-mail do destinatário, URL de redirecionamento, ID do plano.<br>(Opcional) Envia: opção de anonimato,<br>mensagem do doador, ID do produto
activate X
X-->>BE: Envia o token de compra
deactivate X
BE-->>G: Envia o link para a interface de pagamento
deactivate BE
G->>X: Abre a interface de pagamento
activate X
activate X
note right of X: Solicita validação do usuário
deactivate X
X->>BE: Envia Webhook de Validação do Usuário
activate BE
BE-->>X: Retorna uma resposta bem-sucedida
deactivate BE
X-->>G: Permite inserir dados de pagamento
deactivate X
G->>X: Transfere dados de pagamento com segurança
activate X
X->>BE: Envia Webhook de Pagamento
activate BE
BE-->>X: Retorna uma resposta bem-sucedida
deactivate BE
X-->>G: Exibe a tela de compra bem-sucedida
X->>BE: Envia Webhook de Assinatura Criada
activate BE
BE-->>X: Retorna uma resposta bem-sucedida
deactivate BE
X-->>G: Envia o recibo
X->>BE: Envia e-mail de presente com mensagem do doador,<br>e URL de redirecionamento.<br>Se o presente for enviado anonimamente,<br>o nome do doador é ocultado.
activate BE
BE-->>X: Retorna uma resposta bem-sucedida
deactivate BE
X-->>R: Segue URL de redirecionamento no e-mail
deactivate X
activate R
R->>BE: Abre o formulário de autenticação
activate BE
BE-->>R: Retorna uma resposta bem-sucedida
deactivate BE
R->>BE: Cria uma conta e recebe a assinatura presenteada
activate BE
BE-->>R: Retorna uma resposta bem-sucedida
deactivate BE
deactivate R
Como configurar
Você pode configurar a possibilidade de dar uma assinatura no seu aplicativo:
Presentear um usuário existente
- Implemente no seu aplicativo uma interface de compra de vale-assinaturas com os seguintes elementos:
- campos para inserção de dados do destinatário
- campo para inserção de mensagem do remetente (opcional)
- opção para seleção de envio anônimo (opcional)
- elementos para selecionar um plano de assinatura (opcional)
- Implemente o recebimento de um token após o preenchimento dos dados do vale ao prosseguir ao pagamento. Para fazer isso, passe o
purchase.subscription.giftobjeto para a chamada de API Create token com os seguintes parâmetros:recipient— ID do destinatário da assinatura. Obrigatório.email— endereço de e-mail do destinatário. Obrigatório.redirect_url— URL de redirecionamento. Forneça um link para uma página com informações adicionais sobre a assinatura oferecida ou para a página principal do projeto.
redirect_url não for passado no token, o destinatário do vale não poderá navegar até a assinatura a partir do e-mail de notificação.- Além disso, você pode passar os seguintes parâmetros no
purchase.subscriptionobjeto:gift.anonymous— se o presente foi enviado anonimamente. Setrue, o nome do remetente está oculto na notificação por e-mail. O padrão éfalse.gift.message— mensagem do remetente. Enviado em uma notificação por e-mail sobre o vale-assinatura.plan_id— ID do plano de assinatura.
Exemplo de solicitação para receber um token:
- json
1{
2 "purchase": {
3 "checkout": {
4 "currency": "USD",
5 "amount": 10
6 },
7 "subscription": {
8 "gift": {
9 "recipient": "test_recipient_v1",
10 "email": "[email protected]",
11 "redirect_url": "https://example.com/",
12 "anonymous": true,
13 "message": "Happy birthday!"
14 }
15 }
16 },
17 "settings": {
18 "currency": "USD",
19 "language": "en",
20 "project_id": 16184,
21 "ui": {
22 "components": {
23 "virtual_currency": {
24 "custom_amount": true
25 }
26 },
27 "desktop": {
28 "virtual_item_list": {
29 "button_with_price": true,
30 "layout": "list"
31 }
32 },
33 "size": "medium"
34 }
35 },
36 "user": {
37 "country": {
38 "allow_modify": true,
39 "value": "US"
40 },
41 "age": 19,
42 "email": {
43 "value": "[email protected]"
44 },
45 "id": {
46 "value": "user_2"
47 },
48 "name": {
49 "value": "John Smith"
50 }
51 }
52}
- Usando o token recebido no passo 2, abra a interface de pagamento em uma nova janela, em um Iframe ou usando Pay Station Embed.
Presentear um novo usuário
- Implemente no seu aplicativo uma interface para compra de vale-assinatura com os seguintes elementos:
- campos para inserir o endereço de e-mail do destinatário
- campo para inserir um mensagem do remetente (opcional)
- opção para selecionar envio anônimo (opcional)
- elementos para selecionar um plano de assinatura (opcional)
- Implemente a criação do novo usuário e atribua um ID a ele em seu sistema.
- Crie um link para ativar a conta do usuário.
- Implemente o recebimento de um token após o preenchimento dos dados do vale no ato de pagamento. Para fazer isso, passe o
purchase.subscription.giftobjeto com os parâmetros para a chamada de API Create token:recipient— ID do destinatário da assinatura criado no passo 2.email— endereço de e-mail do destinatário.redirect_url— URL de ativação criado no passo 3.
redirect_url não for passado no token, o destinatário do vale não poderá navegar até a assinatura a partir do e-mail de notificação.- Além disso, você pode passar os seguintes parâmetros no
purchase.subscriptionobjeto:gift.anonymous— se o presente foi enviado anonimamente. Setrue, o nome do remetente está oculto na notificação por e-mail. O padrão éfalse.gift.message— mensagem do remetente. Enviado em uma notificação por e-mail sobre o vale-assinatura.plan_id— ID do plano de assinatura.
Exemplo de solicitação para receber um token:
- json
1{
2 "purchase": {
3 "checkout": {
4 "currency": "USD",
5 "amount": 10
6 },
7 "subscription": {
8 "gift": {
9 "recipient": "test_recipient_v1",
10 "email": "[email protected]",
11 "redirect_url": "https://example.com/",
12 "anonymous": true,
13 "message": "Happy birthday!"
14 }
15 }
16 },
17 "settings": {
18 "currency": "USD",
19 "language": "en",
20 "project_id": 16184,
21 "ui": {
22 "components": {
23 "virtual_currency": {
24 "custom_amount": true
25 }
26 },
27 "desktop": {
28 "virtual_item_list": {
29 "button_with_price": true,
30 "layout": "list"
31 }
32 },
33 "size": "medium"
34 }
35 },
36 "user": {
37 "country": {
38 "allow_modify": true,
39 "value": "US"
40 },
41 "age": 19,
42 "email": {
43 "value": "[email protected]"
44 },
45 "id": {
46 "value": "user_2"
47 },
48 "name": {
49 "value": "John Smith"
50 }
51 }
52}
- Usando o token recebido no passo 4, abra a interface de pagamento em uma nova janela, em um Iframe ou usando Pay Station Embed.
Encontrou um erro de texto ou digitação? Selecione o texto e pressione Ctrl+Enter.