Para usar o sistema de pagamento Garanti BBVA (Sanal POS) no Mavibot, você precisa obter as credenciais do terminal POS virtual junto ao banco e inseri-las nas configurações de integração. O pagamento é processado na página segura do banco com confirmação 3D Secure.

Obtendo as credenciais
Assine um contrato com a Garanti BBVA para o serviço Sanal POS (POS virtual). Ao ativar o serviço, solicite ao banco que habilite o Ortak Ödeme (página de pagamento compartilhada) para o seu terminal. Sem esse recurso, os pagamentos via página de pagamento do banco não funcionarão.
O banco fornecerá a você:
- Merchant ID (Üye İşyeri No) — seu ID de comerciante;
- Terminal ID — seu ID de terminal;
- Provision User ID — o nome de usuário de provisionamento (geralmente PROVAUT ou PROVOOS);
- Provision Password — a senha do usuário de provisionamento.
A Store Key (chave 3D Secure) é criada por você no painel de gerenciamento do Sanal POS (Yönetim → 3D Secure). Certifique-se de salvá-la, pois também é necessária para a integração.
Como conectar Garanti BBVA ao Mavibot?

Na seção Adquirência do Mavibot, selecione Garanti BBVA e insira os seguintes detalhes:
- Merchant ID — seu ID de comerciante.
- Terminal ID — seu ID de terminal.
- Provision User ID — o nome de usuário de provisionamento. Se deixado em branco, PROVAUT será usado.
- Provision Password — a senha do usuário de provisionamento.
- Store Key — sua chave 3D Secure.
- Store Name — o nome exibido aos clientes na página de pagamento do banco. Se deixado em branco, "Loja online" será exibido.
- Modo de Teste — ative esta opção para testar a integração usando as credenciais de teste do banco. Para processar pagamentos reais, esta opção deve estar desativada.
A integração está concluída.
Gerando um Link de Pagamento
Função da Calculadora:
get_garanti_payment_url(amount, description, currency, customer_email, language)
Parâmetros:
| Parâmetro | Descrição | Obrigatório | Valores Padrão / Permitidos |
|---|---|---|---|
amount |
Valor do pagamento. | ✅ | — |
description |
Descrição do pagamento. | Não | — |
currency |
Moeda do pagamento. | Não |
TRY (padrão). Valores suportados: TRY, USD, EUR, GBP, JPY
|
customer_email |
Endereço de e-mail do cliente. | Não | — |
language |
Idioma da página de pagamento. | Não |
tr (padrão). Valores suportados: tr, en
|
A função retorna uma URL de pagamento.
Link de Pagamento em um Botão
Para enviar um botão com um link de pagamento, selecione o tipo de botão Pagamento e escolha Garanti BBVA como provedor de pagamento. Em seguida, insira o nome do produto, o valor do pagamento e, se necessário, a moeda do pagamento.
Exemplo 1: Configuração do Fluxo de Trabalho
Passo 1. Crie um bloco Iniciar.

O bloco Iniciar é normalmente usado para exibir a primeira mensagem de boas-vindas no fluxo de trabalho, juntamente com qualquer informação introdutória que o usuário precise.
Passo 2. Crie o bloco mostrado abaixo.

Passo 3. Vá para as configurações de Conexão.

Você precisará da seguinte expressão regular para verificar se o cliente inseriu um endereço de e-mail válido:
^[-\w.]+@([A-z0-9][-A-z0-9]+.)+[A-z]{2,4}$
Além disso, ative a opção Usuário insere dados e insira customer_email.
Passo 4. Insira a mensagem no segundo bloco.

Passo 5. Crie um terceiro bloco e abra as configurações de Conexão entre o segundo e o terceiro blocos.

Ative o temporizador para prosseguir automaticamente para o próximo bloco.
Passo 6. No terceiro bloco, insira a função na Calculadora.

Exemplo para copiar:
amount = 1000
description = "Produto1 é um produto de grande confiabilidade!"
link = get_garanti_payment_url(amount, description, none, customer_email, none)
Se você quiser aceitar pagamentos em uma moeda diferente da lira turca (TRY), especifique a moeda conforme mostrado abaixo.

Exemplo para copiar:
amount = 1000
description = "Produto1 é um produto de grande confiabilidade!"
currency = "USD"
link = get_garanti_payment_url(amount, description, currency, customer_email, none)
Exemplo 2. Botão de Cobrança
Este exemplo é quase idêntico ao Exemplo 1.
No entanto, em vez de criar um terceiro bloco com uma função para gerar o link de pagamento, você pode criar um botão no segundo bloco.

Na janela que se abre:
- Insira o texto do botão.
- Selecione a função Cobrança.
- Selecione Garanti BBVA como provedor de pagamento.

Em seguida, insira o seguinte:
- Nome do Produto.
- Valor do Pagamento.
- Moeda (opcional).
- Nome Completo do Cliente (opcional). Você pode configurar isso da mesma forma que configurou a entrada de e-mail do cliente.
-
E-mail do Cliente — insira a variável
#{customer_email}.

Em seguida, clique em Adicionar.

Notificações Após o Pagamento
Após o cliente seguir o link de pagamento e concluir o pagamento, uma notificação (callback) será enviada para a conversa.
Para um pagamento bem-sucedido:
SDJ91MTKTT_success 100

Onde:
-
SDJ91MTKTTsão os primeiros 10 caracteres da sua Store Key. -
100é o valor do pagamento.
Se o pagamento falhar, a seguinte notificação será enviada:

SDJ91MTKTT_fail 100
Como Enviar uma Resposta para um Pagamento Bem-sucedido ou com Falha
Passo 1. Crie um bloco Gatilho.

Passo 2. No campo de condição, insira o texto da notificação SDJ91MTKTT_success — sem o valor do pagamento — se você quiser reagir a cada pagamento.
Neste caso, o Tipo de Correspondência deve ser definido como Por Palavras-chave.

Alternativamente, insira todo o texto do callback no campo Gatilho se você quiser reagir a um pagamento específico. Neste caso, o Tipo de Correspondência deve ser definido como Correspondência Exata.

Se você quiser continuar o fluxo de trabalho após um pagamento bem-sucedido, pode criar um bloco Iniciar em vez de um bloco Gatilho e continuar construindo o fluxo do seu bot a partir daí.
