A PayU oferece uma API que permite sua loja processar transações a partir de diferentes tipos de aplicativos (web, móvel, IVR, entre outras).

Você terá à disposição diversas formas de pagamento dependendo do país, dentre as quais, cartões de crédito, transferências bancárias ou pagamentos em dinheiro.

Você poderá personalizar o checkout de acordo com as necessidades de seu negócio e o cliente permanecerá em seu web site durante a compra.

API checkout
 
 

Funcionalidades disponíveis para a integração api:

Integração API

Pagamentos

Integração API

Consultas

Integração API

Pagamentos recorrentes

API integration

Tokenização

Configurações iniciais

A PayU permite realizar a integração com nossa plataforma transacional e as ferramentas disponíveis de pagamento e consultas desenvolvendo um cliente HTTPS para transferir a informação das transações por meio de SSL. É de suma importância não armazenar os dados sensíveis das transações, como o número de cartão de crédito, data de expiração, etc. Recomenda-se seguir as práticas de PCI DSS (Payment Card Industry Data Security Standard).  
A transmissão das transações é garantida através de uma conexão TLS (Transport Layer Security) de 256 bits a partir do servidor do comércio até nosso Gateway de pagamentos. A troca de mensagens é realizada através de cadeias XML ou JSON, as operações são distinguidas por meio de um comando enviado no pedido. Um exemplo de um pedido em XML e um em JSON podem ser visualizados nas seguintes listas:

POST /payments-api/4.0/service.cgi HTTP/1.1 
Host: sandbox.api.payulatam.com
Content-Type: application/xml; charset=utf-8
Accept: application/xml
Content-Length: length
<request>
   <language>en</language>
   <command>GET_PAYMENT_METHODS</command>
   <merchant>
      <apiLogin>xxxxxxxxxxxxx</apiLogin>
      <apiKey>xxxxxxxxxxxxx</apiKey>
   </merchant>
   <isTest>false</isTest>
</request>
POST /payments-api/4.0/service.cgi HTTP/1.1 
Host: sandbox.api.payulatam.com
Content-Type: application/json; charset=utf-8
Accept: application/json
Content-Length: length
{
   "test": false,
   "language": "en",
   "command": "GET_PAYMENT_METHODS",
   "merchant": {
      "apiLogin": "xxxxxxxxxxxxx",
      "apiKey": "xxxxxxxxxxxxx"
   }
}
 
 

Você pode definir no pedido quais linguagens você deseja usar através dos protocolos HTTP Content-type y Accept. Podem ser utilizadas todas as combinações possíveis:

 
CONTENT-TYPE ACCEPT
application/xml application/xml
application/json application/json
application/xml application/json
application/json application/xml
 
 
 
Ter em conta:
  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 conter capacidade de 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. Exemplo: 2015-08-22T21:35:12.
  8. 7. 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 configurar 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.