Introdução
Esta seção descreve o xCash API do gateway de pagamento.
xCash A API é fácil de implementar no seu software empresarial. Nossa API possui URLs bem formatadas, aceita solicitações cURL e retorna respostas em JSON.
Você pode usar a API no modo de teste, que não afeta seus dados reais. A chave API é usada para autenticar a solicitação e determinar se é um pagamento válido ou não. Para o modo de teste, use a URL de sandbox e, no caso do modo ao vivo, use a URL ao vivo da seção. Iniciar Pagamento .
Moedas Suportadas
Esta seção descreve as moedas suportadas por xCash
xCash 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 |
---|---|---|
Brazilian real | R$ | BRL |
Obter a Chave API
Esta seção descreve como você pode obter sua chave API.
Faça login no seu xCash 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 API podem ser encontradas lá, que são Chave Pública e Chave Secreta. Use essas chaves para iniciar a solicitação API. Você pode gerar uma nova chave API sempre que quiser clicando Gerar Chave API no botão. Lembre-se de não compartilhar essas chaves com ninguém.
Iniciar Pagamento
Esta seção descreve o processo de iniciar o pagamento.
Para iniciar o pagamento, siga o código de exemplo e tome cuidado com os parâmetros. Você precisará fazer a solicitação com os seguintes pontos de extremidade da API.
Ponto de Extremidade ao Vivo: https://api.xcash.app.br/payment/initiate
Ponto de Extremidade de Teste: https://sandbox.xcash.app.br/payment/initiate
E-mail do Modo de Teste: test_mode@mail.com
Código de Verificação do Modo de Teste: 222666
Método de Solicitação: POST
Solicite ao ponto de extremidade com os seguintes parâmetros abaixo.
Nome do Parâmetro | Tipo do Parâmetro | Descrição |
---|---|---|
public_key | string (50) | Obrigatório Sua Chave Pública API |
identifier | string (20) | Obrigatório O identificador é basicamente para identificar o pagamento no seu lado |
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 de notificação instantânea de pagamento. |
success_url | string | Obrigatório URL de redirecionamento de sucesso no pagamento. |
cancel_url | string | Obrigatório URL de redirecionamento de cancelamento de pagamento. |
site_logo | string/url | Obrigatório O logo do seu site comercial. |
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://xcash.app.br/assets/images/logoIcon/logo.png',
'checkout_theme' => 'dark',
'customer_name' => 'John Doe',
'customer_email' => 'john@mail.com',
];
//live end point
$url = "https://api.xcash.app.br/payment/initiate";
//test end point
$url = "https://sandbox.xcash.app.br/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 IPN
Esta seção descreve o processo para obter sua notificação instantânea de pagamento.
Para iniciar o pagamento, siga o código de exemplo e tome cuidado com os parâmetros. Você precisará fazer a solicitação com os seguintes pontos de extremidade da API.
Ponto de Extremidade: URL 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 sucesso do pagamento. |
identifier | O identificador é basicamente para identificar o pagamento no seu lado. |
signature | Uma assinatura hash para verificar seu pagamento no seu lado. |
data | Os dados contêm algumas informações básicas com taxas, quantia, 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
}
?>