Introdução

Esta seção descreve o wobo API do gateway de pagamento.


wobo A API wobo é fácil de integrar ao software da sua empresa. Nossa API recebe solicitações cURL, tem URLs bem formatadas e gera respostas em JSON.

A API pode ser usada no modo de teste sem afetar seus dados reais. A solicitação é autenticada usando a chave da API, que também estabelece se o pagamento é legítimo ou não. Para o modo de teste, basta usar a URL de sandbox e, no caso do modo ao vivo, use a URL ao vivo da seção Iniciar Pagamento .

Moedas Suportadas

As moedas suportadas por wobo são as seguintes.


Moeda Símbolo da Moeda
BRL R$

Obter a Chave da API

Como obter a chave da API é explicado nesta parte.


Para acessar sua wobo conta de comerciante, faça login. Caso você não tenha uma conta, você pode Clique Aqui.

Agora vá para Account > Settings > API Key do painel de comerciante.

As chaves da API podem ser encontradas lá, o que é Chave pública e chave secreta. Use essas chaves para iniciar a solicitação da API. Você pode gerar uma nova chave da API clicando em Gerar Chave da API botão. Lembre-se de não compartilhar essas chaves com ninguém.

Iniciar Pagamento

Nesta seção, é explicado o procedimento para iniciar o pagamento.


Para iniciar o processo de pagamento, use o código de exemplo fornecido e preste atenção aos parâmetros. Os pontos de extremidade da API mencionados abaixo precisarão ser usados para fazer a solicitação.

End Point Produção: https://api.wobo.com.br/v1/payment/initiate

End Point Teste: https://api.wobo.com.br/teste/v1/payment/initiate

Faça uma solicitação para o ponto de extremidade com os seguintes parâmetros abaixo.

Nome do Parâmetro Tipo de Parâmetro Descrição
public_key string (50) Obrigatório Sua Chave Pública da API
identifier string (20) Obrigatório O identificador é basicamente para identificar o pagamento em seu sistema
currency string (4) Obrigatório Código da Moeda, Deve estar em Maiúsculas. ex: USD, EUR
amount decimal Obrigatório Valor do Pagamento
details string (100) Obrigatório Detalhes do seu pagamento ou transação
ipn_url string Obrigatório A URL da notificação instantânea de pagamento
success_url string Obrigatório URL de redirecionamento em caso de sucesso no pagamento
cancel_url string Obrigatório URL de redirecionamento em caso de cancelamento do pagamento
site_name string Obrigatório Nome do seu site de negócios
site_logo string/url Opcional Logo do seu site de negócios
checkout_theme string Opcional Tema do formulário de checkout escuro/claro. O tema padrão é claro
Cliente
customer[] array Obrigatório o cliente deve ser um array
customer.first_name string Obrigatório Primeiro nome do cliente
customer.last_name string Obrigatório Sobrenome do cliente
customer.email string Obrigatório E-mail válido do cliente
customer.mobile string Obrigatório Número de telefone válido do cliente
Informações de envio
shipping_info[] array Opcional as informações de envio devem ser um array
shipping_info.address_one string Opcional Endereço do cliente, linha 1
shipping_info.address_two string Opcional Endereço do cliente, linha 2
shipping_info.area string Opcional Área de envio do cliente
shipping_info.city string Opcional Cidade de envio do cliente
shipping_info.sub_city string Opcional Subcidade de envio do cliente
shipping_info.state string Opcional Estado de envio
shipping_info.postcode string Opcional CEP de envio
shipping_info.country string Opcional País de envio
shipping_info.others string Opcional Outras informações
Informações de cobrança
billing_info[] array Opcional as informações de cobrança devem ser um array
billing_info.address_one string Opcional Endereço do cliente, linha 1
billing_info.address_two string Opcional Endereço do cliente, linha 2
billing_info.area string Opcional Área de cobrança do cliente
billing_info.city string Opcional Cidade de cobrança do cliente
billing_info.sub_city string Opcional Subcidade de cobrança do cliente
billing_info.state string Opcional Estado de cobrança
billing_info.postcode string Opcional CEP de cobrança
billing_info.country string Opcional País de cobrança
billing_info.others string Opcional Outras informações
Exemplo de código PHP
<?php
    $parameters = [
        'identifier' => 'DFU80XZIKS',
        'currency' => 'USD',
        'amount' => 11.00,
        'gateway_methods' => [
            // Please write the name of the gateway method you want to use
        ],
        'details' => 'Purchase T-shirt',
        'ipn_url' => 'http://example.com/ipn_url.php',
        'cancel_url' => 'http://example.com/cancel_url.php',
        'success_url' => 'http://example.com/success_url.php',
        'public_key' => 'your_public_key',
        'site_name' => 'your_site_name',
        'site_logo' => 'http://yoursite.com/logo.png',
        'checkout_theme' => 'light',
        'customer'=>[
            'first_name'=>'John',
            'last_name'=>'Doe',
            'email'=>'joan@gmail.com',
            'mobile'=>'12345789',
        ],
        'shipping_info'=>[
            'address_one'=>'',
            'address_two'=>'',
            'area'=>'',
            'city'=>'',
            'sub_city'=>'',
            'state'=>'',
            'postcode'=>'',
            'country'=>'',
            'others'=>'',
        ],
        'billing_info'=>[
            'address_one'=>'',
            'address_two'=>'',
            'area'=>'',
            'city'=>'',
            'sub_city'=>'',
            'state'=>'',
            'postcode'=>'',
            'country'=>'',
            'others'=>'',
        ]
    ];

    $parameters = http_build_query($parameters);

    //live end point
    $url = 'https://api.wobo.com.br/v1/payment/initiate';

    //test end point
    $url = 'https://api.wobo.com.br/teste/v1/payment/initiate';

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POSTFIELDS,  $parameters);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result = curl_exec($ch);
    curl_close($ch);

