A PayU oferece um SDK que permite a você se conectar a nosso API de maneira mais simples.

Como qualquer integração API, você poderá personalizar seu checkout, de acordo às necessidades de seu negócio e o cliente permanecerá em seu site durante a compra.
Developer
 
 

Funcionalidades disponíveis para a integração sdk

 
Pagamentos

Pagamentos

Consultas

Consultas

Pagamentos recurrentes

Pagamentos recurrentes

Tokenização

Tokenização

Reembolsos

Reembolsos

 
Configurações iniciais por tipo de integração  
 
Para realizar o processo de conexão com o API, o SDK depende da biblioteca HttpClient do apache, que por sua vez depende das bibliotecas HttpCore, CommonsLoggin e CommonsCodec. Em geral, para poder usar o SDK devem estar incluídas no classpath as bibliotecas a seguir:
  1. HttpClient-4.2.5.jar
  2. HttpCore-4.2.4.jar
  3. Commons-loggin-1.1.1.jar
  4. Commons-codec-1.6.jar
  5. Commons-lang3-3.5.jar
  6. payu-java-sdk-1.2.5.jar
 
Fazer download do SDK Java 1.2.5

Antes de realizar qualquer operação com o SDK do PayU, devem ser atribuídos certos valores iniciais à classe PayU, os quais são comuns para todas as operações suportadas pelo SDK e são configurados dependendo do comércio. A seguir, apresenta-se um exemplo da configuração desta classe e posteriormente, são relacionados os valores em uma tabela:

Nome do parâmetro Tamanho Tipo Requerido Descrição
language 2 Language SIM A linguagem usada para as mensagens de erro do sistema e nos e-mails enviados ao comprador e vendedor. Atualmente são suportados en (Inglês), es (Espanhol) e pt (Português).
isTest boolean SIM "true" se tratando de um pedido de teste, "false" de lo contrario. caso contrário. Dependendo do tipo de transação ou operação, o comportamento varia de acordo com o valor deste campo.
apiLogin Mín: 12 Máx: 32 String SIM O apiLogin do comércio.
apiKey Mín: 6 Máx: 32 String SIM O apiKey ou chave do comércio.
merchantId String NÃO* O identificador do comércio é usado gerando as assinaturas para verificar as transações de pagamentos. *É obrigatório se desejar que seja verificada a transação (a menos que seja enviada a assinatura).
paymentsUrl Mín: 1 String NÃO O endereço web do site ao qual vai enviar os pedidos relacionados com os pagamentos. Na falta usar o url de produção.
reportsUrl Mín: 1 String NÃO O endereço web do site ao qual vai enviar os pedidos relacionados com os pagamentos. Na falta usar o url de produção.
 
 
Exemplo

PayU.apiKey = "xxxxxxxxxxxx"; //Insira aqui sua apiKey.
PayU.apiLogin = "xxxxxxxxxxxx"; //Insira aqui sua apiLogin.
PayU.language = Language.en; //Insira aqui o idioma de sua preferência.
PayU.isTest = false; //Deixá-lo em verdadeiro quando testes.
LoggerUtil.setLogLevel(Level.ALL); //Incluí-lo somente se deseja ver todo o rastreio do log; se somente desejar ver a resposta, pode apagar.
PayU.paymentsUrl = "https://api.payulatam.com/payments-api/"; //Incluí-lo somente se desejar testar em um servidor de pagamentos específico, e indicar o caminho do mesmo.
PayU.reportsUrl = "https://api.payulatam.com/reports-api/"; //Incluí-lo somente se desejar testar em um servidor de relatórios específico, e indicar o caminho do mesmo.
 
Para a execução de cada uma das operações fornecidas pelo SDK do PayU, deve-se enviar como argumento um Mapa de parâmetros ao método correspondente, que contém toda a informação da transação a processar.
Map<String, String>  parameters = new HashMap <String, String> ();

parameters.put(PayU.PARAMETERS.TRANSACTION_ID, transactionId);

parameters.put(PayU.PARAMETERS.ORDER_ID, orderId.toString());

