Introdução
Esta seção descreve: Pay Mundi Api PIX : gateway pagamento via API.
Pay Mundi Api PIX : API fácil de integrar em seu software. Nossa API tem URLs bem formatadas, aceita solicitações de curl e retorna as respostas do JSON.
You can use the API in test mode, which does not affect your live data. The API key is use to authenticate the request and determines the request is valid payment or not. For test mode just use the sandbox URL and In case of live mode use the live URL from section Iniciar pagamento .
Moedas suportadas
Esta seção descreve as moedas suportadas por Pay Mundi Api PIX
Pay Mundi Api PIX allows to make transaction with below currencies. Any new currency may update in future.
Nome Moeda | Símbolo Moeda | Código Moeda |
---|---|---|
Real Brasileiro | R$ | BRL |
Obtenha a chave da API
Esta seção descreve como você pode obter sua chave de API.
Faça login em : Pay Mundi Api PIX na Conta tipo Comerciante. If you don't have any ? Clique aqui
O próximo passo é encontrar : Chave Gateway Intern. Na barra lateral do seu painel. Clique em MENU
As chaves da API podem ser encontradas lá: "Public KEY : Chave Pública" e "Secret KEY : Chave Secreta". Use essas CHAVES para iniciar a solicitação da API. Você pode gerar nova chave API clicando no botão API key: Gerar Nova Chave . Lembre-se: Não compartilhe essas chaves com ninguém! JAMAIS!
Iniciar pagamento
Esta seção descreve o processo de "Iniciar o Pagamento".
Para iniciar o pagamento, siga o código de exemplo e tenha cuidado com os parâmetros. Você precisará fazer a solicitação com os seguintes ENDPOINTS da API.
EndPoint Produção (real) : https://paymundi.com.br/payment/initiate
EndPoint SandBox (teste demo) : https://paymundi.com.br/sandbox/payment/initiate
Email a usar no modo teste (sandbox) : test_mode@mail.com
Código de verificação do modo de teste: 222666
Método de solicitação: POST
Pedido (request) para o EndPoint com os seguintes parâmetros abaixo.
Parâmetro Nome | Tipo de parâmetro | Descrição |
---|---|---|
public_key | string (50) | Obrigatório Sua Chave pública API key |
identifier | string (20) | Obrigatório Identificar o pagamento ao fim do procedimento |
currency | string (4) | Obrigatório Código Moeda: deve estar em maiúsculas, exemplo: USD, BRL |
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 de pagamento instantâneo. |
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 Pagamento Cancelado |
site_logo | string/url | Obrigatório Seu logotipo do site de negócios. |
checkout_theme | string | Opcional Tema do formulário de checkout: Dark/Light. Tema padrão: Light |
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://paymundi.com.br/assets/images/logoIcon/logo.png',
'checkout_theme' => 'dark',
'customer_name' => 'John Doe',
'customer_email' => 'john@mail.com',
];
//live end point
$url = "https://paymundi.com.br/payment/initiate";
//test end point
$url = "https://paymundi.com.br/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"
}
Valide o pagamento e o IPN
Esta seção descreve o processo para obter 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 a solicitação com os seguintes ENDPOINTS da API.
EndPoint: URL do seu site de aplicação IPN (webhook-fa?)
Método de solicitação: POST
Você receberá os seguintes parâmetros abaixo.
Parâmetro Nome | Descrição |
---|---|
status | Status de sucesso do pagamento. |
identifier | Identificar o pagamento ao fim do seu procedimento. |
signature | Uma assinatura de hash para verificar seu pagamento no seu final. |
data | Contêm informações básicas : cobranças, quantidade, moeda, identificação de 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
}
?>