Introdução
Esta seção descreve o Tree Payments API do gateway de pagamento.
Tree Payments A API é fácil de implementar no seu software comercial. Nossa API utiliza URLs bem formatadas, aceita requisições cURL e retorna respostas JSON.
Você pode usar a API no modo de teste, que não afeta seus dados em produção. A chave de API é usada para autenticar a requisição e determinar se é um pagamento válido. Para o modo de teste, use a URL sandbox e para o modo de produção, use a URL ao vivo da seção Iniciar Pagamento .
Moedas Suportadas
Esta seção descreve as moedas suportadas por Tree Payments
Tree Payments allows to make transaction with below currencies. Any new currency may update in future.
| Nome da Moeda | Símbolo da Moeda | Código da Moeda |
|---|---|---|
| United States Dollar | $ | USD |
Obter a Chave Api
Esta seção descreve como você pode obter sua chave de API.
Entre na sua Tree Payments conta de comerciante. If you don't have any ? Clique Aqui
O próximo passo é encontrar o Chave Api menu na barra lateral do seu painel. Clique no menu.
As chaves de API podem ser encontradas lá, que é Chave pública e chave secreta. Use estas chaves para iniciar a requisição de API. Você pode gerar uma nova chave de API a qualquer momento clicando Gerar Chave Api botão. Lembre-se de não compartilhar estas chaves com ninguém.
Iniciar Pagamento
Esta seção descreve o processo de iniciação do pagamento.
Para iniciar o pagamento, siga o código de exemplo e tenha cuidado com os parâmetros. Você precisará fazer requisições para os seguintes endpoints de API.
Endpoint em Produção: https://pay.resuti.com/payment/initiate
Endpoint de Teste: https://pay.resuti.com/sandbox/payment/initiate
E-mail em Modo de Teste: test_mode@mail.com
Código de Verificação em Modo de Teste: 222666
Método de Requisição: POST
Faça uma requisição ao endpoint com os seguintes parâmetros abaixo.
| Nome do Parâmetro | Tipo do Parâmetro | Descrição |
|---|---|---|
| public_key | string (50) | Obrigatório Sua Chave API Pública |
| identifier | string (20) | Obrigatório O identificador serve basicamente para identificar o pagamento no seu sistema |
| currency | string (4) | Obrigatório Código da Moeda, deve ser 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 de notificação de pagamento instantâneo. |
| success_url | string | Obrigatório URL de redirecionamento de pagamento bem-sucedido. |
| cancel_url | string | Obrigatório URL de redirecionamento de cancelamento de pagamento. |
| site_logo | string/url | Obrigatório Logotipo do seu site empresarial. |
| checkout_theme | string | Opcional Tema do formulário de checkout escuro/claro. O tema padrão é claro |
| customer_name | string (30) | Obrigatório Nome do cliente. |
| customer_email | string (30) | Obrigatório E-mail válido do cliente. |
<?php
$parameters = [
'identifier' => 'DFU80XZIKS',
'currency' => 'USD',
'amount' => 100.00,
'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_logo' => 'https://pay.resuti.com/assets/images/logoIcon/logo.png',
'checkout_theme' => 'dark',
'customer_name' => 'John Doe',
'customer_email' => 'john@mail.com',
];
//live end point
$url = "https://pay.resuti.com/payment/initiate";
//test end point
$url = "https://pay.resuti.com/sandbox/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);
//$result contains the response back.
?>
//Error Response.
{
"error": "true",
"message": "Invalid api key"
}
//Success Response.
{
"success": "ok",
"message": "Payment Initiated. Redirect to url.",
"url":"http://example.com/initiate/payment/checkout?payment_id=eJSAASDxdrt4DASDASVNASJA7893232432cvmdsamnvASF"
}
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 requisições para os seguintes endpoints de API.
Endpoint: URL IPN da sua aplicação empresarial.
Método de Requisição: POST
Você receberá os seguintes parâmetros abaixo.
| Nome do Parâmetro | Descrição |
|---|---|
| status | Status de pagamento bem-sucedido. |
| identifier | O identificador serve basicamente para identificar o pagamento no seu sistema. |
| signature | Uma assinatura hash para verificar seu pagamento no seu sistema. |
| data | Os dados contêm informações básicas com cobranças, valor, moeda, ID da transação de pagamento, etc. |
<?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
}
?>