Para facilitar seu uso, será proporcionada uma série de constantes na interface PayU.PARAMETERS, que contém os nomes dos parâmetros utilizados nos métodos do SDK e os quais serão referenciados em cada operação disponível do manual.

  1. A partir da versão 1.2.x se faz obrigatório adicionar o certificado de API dos pagamentos PayU(https://api.payulatam.com/payments-api/) na pasta de chaves de Java. Essa paste se encontra em: [carpetaJava]/jdk/jre/lib/security/cacerts
Para realizar o processo de conexão com o API, o SDK pode ser executada em máquinas que tenham versões superiores ou iguais a 5.2.1 do PHP.  
Adicionalmente, são requeridas as seguintes extensões do PHP em seu servidor:
  1. curl
  2. xml
  3. mbstring
  4. json
 
Fazer o download SDK PHP 4.5.6
Configuração inicial: 
Para ter acesso às funcionalidades do SDK deve ser incluída a classe PayU localizada em [ruta/a/payu-php-sdk]/lib/PayU.php.  
<?php
require_once '[ruta/payu-php-sdk]/lib/PayU.php';
...
?>
 
Antes de realizar qualquer operação com o SDK PHP, devem ser atribuídos certos valores iniciais à classe PayU, os quais são comuns para todas as operações suportadas pelo SDK e são configurados dependendo do comércio. A seguir, apresenta-se um exemplo da configuração desta classe e posteriormente, são relacionados os valores em uma tabela:  
<?php
PayU::$apiKey = "xxxxxxxxxxxx"; //Insira aqui sua própria apiKey.
PayU::$apiLogin = "xxxxxxxxxxxx"; //Insira aqui sua própria apiLogin
PayU::$merchantId = "1"; //Insira aqui sua ID de Comércio.
PayU::$language = SupportedLanguages::ES; //Selecione o idioma
PayU::$isTest = false; //Deixá-lo em True quando em testes.
...
?>
 
Nome do parâmetro Tamanho Tipo Requerido Descrição
PayU::$language 2 Language SI A linguagem usada para as mensagens de erro do sistema e nos e-mails enviados ao comprador e vendedor. Atualmente são suportados en (Inglês), es (Espanhol) e pt (Português).
PayU::$isTest boolean SI “true” se tratando de um pedido de teste, “false” ”, em caso contrário. Dependendo do tipo de transação ou operação, o comportamento varia de acordo com o valor deste campo.
PayU::$apiLogin Mín: 12

Máx: 32

String SI A apiLogin do comércio.
PayU::$apiKey Mín: 6

Máx: 32

String SI A apiKey ou chave do comércio.
PayU::$merchantId String NO* O identificador do comércio é usado gerando as assinaturas para verificar as transações de pagamentos. *É obrigatório se desejar que seja verificada a transação (a menos que seja enviada a firma)
 
Adicionalmente, deve ser configurada a API para direcionar os pedidos para o URL correspondentes utilizando a classe Environment como mostrado a seguir:  
<?php
// URL de Pagamentos
Environment::setPaymentsCustomUrl("https://sandbox.api.payulatam.com/payments-api/4.0/service.cgi");
// URL de Consultas
Environment::setReportsCustomUrl("https://sandbox.api.payulatam.com/reports-api/4.0/service.cgi");
// URL de Assinaturas para Pagamentos Recorrentes
Environment::setSubscriptionsCustomUrl("https://sandbox.api.payulatam.com/payments-api/rest/v4.3/");
...
?>
 
 
Considerar:
  1. Você deve ter uma conta ativa no PayU.
  2. Você deve instalar o certificado SSL válido no seu servidor e seu site deve estar capacitado a realizar conexões SSL motivo pelo qual a máquina virtual deve contar com as extensões de segurança apropriadas.
  3. Temporariamente não utilize certificados de segurança de curva elíptica ou aqueles que possuam o conjunto de codificação TLS_ECDHE_ECDSA_WITH_RC4_128_SHA nas suas solicitações de pagamento.
  4. Você deve contar com linguagens de servidor ou CGI, tais como Java, C#, VB, PHP, etc.
  5. Você deve estar em capacidade de armazenar de forma segura suas credenciais de autenticação (API Key e API Login).
  6. A codificação para as mensagens deve ser UTF-8.
  7. As datas com hora têm o formato yyyy-MM-ddTHH:mm:ss, o formato da hora é 24 horas. Ex. 2015-08-22T21:35:12.
  8. Em condições normais a conexão garante tempo de resposta, em média, de 3 segundos, se há uma situação anormal, o tempo máximo de resposta será de 1 minuto. É altamente recomendável que você configure os “timeouts” quando se conectar com o PayU.
  9. É importante validar a extensão e os números de cartões de crédito por franquia junto com os códigos de segurança.