?>
Respostas de Exemplo
//Error Response.
{
    "status": "error",
    "message": [
        "Invalid api key"
    ]
}

//Success Response.
{
    "status": "success",
    "message": [
        "Payment initiated"
    ],
    "redirect_url": "https://example.com/payment/checkout?payment_trx=eyJpdiI6IkFyNllSNU1lOFdkYTlPTW52cytPNGc9PSIsInZhbHVlIjoiWWowRTRjdzZ1S1BBRm4ydS81OWR1WjdXeFIxcjE1WkZRVE9BcmZYeXpzND0iLCJtYWMiOiJjNDdhODUzYzY2NmZlZGJjZTI5ODQyMmRkYzdjYjRmM2NiNjg4M2RiMWZjN2EyMzFkODI4OWMwYjk3ZWYwNGQwIiwidGFnIjoiIn0%3D"
}

Validar o Pagamento e o IPN

Esta seção descreve o processo para receber sua notificação de pagamento instantâneo.


Para iniciar o pagamento, siga o código de exemplo e tenha cuidado com os parâmetros. Você precisará fazer uma solicitação com os seguintes pontos de extremidade da API.

Ponto de extremidade: URL do IPN da sua aplicação comercial.

Método de solicitação: POST

Você receberá os seguintes parâmetros abaixo.

Nome do Parâmetro Descrição
status Status de pagamento bem-sucedido.
identifier O identificador é basicamente para identificar o pagamento em seu sistema.
signature Uma assinatura hash para verificar seu pagamento em seu sistema.
data Os dados contêm algumas informações básicas, como encargos, valor, moeda, ID da transação de pagamento, etc.
Exemplo de código PHP
<?php
    //Receive the response parameter
    $status = $_POST['status'];
    $signature = $_POST['signature'];
    $identifier = $_POST['identifier'];
    $data = $_POST['data'];

    // Generate your signature
    $customKey = $data['amount'].$identifier;
    $secret = 'YOUR_SECRET_KEY';
    $mySignature = strtoupper(hash_hmac('sha256', $customKey , $secret));

    $myIdentifier = 'YOUR_GIVEN_IDENTIFIER';

    if($status == "success" && $signature == $mySignature &&  $identifier ==  $myIdentifier){
        //your operation logic
    }
?>