PagSeguro Developers_

Aqui você encontra as documentações necessárias para integrar com as APIs, Bibliotecas e Módulos do PagSeguro. Tudo o que você precisa em serviços de pagamentos digitais e presenciais.

Suggest Edits

Ambiente de testes

 

O que é o Sandbox?

O PagSeguro Sandbox é um ambiente de teste que deve ser usado para você integrar e testar os processos de interação entre o seu sistema e o PagSeguro.

Nenhuma das transações realizadas nesse ambiente tem valor monetário e nele é possível simular diversas alterações de estado das transações e, caso necessário, reenviar notificações.

Como começar

Basicamente você precisa apontar o seu sistema para o Sandbox trocando o domínio pagseguro.uol.com.br por sandbox.pagseguro.uol.com.br.

Com isso o seu sistema estará apontando para o ambiente de teste e não mais para ambiente real.

Exemplos:

 
Suggest Edits

Comprador de testes

 

Para o seu sistema não existe diferença entre checkouts realizados por usuários cadastrados ou não, no PagSeguro.

Mesmo assim o PagSeguro Sandbox fornece um comprador cadastrado para que você use em seus checkouts.

Você pode visualizá-lo aqui.

Caso sinta a necessidade de fazer um checkout com o usuário não cadastrado, sinta-se à vontade para utilizar qualquer e-mail no formato xxxxxxx@sandbox.pagseguro.com.br.

 
Suggest Edits

Cartões de crédito para testes

 

No PagSeguro Sandbox qualquer número de cartão que possua uma sequência válida, uma data de validade maior que a data de hoje e um código de segurança com o tamanho correto será aceito no checkout.

Vale lembrar que no PagSeguro Sandbox nenhuma transação é enviada para o ambiente real, portanto mesmo que você use dados de um cartão real essa transação nunca será cobrada.

De qualquer forma, nós fornecemos um cartão para testes:

Número
Bandeira
Valido até
CVV

4111 1111 1111 1111

VISA

12/2030

123

 
Suggest Edits

Autenticação

 

Para efetuar chamadas para as APIs do PagSeguro é necessário se autenticar usando suas {{credenciais}}. A autenticação pode ser feita de duas maneiras:

1. Credenciais de Conta

Esse tipo de autenticação é utilizada para que você efetue vendas através da sua conta PagSeguro, informando o e-mail e token, que devem ser encaminhados via parâmetro no momento de sua chamada. O e-mail utilizado será o mesmo do cadastro de sua conta PagSeguro, já o token você pode obtê-lo através de sua tela logada em sua conta PagSeguro.

Obtenha seu token clicando aqui

Caso você gere um novo token, o anterior é invalidado.

Exemplo de como utilizar suas {{credenciais}}:

https://ws.pagseguro.uol.com.br/{{api-endpoint}}?email={{email}}&token={{token}}
https://ws.sandbox.pagseguro.uol.com.br/{{api-endpoint}}?email={{email}}&token={{token-sandbox}}

2. Credenciais de Aplicação

Esse tipo de autenticação é utilizada quando você necessita efetuar vendas em nome de outros vendedores como, por exemplo, plataformas e marketplaces. A autenticação neste caso utiliza o ID (appID) e a chave da aplicação do vendedor (appKey).

Para algumas chamadas também é necessário o código de autorização do vendedor (authorizationCode), o qual é recebido na implementação do Modelo de Aplicações.

Clique aqui para criar sua aplicação

Por questões de segurança, recomenda-se não expor as credenciais no front-end do seu sistema. Sendo assim, as chamadas para os serviços de integração que exigem autenticação devem ser feitos diretamente do back-end.

Exemplo de como utilizar suas {{credenciais}} de aplicação:

https://ws.pagseguro.uol.com.br/{{api-endpoint}}?appID={{appID}}&appKey={{appKey}}
https://ws.sandbox.pagseguro.uol.com.br/{{api-endpoint}}?appID={{appID}}&appKey={{appKey-sandbox}}

Ao excluir uma aplicação, todas as permissões concedidas a ela são perdidas, ou seja:

  • Ela não poderá mais criar checkouts;
  • Ela não poderá mais receber pagamentos a partir de checkouts criados antes da remoção;
  • Ela poderá continuar recebendo notificações;
  • Ela não será exibida mais na listagem de aplicações do integrador;
  • Ela não será mais exibida na listagem de autorizações concedidas.
 

HTTP 401 – Unauthorized

Ocorre quando sua aplicação encaminhou uma credencial invalida ou inexistente.

HTTP 403 – Forbidden

Ocorre quando sua conta ou aplicação não tem permissão para utilizar o serviço.

HTTP 405 – Method Not Allowed

Ocorre quando sua aplicação efetuou a chamada utilizando um método não esperado. Neste caso verifique se o método da chamada é GET , POST ou PUT.

HTTP 415 – Cannot consume content type

Ocorre quando não é encaminhado o Content-Type na chamada.

HTTP 400 – Bad Request

Ocorre quando um ou mais dados foram encaminhados de forma incorreta ou fora do padrão. Este retorno possui um JSON ou XML no corpo da mensagem que identifica quais os erros presentes na chamada, no retorno sempre terá um código e uma mensagem descrevendo o erro.
Veja abaixo exemplos de retorno em XML e JSON.

Algumas API's tem somente a opção de retorno em XML.

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<errors>
    <error>
        <code>Error Code</code>
        <message>Error Description</message>
    </error>
</errors>
{
  "error": true,
  "errors": {
    "error-number": "error description."
  }
}
 
Suggest Edits

Checkout PagSeguro

 

Siga os passos abaixo para integrar com a API de Checkout PagSeguro:

A autenticação desta solução é feita utilizando suas credenciais. Veja mais sobre os tipos de credenciais em Autenticação .
Os passos a seguir são sequenciais, dessa forma recomendamos que caso ocorra algum erro, interrompa o processo e implemente logs para análise e identificação dos problemas.

 
Suggest Edits

1. Obtendo o código checkout

 

Para obter o código de checkout, basta efetuar uma requisição ao endpoint abaixo, informando os dados do pedido através dos parâmetros. Confira um exemplo de uma chamada simples clicando aqui.

Para mais configurações e exemplos, confira a seção configurações opcionais

POST https://ws.pagseguro.uol.com.br/v2/checkout?{{credenciais}}
POST https://ws.sandbox.pagseguro.uol.com.br/v2/checkout?{{credenciais}}

Header

x-www-form-urlencoded
Content-Type: application/x-www-form-urlencoded; charset=ISO-8859-1
XML
Content-Type: application/xml; charset=ISO-8859-1

Caso sua aplicação não utilize o conjunto de caracteres ISO-8859-1, p.e. (UTF-8), é necessário substituir o parâmetro charset do exemplo acima.

Exemplo

Veja abaixo um exemplo padrão da requisição:

currency=BRL
&itemId1=0001
&itemDescription1=Produto PagSeguroI
&itemAmount1=99999.99
&itemQuantity1=1
&itemWeight1=1000
&itemId2=0002
&itemDescription2=Produto PagSeguroII
&itemAmount2=99999.98
&itemQuantity2=2
&itemWeight2=750
&reference=REF1234
&senderName=Jose Comprador
&senderAreaCode=99
&senderPhone=999999999
&senderEmail=comprador@uol.com.br
&shippingType=1
&shippingAddressRequired=true
&shippingAddressStreet=Av. PagSeguro
&shippingAddressNumber=9999
&shippingAddressComplement=99o andar
&shippingAddressDistrict=Jardim Internet
&shippingAddressPostalCode=99999999
&shippingAddressCity=Cidade Exemplo
&shippingAddressState=SP
&shippingAddressCountry=BRA
&timeout=25
&enableRecover=false
<?xml version="1.0"?>
<checkout>
  <sender>
    <name>Jose Comprador</name>
    <email>comprador@uol.com.br</email>
    <phone>
      <areaCode>99</areaCode>
      <number>999999999</number>
    </phone>
    <documents>
      <document>
        <type>CPF</type>
        <value>11475714734</value>
      </document>
    </documents>
  </sender>
  <currency>BRL</currency>
  <items>
    <item>
      <id>0001</id>
      <description>Produto PagSeguroI</description>
      <amount>99999.99</amount>
      <quantity>1</quantity>
      <weight>10</weight>
      <shippingCost>1.00</shippingCost>
    </item>
  </items>
  <redirectURL>http://lojamodelo.com.br/return.html</redirectURL>
  <extraAmount>10.00</extraAmount>
  <reference>REF1234</reference>
  <shipping>
    <address>
      <street>Av. PagSeguro</street>
      <number>9999</number>
      <complement>99o andar</complement>
      <district>Jardim Internet</district>
      <city>Cidade Exemplo</city>
      <state>SP</state>
      <country>BRA</country>
      <postalCode>99999999</postalCode>
    </address>
    <type>1</type>
    <cost>1.00</cost>
    <addressRequired>true</addressRequired>
  </shipping>
  <timeout>25</timeout>
  <maxAge>999999999</maxAge>
  <maxUses>999</maxUses>
  <receiver>
    <email>suporte@lojamodelo.com.br</email>
  </receiver>
  <enableRecovery>false</enableRecovery>
</checkout>

Resposta

Após realizar a chamada, o PagSeguro irá retornar o código do checkout criado em um XML semelhante ao abaixo:

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<checkout>
    <code>08A9CAADCDCD16FFF42F1FB2C951A6A3</code>
    <date>2018-12-05T13:31:42.000-02:00</date>
</checkout>
 
Suggest Edits

2. Finalizando o checkout

 

Após obter o código de checkout, você deve direcionar o comprador para o fluxo de pagamento. Há duas maneiras de apresentar o comprador para a tela do PagSeguro.

Redirect

O comprador é direcionado ao PagSeguro para fazer o pagamento e concluir a compra. O exemplo abaixo mostra uma URL montada com o código de checkout criado no passo 1, pronta para o usuário iniciar o fluxo de pagamento.

https://pagseguro.uol.com.br/v2/checkout/payment.html?code={{código do checkout}}
https://sandbox.pagseguro.uol.com.br/v2/checkout/payment.html?code={{código de checkout}}

Para que o redirecionamento funcione, é necessário que a opção "pagamento via Formulário HTML" esteja desabilitado em sua conta PagSeguro. Para desabilitá-lo acesse este link.

Lightbox

Este modelo permite que todo o processo de pagamento seja feito em um lightbox que se sobrepõe ao site do vendedor. Para isso é necessário incluir a biblioteca javascript conforme código abaixo:

<script type="text/javascript"
src="https://stc.pagseguro.uol.com.br/pagseguro/api/v2/checkout/pagseguro.lightbox.js">
</script>
<script type="text/javascript"
src="https://stc.sandbox.pagseguro.uol.com.br/pagseguro/api/v2/checkout/pagseguro.lightbox.js">
</script>

Para chamar o lightbox, basta executar a função PagSeguroLightbox informando o código de checkout criado no passo 1, como mostrado no exemplo abaixo:

PagSeguroLightbox('ID_obtido_no_passo_1');
PagSeguroLightbox({
  code: '1F69A3CF7878ED9994B3DF9DDC706796'
});

Eventos do lightbox

O lightbox possui alguns eventos, como o de sucesso, abandono e quando o lightbox não consegue abrir. Veja abaixo como funciona:

//Insira o código de checkout gerado no Passo 1
var code = '1F69A3CF7878ED9994B3DF9DDC706796';
var callback = {
    success : function(transactionCode) {
        //Insira os comandos para quando o usuário finalizar o pagamento. 
        //O código da transação estará na variável "transactionCode"
        console.log("Compra feita com sucesso, código de transação: " + transactionCode);
    },
    abort : function() {
        //Insira os comandos para quando o usuário abandonar a tela de pagamento.
        console.log("abortado");
    }
};
//Chamada do lightbox passando o código de checkout e os comandos para o callback
var isOpenLightbox = PagSeguroLightbox(code, callback);
// Redireciona o comprador, caso o navegador não tenha suporte ao Lightbox
if (!isOpenLightbox){
    location.href="https://pagseguro.uol.com.br/v2/checkout/payment.html?code=" + code;
}
 
Suggest Edits

Configurações opcionais

 

Essas configurações devem ocorrer nos parâmetros feitos no passo 1.

Você poderá configurar sua chamada, adicionando os parâmetros necessários para a situação que desejar. Conheça cada uma delas abaixo:

Excluindo meios de pagamento

Com esta configuração você poderá excluir dinamicamente os grupos e os meios de pagamento.

Os grupos de pagamento são divididos entre BALANCE (Saldo PagSeguro), BOLETO (Boleto), CREDIT_CARD (Cartão de Crédito), DEPOSIT (Depósito) e EFT (Débito Online)

Já os meios de pagamentos são divididos entre Bandeiras e os Bancos disponíveis, sendo eles:
Débito Online: DEBITO_BRADESCO, DEBITO_ITAU, DEBITO_UNIBANCO, DEBITO_BANCO_BRASIL, DEBITO_BANRISUL e DEBITO_HSBC
Boleto: BOLETO
Bandeiras: VISA, MASTERCARD, AMEX, DINERS, HIPERCARD, AURA, ELO, PLENOCARD, PERSONALCARD, JCB, DISCOVER, BRASILCARD, FORTBRASIL, CARDBAN, VALECARD, CABAL, MAIS, AVISTA, GRANDCARD e SOROCRED.

currency=BRL
&itemId1=0001
&itemDescription1=Notebook Prata
&itemAmount1=24300.00
&itemQuantity1=1
&itemWeight1=1000
&reference=REF1234
&senderName=Jose Comprador
&senderEmail=comprador@uol.com.br
&shippingType=1
&shippingAddressStreet=Av. Brig. Faria Lima
&shippingAddressNumber=1384
&shippingAddressComplement=5o andar
&shippingAddressDistrict=Jardim Paulistano
&shippingAddressPostalCode=01452002
&shippingAddressCity=Sao Paulo
&shippingAddressState=SP
&shippingAddressCountry=BRA
&excludePaymentMethodGroup=CREDIT_CARD,BOLETO
&excludePaymentMethodName=DEBITO_ITAU,DEBITO_BRADESCO
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<checkout>
	<currency>BRL</currency>
	<items>
		<item>
			<id>0001</id>
			<description>Notebook Prata</description>
			<amount>24300.00</amount>
			<quantity>1</quantity>
			<weight>1000</weight>
		</item>
	</items>
	<reference>REF1234</reference>
	<sender>
		<name>José Comprador</name>
		<email>comprador@uol.com.br</email>
	</sender>
	<shipping>
		<type>1</type>
		<address>
			<street>Av. Brig. Faria Lima</street>
			<number>1384</number>
			<complement>5o andar</complement>
			<district>Jardim Paulistano</district>
			<postalCode>01452002</postalCode>
			<city>Sao Paulo</city>
			<state>SP</state>
			<country>BRA</country>
		</address>
	</shipping>
	<acceptedPaymentMethods>
		<exclude>
			<paymentMethod>
				<group>CREDIT_CARD</group>
			</paymentMethod>
			<paymentMethod>
				<group>BOLETO</group>
			</paymentMethod>
			<paymentMethod>
				<name>DEBITO_ITAU</name>
			</paymentMethod>
		</exclude>
	</acceptedPaymentMethods>
</checkout>

Parcelamento sem juros

Para oferecer um parcelamento sem juros, você deverá utilizar três parâmetros: Grupo, Chave e Valor paymentMethodGroup1, paymentMethodConfigKey1_1 epaymentMethodConfigValue1_1.
No parâmetro grupo você deve informar o meio pagamento CREDIT_CARD (Cartão de Crédito).
Para o campo chave, utilize o parâmetro MAX_INSTALLMENTS_NO_INTEREST que configura o parcelamento sem juros. Já no campo valor, você deve informar o número de parcelas que você deseja assumir.

currency=BRL
&itemId1=0001
&itemDescription1=Notebook Prata
&itemAmount1=24300.00
&itemQuantity1=1
&itemWeight1=1000
&reference=REF1234
&senderName=Jose Comprador
&senderAreaCode=11
&senderPhone=56273440
&senderEmail=comprador@uol.com.br
&shippingType=1
&shippingAddressRequired=true
&shippingAddressStreet=Av. Brig. Faria Lima
&shippingAddressNumber=1384
&shippingAddressComplement=5o andar
&shippingAddressDistrict=Jardim Paulistano
&shippingAddressPostalCode=01452002
&shippingAddressCity=Sao Paulo
&shippingAddressState=SP
&shippingAddressCountry=BRA
&paymentMethodGroup1=CREDIT_CARD
&paymentMethodConfigKey1_1=MAX_INSTALLMENTS_NO_INTEREST
&paymentMethodConfigValue1_1=6
<?xml version="1.0"?>
<checkout>
    <currency>BRL</currency>
    <items>
        <item>
            <id>0001</id>
            <description>Notebook Prata</description>
            <amount>24300.00</amount>
            <quantity>1</quantity>
            <weight>1000</weight>
        </item>
    </items>
    <reference>REF1234</reference>
    <sender>
        <name>José Comprador</name>
        <email>comprador@uol.com.br</email>
        <phone>
            <areaCode>11</areaCode>
            <number>56273440</number>
        </phone>
    </sender>
    <shippingAddressRequired>true</shippingAddressRequired>
    <shipping>
        <type>1</type>
        <address>
            <street>Av. Brig. Faria Lima</street>
            <number>1384</number>
            <complement>5o andar</complement>
            <district>Jardim Paulistano</district>
            <postalCode>01452002</postalCode>
            <city>Sao Paulo</city>
            <state>SP</state>
            <country>BRA</country>
        </address>
    </shipping>
    <paymentMethodConfigs>
        <paymentMethodConfig>
            <paymentMethod>
                <group>CREDIT_CARD</group>
            </paymentMethod>
            <configs>
                <config>
                    <key>MAX_INSTALLMENTS_NO_INTEREST</key>
                    <value>6</value>
                </config>
            </configs>
        </paymentMethodConfig>
    </paymentMethodConfigs>
</checkout>

Desconto por meio de pagamento

Se você deseja oferecer o desconto por meio de pagamento, também deverá utilizar os três parâmetros: Grupo, Chave e Valor paymentMethodGroup1, paymentMethodConfigKey1_1 epaymentMethodConfigValue1_1.
No campo grupo você deve informar o meio pagamento: CREDIT_CARD (Cartão de Crédito), DEPOSIT (Depósito) e/ou EFT (Débito Online). Em chave, informe o DISCOUNT_PERCENT, já o campo valor a porcentagem de desconto que deseja oferecer. No exemplo abaixo, você poderá oferecer um desconto de 10% para o meio de pagamento boleto e 5% para o meio de pagamento via cartão de crédito:

currency=BRL
&itemId1=0001
&itemDescription1=Notebook Prata
&itemAmount1=24300.00
&itemQuantity1=1
&itemWeight1=1000
&reference=REF1234
&senderName=Jose Comprador
&senderAreaCode=11
&senderPhone=56273440
&senderEmail=comprador@uol.com.br
&shippingType=1
&shippingAddressStreet=Av. Brig. Faria Lima
&shippingAddressNumber=1384
&shippingAddressComplement=5o andar
&shippingAddressDistrict=Jardim Paulistano
&shippingAddressPostalCode=01452002
&shippingAddressCity=Sao Paulo
&shippingAddressState=SP
&shippingAddressCountry=BRA
&paymentMethodGroup1=BOLETO
&paymentMethodConfigKey1_1=DISCOUNT_PERCENT
&paymentMethodConfigValue1_1=10.00
&paymentMethodGroup2=CREDIT_CARD
&paymentMethodConfigKey2_1=DISCOUNT_PERCENT
&paymentMethodConfigValue2_1=5.00
<?xml version="1.0"?>
<checkout>
    <currency>BRL</currency>
    <items>
        <item>
            <id>0001</id>
            <description>Notebook Prata</description>
            <amount>24300.00</amount>
            <quantity>1</quantity>
            <weight>1000</weight>
        </item>
    </items>
    <reference>REF1234</reference>
    <sender>
        <name>José Comprador</name>
        <email>comprador@uol.com.br</email>
        <phone>
            <areaCode>11</areaCode>
            <number>56273440</number>
        </phone>
    </sender>
    <shipping>
        <type>1</type>
        <address>
            <street>Av. Brig. Faria Lima</street>
            <number>1384</number>
            <complement>5o andar</complement>
            <district>Jardim Paulistano</district>
            <postalCode>01452002</postalCode>
            <city>Sao Paulo</city>
            <state>SP</state>
            <country>BRA</country>
        </address>
    </shipping>
    <paymentMethodConfigs>
        <paymentMethodConfig>
            <paymentMethod>
                <group>CREDIT_CARD</group>
            </paymentMethod>
            <configs>
                <config>
                    <key>DISCOUNT_PERCENT</key>
                    <value>22.50</value>
                </config>
            </configs>
        </paymentMethodConfig>
        <paymentMethodConfig>
            <paymentMethod>
                <group>BOLETO</group>
            </paymentMethod>
            <configs>
                <config>
                    <key>DISCOUNT_PERCENT</key>
                    <value>2.25</value>
                </config>
            </configs>
        </paymentMethodConfig>
    </paymentMethodConfigs>
</checkout>
 
Suggest Edits

Checkout Transparente

 

Siga os passos abaixo para integrar com a API de Checkout Transparente:

A autenticação desta solução é feita utilizando suas credenciais. Veja mais sobre os tipos de credenciais em Autenticação .
Os passos a seguir são sequenciais, dessa forma recomendamos que caso ocorra algum erro, interrompa o processo e implemente logs para análise e identificação dos problemas.

 
Suggest Edits

1. Gerando uma sessão

 

Para iniciar um Checkout Transparente é necessário ter um ID de sessão válido que pode ser obtido através de uma chamada ao endpoint abaixo:

POST https://ws.pagseguro.uol.com.br/v2/sessions?{{credenciais}}
POST https://ws.sandbox.pagseguro.uol.com.br/v2/sessions?{{credenciais}}

Exemplo de resposta:

<?xml version="1.0" encoding="ISO-8859-1"?>
<session>
	<id>620f99e348c24f07877c927b353e49d3</id>
</session>
 
Suggest Edits

2. Importando a biblioteca JavaScript

 

Todas as chamadas que você verá nos próximos passos são efetuadas utilizando uma biblioteca exclusiva executada diretamente do browser do comprador, que deverá ser importada em seu projeto. Para isso, importe o arquivo abaixo:

<script type="text/javascript" src=
"https://stc.pagseguro.uol.com.br/pagseguro/api/v2/checkout/pagseguro.directpayment.js"></script>
<script type="text/javascript" src=
"https://stc.sandbox.pagseguro.uol.com.br/pagseguro/api/v2/checkout/pagseguro.directpayment.js"></script>

Esse JavaScript possui um objeto chamado PagSeguroDirectPayment, que é a interface de acesso aos métodos. Conheça cada um deles e como podem ajudar.

2.1. setSessionId
2.2. getPaymentMethods
2.3. onSenderHashReady

A lib possui um método chamado getSenderHash que encontra-se depreciado, utilize o novo método onSenderHashReady para obter o hash identificador do comprador.

Os métodos abaixo são usados exclusivamente para pagamentos com cartão de crédito:

2.4. getBrand
2.5. getInstallments
2.6. createCardToken

2.1. setSessionId

Após importar a biblioteca, o primeiro passo é informar o código de sessão obtido no Passo 1.

PagSeguroDirectPayment.setSessionId('ID_DA_SESSÃO_OBTIDO_NO_PASSO_1');

2.2. getPaymentMethods

Com este método você pode obter todos os meios de pagamento disponíveis para sua conta.

Esse método recebe opcionalmente o valor da transação e retorna um JSON contendo os meios de pagamento disponíveis, compatíveis com o valor informado. Caso não seja informado o valor, será retornado todos os meios de pagamento.

Com essas informações você poderá apresentar as opções para pagamento ao comprador.

Exemplo:

PagSeguroDirectPayment.getPaymentMethods({
	amount: 500.00,
	success: function(response) {
	    // Retorna os meios de pagamento disponíveis.
	},
	error: function(response) {
	    // Callback para chamadas que falharam.
	},
	complete: function(response) {
	    // Callback para todas chamadas.
	}
});

O JSON possui informações como o nome utilizado na API, nome de exibição, status (Disponibilidade) e também o caminho para as imagens do meio de pagamento.

Observe que os meios de pagamento Balance e Deposit são retornados, porém atualmente não podem ser implementados.

Veja abaixo um exemplo da resposta (o JSON foi reduzido para melhor visualização):

{
   "error":false,
   "paymentMethods":{
      "BOLETO":{
         "name":"BOLETO",
         "options":{
            "BOLETO":{
               "name":"BOLETO",
               "displayName":"Boleto",
               "status":"AVAILABLE",
               "code":202,
               "images":{
                  "SMALL":{
                     "size":"SMALL",
                     "path":"/public/img/payment-methods-flags/42x20/booklet.png"
                  },
                  "MEDIUM":{
                     "size":"MEDIUM",
                     "path":"/public/img/payment-methods-flags/68x30/booklet.png"
                  }
               }
            }
         },
         "code":2
      },
      "ONLINE_DEBIT":{
         "name":"ONLINE_DEBIT",
         "options":{
            "BANCO_BRASIL":{
               "name":"BANCO_BRASIL",
               "displayName":"Banco do Brasil",
               "status":"AVAILABLE",
               "code":304,
               "images":{
                  "SMALL":{
                     "size":"SMALL",
                     "path":"/public/img/payment-methods-flags/42x20/bb.png"
                  },
                  "MEDIUM":{
                     "size":"MEDIUM",
                     "path":"/public/img/payment-methods-flags/68x30/bb.png"
                  }
               }
            },

         },
         "code":3
      },
      "CREDIT_CARD":{
         "name":"CREDIT_CARD",
         "options":{
            "MASTERCARD":{
               "name":"MASTERCARD",
               "displayName":"MasterCard",
               "status":"AVAILABLE",
               "code":102,
               "images":{
                  "SMALL":{
                     "size":"SMALL",
                     "path":"/public/img/payment-methods-flags/42x20/mastercard.png"
                  },
                  "MEDIUM":{
                     "size":"MEDIUM",
                     "path":"/public/img/payment-methods-flags/68x30/mastercard.png"
                  }
               }
            },

         },
         "code":1
      }
   }
}

As imagens são disponibilizadas em dois tamanhos: 42x20 e 68x30 e podem ser obtidas através dos caminhos apresentados no JSON, bastando incluir o Endpoint https://stc.pagseguro.uol.com.br.

Veja abaixo dois exemplos de imagens e seus Endpoints:

Imagem Pequena:
https://stc.pagseguro.uol.com.br/public/img/payment-methods-flags/42x20/visa.png

Imagem Grande:
https://stc.pagseguro.uol.com.br/public/img/payment-methods-flags/68x30/visa.png

2.3. onSenderHashReady

O senderHash é um identificador com os dados do comprador baseado naquela determinada sessão, garantindo a segurança da venda.
Obrigatório para todos os meios de pagamento.

O método onSenderHashReady possui algumas dependências , por isso, recomendamos que o mesmo não seja executado no onLoad da página. Você pode executá-lo, por exemplo, no momento em que o cliente clicar no botão para concluir o pagamento.

PagSeguroDirectPayment.onSenderHashReady(function(response){
    if(response.status == 'error') {
        console.log(response.message);
        return false;
    }
    var hash = response.senderHash; //Hash estará disponível nesta variável.
});

2.4. getBrand

Esse método é necessário somente para o meio de pagamento cartão de crédito.

O método getBrand é utilizado para verificar qual a bandeira do cartão que está sendo digitada. Esse método recebe por parâmetro o BIN (seis primeiros dígitos do cartão) e retorna dados como qual a bandeira, o tamanho do CVV, se possui data de expiração e qual algoritmo de validação.

PagSeguroDirectPayment.getBrand({
    cardBin: 411111,
    success: function(response) {
      //bandeira encontrada
    },
    error: function(response) {
      //tratamento do erro
    },
    complete: function(response) {
      //tratamento comum para todas chamadas
    }
});

Exemplo de Resposta:

{
		"brand":{
		"name":"visa",
		"bin":411111,
		"cvvSize":3,
		"expirable":true,
		"validationAlgorithm":"LUHN"
 	}
}

2.5. getInstallments

Esse método é necessário somente para o meio de pagamento cartão de crédito.

Você deve utilizar este método caso queira apresentar as opções de parcelamento disponíveis ao comprador. Esse método recebe o valor total a ser parcelado e retorna as opções de parcelamento calculadas de acordo com as configurações de sua conta.

Para obter um resultado mais preciso, você também pode informar a bandeira, de acordo com o nome retornado no método getBrand.

Se você quer oferecer um parcelamento sem juros, mas não possui uma promoção cadastrada em sua conta, deverá informar a quantidade de parcelas que deseja assumir no parâmetro maxInstallmentNoInterest.

Esse parâmetro deverá receber valor maior ou igual a 2.

Lembrando que se este parâmetro for utilizado, o mesmo valor informado deve ser enviado no parâmetro noInterestInstallmentQuantity ao efetuar o checkout (você verá mais detalhes no Passo 3).

Exemplo:

PagSeguroDirectPayment.getInstallments({
        amount: 118.80,
        maxInstallmentNoInterest: 2,
        brand: 'visa',
        success: function(response){
       	    // Retorna as opções de parcelamento disponíveis
       },
        error: function(response) {
       	    // callback para chamadas que falharam.
       },
        complete: function(response){
            // Callback para todas chamadas.
       }
});

Exemplo de Resposta:

{
   "error":false,
   "installments":{
      "visa":[
         {
            "quantity":1,
            "totalAmount":100,
            "installmentAmount":100,
            "interestFree":true
         },
         {
            "quantity":2,
            "totalAmount":100,
            "installmentAmount":50,
            "interestFree":true
         },
         {
            "quantity":3,
            "totalAmount":102.99,
            "installmentAmount":34.33,
            "interestFree":false
         }
      ]
   }
}

2.6. createCardToken

Esse método é necessário somente para o meio de pagamento cartão de crédito.

O método createCardToken utiliza os dados do cartão de crédito para gerar um token que será enviado no Passo 3, pois por motivos de segurança os dados do cartão não são enviados diretamente na chamada.

Exemplo:

PagSeguroDirectPayment.createCardToken({
   cardNumber: '4111111111111111', // Número do cartão de crédito
   brand: 'visa', // Bandeira do cartão
   cvv: '013', // CVV do cartão
   expirationMonth: '12', // Mês da expiração do cartão
   expirationYear: '2026', // Ano da expiração do cartão, é necessário os 4 dígitos.
   success: function(response) {
        // Retorna o cartão tokenizado.
   },
   error: function(response) {
		    // Callback para chamadas que falharam.
   },
   complete: function(response) {
        // Callback para todas chamadas.
   }
});

Exemplo de Resposta:

{
	"card":{
		"token":"653fe9044cf149f9b7db562431cb130d"
	}
}
 
Suggest Edits

3. Processando o Checkout

 

Agora você poderá efetuar chamadas aos meios de pagamento que o Checkout Transparente oferece. Conheça cada um deles abaixo:

3.1. Boleto
3.2. Débito Online
3.3. Cartão de Crédito

As chamadas para os meios de pagamento do Checkout Transparente deverão ser efetuadas para o endpoint abaixo utilizando o método POST:

POST https://ws.pagseguro.uol.com.br/v2/transactions?{{credenciais}}
POST https://ws.sandbox.pagseguro.uol.com.br/v2/transactions?{{credenciais}}

Header

x-www-form-urlencoded
Content-Type: application/x-www-form-urlencoded; charset=ISO-8859-1
XML
Content-Type: application/xml; charset=ISO-8859-1

Caso sua aplicação não utilize o conjunto de caracteres ISO-8859-1, p.e.(UTF-8), é necessário substituir o parâmetro charset do exemplo acima.

3.1. Exemplo de Checkout com Boleto

paymentMode=default
&paymentMethod=boleto
&receiverEmail=suporte@lojamodelo.com.br
&currency=BRL
&extraAmount=1.00
&itemId1=0001
&itemDescription1=Notebook Prata
&itemAmount1=24300.00
&itemQuantity1=1
&notificationURL=https://sualoja.com.br/notifica.html
&reference=REF1234
&senderName=Jose Comprador
&senderCPF=72962940005
&senderAreaCode=11
&senderPhone=56273440
&senderEmail=comprador@uol.com.br
&senderHash={hash_obtido_no_passo_2.3}
&shippingAddressRequired=true
&shippingAddressStreet=Av. Brig. Faria Lima
&shippingAddressNumber=1384
&shippingAddressComplement=5o andar
&shippingAddressDistrict=Jardim Paulistano
&shippingAddressPostalCode=01452002
&shippingAddressCity=Sao Paulo
&shippingAddressState=SP
&shippingAddressCountry=BRA
&shippingType=1
&shippingCost=1.00
<payment>
    <mode>default</mode>
    <method>boleto</method>
    <sender>
        <name>Fulano Silva</name>
        <email>fulano.silva@uol.com.br</email>
        <phone>
            <areaCode>11</areaCode>
            <number>30380000</number>
        </phone>
        <documents>
            <document>
                <type>CPF</type>
                <value>72962940005</value>
            </document>
        </documents>
        <hash>{hash_obtido_no_passo_2.3}</hash>
    </sender>
    <currency>BRL</currency>
    <notificationURL>https://sualoja.com.br/notificacao</notificationURL>
    <items>
        <item>
            <id>1</id>
            <description>Descricao do item a ser vendido</description>
            <quantity>2</quantity>
            <amount>1.00</amount>
        </item>
    </items>
<extraAmount>0.00</extraAmount>
    <reference>R123456</reference>
<shippingAddressRequired>true</shippingAddressRequired>
    <shipping>
        <address>
            <street>Av. Brigadeiro Faria Lima</street>
            <number>1384</number>
            <complement>1 andar</complement>
            <district>Jardim Paulistano</district>
            <city>Sao Paulo</city>
            <state>SP</state>
            <country>BRA</country>
            <postalCode>01452002</postalCode>
        </address>
        <type>3</type>
        <cost>0.00</cost>
    </shipping>
</payment>

3.2. Exemplo de Checkout com Débito Online

paymentMode=default
&paymentMethod=eft
&bankName=itau
&receiverEmail=suporte@lojamodelo.com.br
&currency=BRL
&extraAmount=1.00
&itemId1=0001
&itemDescription1=Notebook Prata
&itemAmount1=24300.00
&itemQuantity1=1
&notificationURL=https://sualoja.com.br/notifica.html
&reference=REF1234
&senderName=Jose Comprador
&senderCPF=22111944785
&senderAreaCode=11
&senderPhone=56273440
&senderEmail=comprador@uol.com.br
&senderHash={hash_obtido_no_passo_2.3}
&shippingAddressRequired=true
&shippingAddressStreet=Av. Brig. Faria Lima
&shippingAddressNumber=1384
&shippingAddressComplement=5o andar
&shippingAddressDistrict=Jardim Paulistano
&shippingAddressPostalCode=01452002
&shippingAddressCity=Sao Paulo
&shippingAddressState=SP
&shippingAddressCountry=BRA
&shippingType=1
&shippingCost=1.00
<payment>
    <mode>default</mode>
    <method>eft</method>
    <bank>
    <name>itau</name>
</bank>
    <sender>
        <name>Fulano Silva</name>
        <email>fulano.silva@uol.com.br</email>
        <phone>
            <areaCode>11</areaCode>
            <number>30380000</number>
        </phone>
        <documents>
            <document>
                <type>CPF</type>
                <value>11475714734</value>
            </document>
        </documents>
        <hash>{hash_obtido_no_passo_2.3}</hash>
    </sender>
    <currency>BRL</currency>
    <notificationURL>https://sualoja.com.br/notificacao</notificationURL>
    <items>
        <item>
            <id>1</id>
            <description>Descricao do item a ser vendido</description>
            <quantity>1</quantity>
            <amount>1.00</amount>
        </item>
    </items>
<extraAmount>0.00</extraAmount>
    <reference>R123456</reference>
<shippingAddressRequired>true</shippingAddressRequired>
    <shipping>
        <address>
            <street>Av. Brigadeiro Faria Lima</street>
            <number>1384</number>
            <complement>1 andar</complement>
            <district>Jardim Paulistano</district>
            <city>Sao Paulo</city>
            <state>SP</state>
            <country>BRA</country>
            <postalCode>01452002</postalCode>
        </address>
        <type>3</type>
        <cost>0.00</cost>
    </shipping>
</payment>

3.3. Exemplo de Checkout com Cartão de Crédito

paymentMode=default
&paymentMethod=creditCard
&receiverEmail=suporte@lojamodelo.com.br
&currency=BRL
&extraAmount=1.00
&itemId1=0001
&itemDescription1=Notebook Prata
&itemAmount1=24300.00
&itemQuantity1=1
&notificationURL=https://sualoja.com.br/notifica.html
&reference=REF1234
&senderName=Jose Comprador
&senderCPF=22111944785
&senderAreaCode=11
&senderPhone=56273440
&senderEmail=comprador@uol.com.br
&senderHash={hash_obtido_no_passo_2.3}
&shippingAddressRequired=true
&shippingAddressStreet=Av. Brig. Faria Lima
&shippingAddressNumber=1384
&shippingAddressComplement=5o andar
&shippingAddressDistrict=Jardim Paulistano
&shippingAddressPostalCode=01452002
&shippingAddressCity=Sao Paulo
&shippingAddressState=SP
&shippingAddressCountry=BRA
&shippingType=1
&shippingCost=1.00
&creditCardToken={creditCard_token_obtido_no_passo_2.6}
&installmentQuantity={quantidade_de_parcelas_escolhida}
&installmentValue={installmentAmount_obtido_no_retorno_do_passo_2.5}
&noInterestInstallmentQuantity={valor_maxInstallmentNoInterest_incluido_no_passo_2.5}
&creditCardHolderName=Jose Comprador
&creditCardHolderCPF=22111944785
&creditCardHolderBirthDate=27/10/1987
&creditCardHolderAreaCode=11
&creditCardHolderPhone=56273440
&billingAddressStreet=Av. Brig. Faria Lima
&billingAddressNumber=1384
&billingAddressComplement=5o andar
&billingAddressDistrict=Jardim Paulistano
&billingAddressPostalCode=01452002
&billingAddressCity=Sao Paulo
&billingAddressState=SP
&billingAddressCountry=BRA
<payment>
    <mode>default</mode>
    <method>creditCard</method>
    <sender>
        <name>Fulano Silva</name>
        <email>fulano.silva@uol.com.br</email>
        <phone>
            <areaCode>11</areaCode>
            <number>30380000</number>
        </phone>
        <documents>
            <document>
                <type>CPF</type>
                <value>22111944785</value>
            </document>
        </documents>
        <hash>{hash_obtido_no_passo_2.3}</hash>
    </sender>
    <currency>BRL</currency>
    <notificationURL>https://sualoja.com.br/notificacao</notificationURL>
    <items>
        <item>
            <id>1</id>
            <description>Descricao do item a ser vendido</description>
            <quantity>1</quantity>
            <amount>10.00</amount>
        </item>
    </items>
<extraAmount>0.00</extraAmount>
    <reference>R123456</reference>
<shippingAddressRequired>true</shippingAddressRequired>
    <shipping>
        <address>
            <street>Av. Brigadeiro Faria Lima</street>
            <number>1384</number>
            <complement>1 andar</complement>
            <district>Jardim Paulistano</district>
            <city>Sao Paulo</city>
            <state>SP</state>
            <country>BRA</country>
            <postalCode>01452002</postalCode>
        </address>
        <type>3</type>
        <cost>0.00</cost>
    </shipping>
    <creditCard>
        <token>{creditCard_token_obtido_no_passo_2.6}</token>
       <installment>
             <quantity>{quantidade_de_parcelas_escolhida}</quantity>
            <value>{installmentAmount_obtido_no_retorno_do_passo_2.5}</value>
    				<noInterestInstallmentQuantity>{valor_maxInstallmentNoInterest_incluido_no_passo_2.5}
         		</noInterestInstallmentQuantity>
        </installment>
        <holder>
            <name>Nome impresso no cartao</name>
            <documents>
                <document>
                    <type>CPF</type>
                    <value>22111944785</value>
                </document>
            </documents>
            <birthDate>20/10/1980</birthDate>
            <phone>
                <areaCode>11</areaCode>
                <number>999991111</number>
            </phone>
        </holder>
        <billingAddress>
            <street>Av. Brigadeiro Faria Lima</street>
            <number>1384</number>
            <complement>1 andar</complement>
            <district>Jardim Paulistano</district>
            <city>Sao Paulo</city>
            <state>SP</state>
            <country>BRA</country>
            <postalCode>01452002</postalCode>
        </billingAddress>
    </creditCard>
</payment>

Tratando a resposta

Após realizar a chamada para processar o checkout é retornado um XML contendo todos os dados da transação. Veja os exemplos de retorno de acordo com os respectivos meios de pagamento abaixo:

<transaction>
    <date>2011-02-05T15:46:12.000-02:00</date>  
    <lastEventDate>2011-02-15T17:39:14.000-03:00</lastEventDate>  
    <code>9E884542-81B3-4419-9A75-BCC6FB495EF1</code>  
    <reference>REF1234</reference>  
    <type>1</type>  
    <status>3</status>  
    <paymentMethod>  
        <type>1</type>  
        <code>101</code>  
    </paymentMethod>
<paymentLink>
https://pagseguro.uol.com.br/checkout/imprimeBoleto.jhtml?code=314601B208B24A5CA53260000F7BB0D
</paymentLink>
    <grossAmount>49900.00</grossAmount>
    <discountAmount>0.00</discountAmount> 
    <feeAmount>0.00</feeAmount> 
    <netAmount>49900.50</netAmount>  
    <extraAmount>0.00</extraAmount> 
    <installmentCount>1</installmentCount>  
    <itemCount>2</itemCount>  
    <items> 
        <item>  
            <id>0001</id>  
            <description>Notebook Prata</description>  
            <quantity>1</quantity>  
            <amount>24300.00</amount>  
        </item>  
        <item> 
            <id>0002</id>  
            <description>Notebook Rosa</description>  
            <quantity>1</quantity>  
            <amount>25600.00</amount>  
        </item>  
    </items>  
    <sender>  
        <name>José Comprador</name>  
        <email>comprador@uol.com.br</email>  
        <phone>  
            <areaCode>11</areaCode>  
            <number>56273440</number>  
        </phone>  
    </sender>  
    <shipping>  
        <address>  
            <street>Av. Brig. Faria Lima</street>  
            <number>1384</number>  
            <complement>5o andar</complement>  
            <district>Jardim Paulistano</district>  
            <postalCode>01452002</postalCode>  
            <city>Sao Paulo</city>  
            <state>SP</state>  
            <country>BRA</country>  
        </address>  
        <type>1</type>  
        <cost>21.50</cost>  
    </shipping>  
</transaction> 
<transaction>
    <date>2018-11-13T11:56:32.000-02:00</date>
    <code>92BDD4E2-F571-4B4B-B7C4-5699CF00C1AC</code>
    <reference>REF1234</reference>
    <recoveryCode>7df5a68dd88c50bb869c4db8e73271f82a3f91f79a49407e</recoveryCode>
    <type>1</type>
    <status>1</status>
    <lastEventDate>2018-11-13T11:56:33.000-02:00</lastEventDate>
    <paymentMethod>
        <type>3</type>
        <code>302</code>
    </paymentMethod>
    <paymentLink>https://pagseguro.uol.com.br/checkout/payment/eft/print.jhtml?c=da5005c0aed949871fb25cbfbddb725d9cd951888f3d9a0ae5a11005e2998b99219b32e8f3891c0a</paymentLink>
    <grossAmount>24302.00</grossAmount>
    <discountAmount>0.00</discountAmount>
    <feeAmount>970.05</feeAmount>
    <netAmount>23331.95</netAmount>
    <extraAmount>1.00</extraAmount>
    <installmentCount>1</installmentCount>
    <itemCount>1</itemCount>
    <items>
        <item>
            <id>0001</id>
            <description>Notebook Prata</description>
            <quantity>1</quantity>
            <amount>24300.00</amount>
        </item>
    </items>
    <sender>
        <name>Jose Comprador</name>
        <email>comprador@uol.com.br</email>
        <phone>
            <areaCode>11</areaCode>
            <number>56273440</number>
        </phone>
    </sender>
    <shipping>
        <address>
            <street>Av. Brig. Faria Lima</street>
            <number>1384</number>
            <complement>5o andar</complement>
            <district>Jardim Paulistano</district>
            <city>Sao Paulo</city>
            <state>SP</state>
            <country>BRA</country>
            <postalCode>01452002</postalCode>
        </address>
        <type>1</type>
        <cost>1.00</cost>
    </shipping>
</transaction>
<transaction>
    <date>2018-11-13T12:08:45.000-02:00</date>
    <code>A31CDEEB-4FC7-41A7-A895-AE91C8F54C03</code>
    <reference>REF1234</reference>
    <type>1</type>
    <status>1</status>
    <lastEventDate>2018-11-13T12:08:45.000-02:00</lastEventDate>
    <paymentMethod>
        <type>1</type>
        <code>101</code>
    </paymentMethod>
    <grossAmount>24302.00</grossAmount>
    <discountAmount>0.00</discountAmount>
    <feeAmount>1538.72</feeAmount>
    <netAmount>22763.28</netAmount>
    <extraAmount>1.00</extraAmount>
    <installmentCount>5</installmentCount>
    <itemCount>1</itemCount>
    <items>
        <item>
            <id>0001</id>
            <description>Notebook Prata</description>
            <quantity>1</quantity>
            <amount>24300.00</amount>
        </item>
    </items>
    <sender>
        <name>Jose Comprador</name>
        <email>comprador@uol.com.br</email>
        <phone>
            <areaCode>11</areaCode>
            <number>56273440</number>
        </phone>
    </sender>
    <shipping>
        <address>
            <street>Av. Brig. Faria Lima</street>
            <number>1384</number>
            <complement>5o andar</complement>
            <district>Jardim Paulistano</district>
            <city>Sao Paulo</city>
            <state>SP</state>
            <country>BRA</country>
            <postalCode>01452002</postalCode>
        </address>
        <type>1</type>
        <cost>1.00</cost>
    </shipping>
</transaction>

Note que para os meios de pagamento Boleto e Débito Online, o XML possui o item paymentLink . Esse parâmetro pode ser um link de acesso para a imagem do boleto ou para a página de pagamento do banco selecionado. Lembrando que a página do banco não deve ser aberta em um IFrame.

 
Suggest Edits

Criação do checkout

Usando a tela do PagSeguro

 
posthttps://ws.pagseguro.uol.com.br/v2/checkout

Query Params

email
string
required

Veja mais sobre as credenciais em Autenticação

token
string
required

Veja mais sobre as credenciais em Autenticação)

Form Data

currency
string
required

Moeda utilizada. Indica a moeda na qual o pagamento será feito. No momento, a única opção disponível é BRL (Real).
Formato: Case sensitive. Somente o valor BRL é aceito.
x-www-form-urlencoded: currency

items
object

Lista de itens contidos no pagamento

item.id
string
required

Identificadores dos itens. Identificam os itens sendo pagos. Você pode escolher códigos que tenham significado para seu sistema e informá-los nestes parâmetros. O PagSeguro não realiza qualquer validação sobre esses identificadores, mas eles não podem se repetir em um mesmo pagamento.
Formato: Livre, com limite de 100 caracteres.
x-www-form-urlencoded:itemId1, itemId2 etc.

item.description
string
required

Descrições dos itens. Descrevem os itens sendo pagos. A descrição é o texto que o PagSeguro mostra associado a cada item quando o comprador está finalizando o pagamento, portanto é importante que ela seja clara e explicativa.
Formato: Livre, com limite de 100 caracteres.
x-www-form-urlencoded:itemDescription1, itemDescription2 etc.

item.amount
string
required

Valores unitários dos itens. Representam os preços unitários de cada item sendo pago. Além de poder conter vários itens, o pagamento também pode conter várias unidades do mesmo item. Este parâmetro representa o valor de uma unidade do item, que será multiplicado pela quantidade para obter o valor total dentro do pagamento.
Formato: Decimal, com duas casas decimais separadas por ponto (p.e., 1234.56), maior que 0.00 e menor ou igual a 9999999.00.
x-www-form-urlencoded:itemAmount1, itemAmount2 etc.

item.quantity
string
required

Quantidades dos itens. Representam as quantidades de cada item sendo pago. Além de poder conter vários itens, o pagamento também pode conter várias unidades do mesmo item. Este parâmetro representa a quantidade de um item, que será multiplicado pelo valor unitário para obter o valor total dentro do pagamento.
Formato: Um número inteiro maior ou igual a 1 e menor ou igual a 999.
x-www-form-urlencoded:itemQuantity1, itemQuantity2 etc.

item.weight
string
required

Pesos dos itens. Correspondem ao peso (em gramas) de cada item sendo pago. O PagSeguro usa o peso do item para realizar o cálculo do custo de frete nos Correios, exceto se o custo de frete do item já for especificado diretamente.
Formato: Um número inteiro correspondendo ao peso em gramas do item. A soma dos pesos de todos os produtos não pode ultrapassar 30000 gramas (30 kg).
x-www-form-urlencoded:itemWeight1, itemWeight2 etc.

item.shippingCost
string

Custos de frete dos itens. Representam os custos de frete de cada item sendo pago. Caso este custo seja especificado, o PagSeguro irá assumi-lo como o custo do frete do item e não fará nenhum cálculo usando o peso do item.
Formato: Decimal, com duas casas decimais separadas por ponto (p.e., 1234.56), maior que 0.00 e menor ou igual a 9999999.00.
x-www-form-urlencoded:itemShippingCost1, itemShippingCost2 etc.

shipping.address
object

Dados do endereço de envio

shipping.addressRequired
string
required

Obrigatoriedade do endereço de entrega.

False: Não será solicitado ao comprador o endereço de entrega, recomendado para Checkouts que não possuem entrega física.

True: Solicita o endereço do comprador, mesmo que os parâmetros de shipping.address não forem passados.
x-www-form-urlencoded:shippingAddressRequired

shipping.address.street
string

Nome da rua do endereço de envio. Informa o nome da rua do endereço de envio do produto. Pode enviá-lo caso queira evitar que ele preencha esses dados novamente no PagSeguro.
Formato: Livre, com limite de 80 caracteres.
x-www-form-urlencoded:shippingAddressStreet

shipping.address.number
string

Número do endereço de envio. Informa o número do endereço de envio do produto. Pode enviá-lo caso queira evitar que ele preencha esses dados novamente no PagSeguro.
Formato: Livre, com limite de 20 caracteres.
x-www-form-urlencoded:shippingAddressNumber

shipping.address.complement
string

Complemento do endereço de envio. Informa o complemento (bloco, apartamento, etc.) do endereço de envio do produto. Pode enviá-lo caso queira evitar que ele preencha esses dados novamente no PagSeguro.
Formato: Livre, com limite de 40 caracteres.
x-www-form-urlencoded:shippingAddressComplement

shipping.address.district
string

Bairro do endereço de envio. Informa o bairro do endereço de envio do produto. Este campo é opcional e você pode enviá-lo caso já tenha capturado os dados do comprador em seu sistema e queira evitar que ele preencha esses dados novamente no PagSeguro.
Formato: Livre, com limite de 60 caracteres.
x-www-form-urlencoded:shippingAddressDistrict

shipping.address.city
string

Cidade do endereço de envio. Informa a cidade do endereço de envio do produto. Pode enviá-lo caso queira evitar que ele preencha esses dados novamente no PagSeguro.
Formato: Livre. Deve ser um nome válido de cidade do Brasil, com no mínimo 2 e no máximo 60 caracteres.
x-www-form-urlencoded:shippingAddressCity

shipping.address.state
string

Estado do endereço de envio. Informa o estado do endereço de envio do produto. Pode enviá-lo caso queira evitar que ele preencha esses dados novamente no PagSeguro.
Formato: Duas letras, representando a sigla do estado brasileiro correspondente.
x-www-form-urlencoded:shippingAddressState

shipping.address.country
string

País do endereço de envio. Informa o país do endereço de envio do produto. Pode enviá-lo caso queira evitar que ele preencha esses dados novamente no PagSeguro.
Formato: No momento, apenas o valor BRA é permitido.
x-www-form-urlencoded:shippingAddressCountry

shipping.address.postalCode
string

CEP do endereço de envio. Informa o CEP do endereço de envio do produto. Pode enviá-lo caso queira evitar que ele preencha esses dados novamente no PagSeguro.
Formato: Um número de 8 dígitos
x-www-form-urlencoded:shippingAddressPostalCode

shipping
object

Dados do frete

shipping.type
int32

Tipo de frete. Informa o tipo de frete a ser usado para o envio do produto. Esta informação é usada pelo PagSeguro para calcular, junto aos Correios, o valor do frete a partir do peso dos itens. Os valores aceitos e seus significados são: 1 - Encomenda normal (PAC), 2 - SEDEX, 3 - Tipo de frete não especificado.
Formato: Um número inteiro entre 1 e 3.
x-www-form-urlencoded : shippingType

shipping.cost
string

Valor total do frete. Informa o valor total de frete do pedido. Caso este valor seja especificado, o PagSeguro irá assumi-lo como valor do frete e não fará nenhum cálculo referente aos pesos e valores de entrega dos itens.
Formato: Decimal, com duas casas decimais separadas por ponto (p.e., 1234.56), maior que 0.00 e menor ou igual a 9999999.00.
x-www-form-urlencoded : shippingCost

sender
object

Dados do comprador

sender.name
string

Nome completo do comprador. Especifica o nome completo do comprador que está realizando o pagamento. Este campo é opcional e você pode enviá-lo caso já tenha capturado os dados do comprador em seu sistema e queira evitar que ele preencha esses dados novamente no PagSeguro.
Formato: No mínimo duas sequências de caracteres, com o limite total de 50 caracteres.
x-www-form-urlencoded : senderName

sender.email
string

E-mail do comprador. Especifica o e-mail do comprador que está realizando o pagamento. Este campo é opcional e você pode enviá-lo caso já tenha capturado os dados do comprador em seu sistema e queira evitar que ele preencha esses dados novamente no PagSeguro.
Formato: um e-mail válido (p.e., usuario@site.com.br), com no máximo 60 caracteres.
x-www-form-urlencoded : senderEmail

sender.phone.areaCode
string

DDD do comprador. Especifica o código de área (DDD) do comprador que está realizando o pagamento. Este campo é opcional e você pode enviá-lo caso já tenha capturado os dados do comprador em seu sistema e queira evitar que ele preencha esses dados novamente no PagSeguro.
Formato: Um número de 2 dígitos correspondente a um DDD válido.
x-www-form-urlencoded : senderAreaCode

sender.phone.number
string

Número do telefone do comprador. Especifica o número do telefone do comprador que está realizando o pagamento. Este campo é opcional e você pode enviá-lo caso já tenha capturado os dados do comprador em seu sistema e queira evitar que ele preencha esses dados novamente no PagSeguro.
Formato: Um número de 7 a 9 dígitos.
x-www-form-urlencoded : senderPhone

sender.documents
object

Dados de documentos do comprador

sender.documents.type
string

Tipo de documento do comprador. Especifica o tipo do documento é CPF ou CNPJ.
Formato:CPF ou CNPJ
x-www-form-urlencoded : senderCPF e senderCNPJ

sender.documents.value
string

Número do CPF ou CNPJ do comprador Especifica o CPF/CNPJ do comprador que está realizando o pagamento. Este campo é opcional e você pode enviá-lo caso já tenha capturado os dados do comprador em seu sistema e queira evitar que ele preencha esses dados novamente no PagSeguro.
Formato: Um número de 11 dígitos para CPF ou 14 dígitos para CNPJ.
x-www-form-urlencoded : senderCPF e senderCNPJ

reference
string

Código de referência. Define um código para fazer referência ao pagamento. Este código fica associado à transação criada pelo pagamento e é útil para vincular as transações do PagSeguro às vendas registradas no seu sistema.
Formato: Livre, com o limite de 200 caracteres.
x-www-form-urlencoded : reference

redirectURL
string

URL de redirecionamento após o pagamento. Determina a URL para a qual o comprador será redirecionado após o final do fluxo de pagamento. Este parâmetro permite que seja informado um endereço de específico para cada pagamento realizado.
Formato: Uma URL válida, com limite de 255 caracteres.
x-www-form-urlencoded : redirectURL

receiver
object

Dados do vendedor

receiver.email
string

Especifica o e-mail que deve aparecer na tela de pagamento.
Formato: um e-mail válido (p.e., usuario@site.com.br), com no máximo 60 caracteres. O e-mail informado deve estar vinculado à conta PagSeguro que está realizando a chamada à API.
x-www-form-urlencoded : receiverEmail

acceptedPaymentMethods.exclude.payment.method.group
string

Excluindo meios de pagamento Com esta configuração você poderá excluir dinamicamente os grupos de pagamento. Saiba mais sobre esta configuração
x-www-form-urlencoded : excludePaymentMethodGroup

acceptedPaymentMethods.exclude.payment.method.name
string

Meio de pagamento que será excluído. Com esta configuração você poderá excluir dinamicamente os meios de pagamento. Saiba mais sobre esta configuração
x-www-form-urlencoded : excludePaymentMethodName

paymentMethodConfigs
object
exclude
object

Representa a configuração de exclusão de meios de pagamento

paymentMethodConfigs.paymentMethodConfig.paymentMethod.group
string

Método de pagamento que receberá a configuração, parâmetro usado para oferecer configurações parcelamento sem juros ou desconto
x-www-form-urlencoded : paymentMethodGroup1, paymentMethodGroup2, etc

paymentMethodConfigs.paymentMethodConfig.configs.config.key
string

Chave da configuração que será atribuída ao método de pagamento, parâmetro usado para oferecer parcelamento sem juros ou desconto
x-www-form-urlencoded : paymentMethodConfigKey1_1, paymentMethodConfigKey2_1, etc

paymentMethodConfigs.paymentMethodConfig.paymentMethod.value
string

Valor da configuração que será atribuída ao método de pagamento, , parâmetro usado para oferecer parcelamento sem juros ou desconto
x-www-form-urlencoded : paymentMethodConfigValue1_1, paymentMethodConfigValue2_1, etc

enableRecover
string

Parâmetro utilizado para desabilitar a funcionalidade recuperação de carrinho.
Formato: Deve ser utilizado FALSE para desabilitar a recuperação de carrinho. Na ausência do parâmetro será utilizado o valor configurado na conta PagSeguro do cliente.
Obs: Caso a conta PagSeguro do cliente estiver com a opção recuperação de carrinho desabilitada, não será possível habilita-la através da API utilizando o valor TRUE.
x-www-form-urlencoded : enableRecover

timetout
string

Tempo de expiração do checkout. Com este parâmetro você poderá definir, no momento da chamada para o PagSeguro, qual o tempo máximo que o checkout ficará disponível para o cliente antes deste ser invalidado.
Formato: Tempo em minutos.
Obs: O tempo mínimo da duração do checkout é de 20 minutos e máximo de 100000 minutos.
x-www-form-urlencoded : timeout

maxUses
string

Número máximo de usos para o código de pagamento. Determina o número máximo de vezes que o código de pagamento criado pela chamada à API de Pagamentos poderá ser usado. Este parâmetro pode ser usado como um controle de segurança.
Formato: Um número inteiro maior que 0 e menor ou igual a 999.
x-www-form-urlencoded : maxUses

maxAge
string

Prazo de validade do código de pagamento. Determina o prazo (em segundos) durante o qual o código de pagamento criado pela chamada à API de Pagamentos poderá ser usado. Este parâmetro pode ser usado como um controle de segurança.
Formato: Um número inteiro maior ou igual a 30 e menor ou igual a 999999999.
x-www-form-urlencoded : maxAge

extraAmount
string

Valor extra. Especifica um valor extra que deve ser adicionado ou subtraído ao valor total do pagamento. Esse valor pode representar uma taxa extra a ser cobrada no pagamento ou um desconto a ser concedido, caso o valor seja negativo.
Formato: Decimal (positivo ou negativo), com duas casas decimais separadas por ponto (p.e., 1234.56 ou -1234.56), maior ou igual a -9999999.00 e menor ou igual a 9999999.00. Quando negativo, este valor não pode ser maior ou igual à soma dos valores dos produtos.
x-www-form-urlencoded : extraAmount

Headers

Content-Type
string

x-www-form-urlencoded:
application/x-www-form-urlencoded; charset=ISO-8859-1
XML:
application/xml; charset=ISO-8859-1

 
currency=BRL
&itemId1=0001
&itemDescription1=Produto PagSeguroI
&itemAmount1=99999.99
&itemQuantity1=1
&itemWeight1=1000
&itemId2=0002
&itemDescription2=Produto PagSeguroII
&itemAmount2=99999.98
&itemQuantity2=2
&itemWeight2=750
&reference=REF1234
&senderName=Jose Comprador
&senderAreaCode=99
&senderPhone=999999999
&senderEmail=comprador@uol.com.br
&shippingType=1
&shippingAddressRequired=true
&shippingAddressStreet=Av. PagSeguro
&shippingAddressNumber=9999
&shippingAddressComplement=99o andar
&shippingAddressDistrict=Jardim Internet
&shippingAddressPostalCode=99999999
&shippingAddressCity=Cidade Exemplo
&shippingAddressState=SP
&shippingAddressCountry=BRA
&timeout=25
&enableRecover=false
<?xml version="1.0"?>
<checkout>
  <sender>
    <name>Jose Comprador</name>
    <email>comprador@uol.com.br</email>
    <phone>
      <areaCode>99</areaCode>
      <number>999999999</number>
    </phone>
    <documents>
      <document>
        <type>CPF</type>
        <value>11475714734</value>
      </document>
    </documents>
  </sender>
  <currency>BRL</currency>
  <items>
    <item>
      <id>0001</id>
      <description>Produto PagSeguroI</description>
      <amount>99999.99</amount>
      <quantity>1</quantity>
      <weight>10</weight>
      <shippingCost>1.00</shippingCost>
    </item>
  </items>
  <redirectURL>http://lojamodelo.com.br/return.html</redirectURL>
  <extraAmount>10.00</extraAmount>
  <reference>REF1234</reference>
  <shipping>
    <address>
      <street>Av. PagSeguro</street>
      <number>9999</number>
      <complement>99o andar</complement>
      <district>Jardim Internet</district>
      <city>Cidade Exemplo</city>
      <state>SP</state>
      <country>BRA</country>
      <postalCode>99999999</postalCode>
    </address>
    <type>1</type>
    <cost>1.00</cost>
    <addressRequired>true</addressRequired>
  </shipping>
  <timeout>25</timeout>
  <maxAge>999999999</maxAge>
  <maxUses>999</maxUses>
  <receiver>
    <email>suporte@lojamodelo.com.br</email>
  </receiver>
  <enableRecover>false</enableRecover>
</checkout>
curl -X POST \
  'https://ws.pagseguro.uol.com.br/v2/checkout?email=email@email.com&token=token' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'email=email%40email.com&token=token&currency=BRL&itemId1=001&itemDescription1=Item%201&itemAmount1=169.90&itemQuantity1=1&reference=124665c23f7896adff508377925&senderName=Natalie%20Green&senderAreaCode=51&senderPhone=988888888&senderEmail=emaildocomprador@pagseguro.com.br&shippingAddressRequired=true&extraAmount=0.00
A binary file was returned

You couldn't be authenticated

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<checkout>
    <code>C13F573B2727DBFCC4024FB16EDEE423</code>
    <date>2019-01-16T17:26:08.000-02:00</date>
</checkout>
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<errors>
    <error>
        <code>Error Code</code>
        <message>Error Description</message>
    </error>
</errors>
 
Suggest Edits

Cancelar e estornar

 

Nesta seção trata de APIs utilizadas para cancelar e estornar transações.

 
Suggest Edits

Cancelar transação

 
posthttps://ws.pagseguro.uol.com.br/v2/transactions/cancels

Query Params

email
string
required

Veja mais sobre as credenciais em Autenticação)

token
string
required

Veja mais sobre as credenciais em Autenticação

Form Data

transactionCode
string
required

Código da transação
Transação deverá estar com os status Aguardando pagamento ou Em análise
Formato: Uma sequência de 36 caracteres, com os hífens, ou 32 caracteres, sem os hífens.

Headers

Content-Type
string

application/x-www-form-urlencoded; charset=ISO-8859-1

 
&transactionCode={{transaction-code}}
curl -X POST \
  'https://ws.pagseguro.uol.com.br/v2/transactions/cancels?email=email@email.com&token=token' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'transactionCode=F01BD7E6-3D09-4550-B904-86B09B477060&undefined='
A binary file was returned

You couldn't be authenticated

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<result>OK</result>
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<errors>
    <error>
        <code>Error Code </code>
        <message>Error Description</message>
    </error>
</errors>
 
Suggest Edits

Estornar transação

 
posthttps://ws.pagseguro.uol.com.br/v2/transactions/refunds

Query Params

email
string
required

Veja mais sobre as credenciais em Autenticação

token
string
required

Veja mais sobre as credenciais em Autenticação

Form Data

transactionCode
string
required

Código da transação
Transação deverá estar com os status Paga, Disponível ou Em disputa.
Formato: Uma sequência de 36 caracteres, com os hífens, ou 32 caracteres, sem os hífens.

refundValue
string

Valor do estorno.
Utilizado no estorno de uma transação, corresponde ao valor a ser devolvido. Se não for informado, o PagSeguro assume que o valor a ser estornado é o valor total da transação.
Formato: Decimal, com duas casas decimais separadas por ponto (p.e., 1234.56), maior que 0.00 e menor ou igual ao valor da transação.

Headers

Content-Type
string

application/x-www-form-urlencoded; charset=ISO-8859-1

 
&transactionCode={{transaction-code}}
&refundValue=100.00
curl -X POST \
  'https://ws.pagseguro.uol.com.br/v2/transactions/refunds?email=email@email.com&token=token' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d transactionCode=BB32071D-6665-43F4-9860-EBDD69562D74
A binary file was returned

You couldn't be authenticated

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<result>OK</result>
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<errors>
  <error>
    <code>Error Code</code>
    <message>Error Description</message>
  </error>
</erros>
 
Suggest Edits

Consultas

 

Nesta seção trata de APIs utilizadas para consultar transações.

 
Suggest Edits

Consulta transações por data ou código de referência

 
gethttps://ws.pagseguro.uol.com.br/v2/transactions

Query Params

email
string
required

Veja mais sobre as credenciais em Autenticação

token
string
required

Veja mais sobre as credenciais em Autenticação

Form Data

reference
string
required

Código de referência da transação. Código informado na criação da transação para fazer referência ao pagamento.
Formato: Livre, com no máximo 200 caracteres.

initialDate
string

Data inicial do intervalo. Especifica a data inicial do intervalo de pesquisa. Somente transações criadas a partir desta data serão retornadas. Esta data não pode ser anterior a 6 meses da data corrente.
Formato:YYYY-MM-DDThh:mm:ss.sTZD, o formato oficial do W3C para datas. Veja mais sobre formatação de datas.
Obrigatório:** Se estiver utilizando o finalDate

finalDate
string

Data final do intervalo. Especifica a data final do intervalo de pesquisa. A diferença entre initialDate e finalDate não pode ser superior a 30 dias.
Formato:YYYY-MM-DDThh:mm:ss.sTZD, o formato oficial do W3C para datas. Veja mais sobre formatação de datas.
Obrigatório:** Se estiver utilizando o initialDate

page
string

Página de resultados a ser retornada. O número de resultados retornado pela consulta por código de referência pode ser grande, portanto é possível fazer a paginação dos resultados. A primeira página retornada é 1 e assim por diante. Este parâmetro especifica qual é a página de resultados a ser retornada.
Formato: Inteiro.

maxPageResults
string

Número máximo de resultados por página. Para limitar o tamanho da resposta de cada chamada à consulta, é possível especificar um número máximo de resultados por página. Este parâmetro permite especificar este limite.
Formato: Inteiro.

 
&initialDate=2011-01-01T00:00
&finalDate=2011-01-28T00:00
&page=1
&maxPageResults=100
curl -X GET \
  'https://ws.pagseguro.uol.com.br/v2/transactions?email=email@email.com&token=token&initialDate=2018-11-07T00:00&finalDate=2018-11-14T00:00&page=1&maxPageResults=10&reference=REF123456' \
A binary file was returned

You couldn't be authenticated

<transactionSearchResult>
    <date>2011-02-16T20:14:35.000-02:00</date>
    <currentPage>1</currentPage>
    <resultsInThisPage>10</resultsInThisPage>
    <totalPages>1</totalPages>
    <transactions>
        <transaction>
            <date>2011-02-05T15:46:12.000-02:00</date>
            <lastEventDate>2011-02-15T17:39:14.000-03:00</lastEventDate>
            <code>9E884542-81B3-4419-9A75-BCC6FB495EF1</code>
            <reference>REF123456</reference>
            <type>1</type>
            <status>3</status>
            <paymentMethod>
                <type>1</type>
            </paymentMethod>
            <grossAmount>49900.00</grossAmount>
            <discountAmount>0.00</discountAmount>
            <feeAmount>0.00</feeAmount>
            <netAmount>49900.00</netAmount>
            <extraAmount>0.00</extraAmount>
        </transaction>
        <transaction>
            <date>2011-02-07T18:57:52.000-02:00</date>
            <lastEventDate>2011-02-14T21:37:24.000-03:00</lastEventDate>
            <code>2FB07A22-68FF-4F83-A356-24153A0C05E1</code>
            <reference>REF123456</reference>
            <type>3</type>
            <status>4</status>
            <paymentMethod>
                <type>3</type>
            </paymentMethod>
            <grossAmount>26900.00</grossAmount>
            <discountAmount>0.00</discountAmount>
            <feeAmount>0.00</feeAmount>
            <netAmount>26900.00</netAmount>
            <extraAmount>0.00</extraAmount>
        </transaction>
    </transactions>
</transactionSearchResult>
 
Suggest Edits

Consulta dos detalhes da transação

 
gethttps://ws.pagseguro.uol.com.br/v3/transactions/transactionCode

Query Params

email
string
required

Veja mais sobre as credenciais em Autenticação

token
string
required

Veja mais sobre as credenciais em Autenticação

Form Data

transactionCode
string
required

Código que identifica a transação. Código da transação que será consultada.
Formato: Uma sequência de 36 caracteres, com os hífens, ou 32 caracteres, sem os hífens.

 
curl -X GET \
  'https://ws.pagseguro.uol.com.br/v3/transactions/2504A4D645CD4EFCA3EA6DE8034FB945?email=email@email.com&token=token' \
A binary file was returned

You couldn't be authenticated

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<transaction>
    <date>2017-12-04T17:19:31.000-02:00</date>
    <code>79E53362-F6B2-4DFF-B3FD-23B4E0C19B35</code>
    <reference>REF1234</reference>
    <type>1</type>
    <status>1</status>
    <lastEventDate>2017-12-04T17:19:32.000-02:00</lastEventDate>
    <paymentMethod>
        <type>2</type>
        <code>202</code>
    </paymentMethod>
    <paymentLink>https://pagseguro.uol.com.br/checkout/payment/booklet/print.jhtml?c=62238ca9db0aa8913528210ce3d7c7d4e72d138f985eb97976d39013d22fed1283fc0072edc1a23c</paymentLink>
    <grossAmount>998.98</grossAmount>
    <discountAmount>0.00</discountAmount>
    <creditorFees>
        <operationalFeeAmount>1.00</operationalFeeAmount>
        <intermediationRateAmount>0.40</intermediationRateAmount>
        <intermediationFeeAmount>39.82</intermediationFeeAmount>
    </creditorFees>
    <netAmount>957.76</netAmount>
    <extraAmount>-0.01</extraAmount>
    <installmentCount>1</installmentCount>
    <itemCount>2</itemCount>
    <items>
        <item>
            <id>0001</id>
            <description>Notebook Prata</description>
            <quantity>1</quantity>
            <amount>998.98</amount>
        </item>
        <item>
            <id>0002</id>
            <description>Notebook Rosa</description>
            <quantity>1</quantity>
            <amount>0.01</amount>
        </item>
    </items>
    <sender>
        <name>Jose Comprador</name>
        <email>jose@dominio.com.br</email>
        <phone>
            <areaCode>11</areaCode>
            <number>56713293</number>
        </phone>
    </sender>
    <primaryReceiver>
        <publicKey>PUB175E07D7FB62462BAE3C9A60EA1B32AE</publicKey>
    </primaryReceiver>
</transaction>
 
Suggest Edits

Consulta uma notificação de transação

 
gethttps://ws.pagseguro.uol.com.br/v3/transactions/notifications/notificationCode

Query Params

email
string
required

Veja mais sobre as credenciais em Autenticação

token
string
required

Veja mais sobre as credenciais em Autenticação

Form Data

notificationCode
string
required

Código identificador da notificação. Informa o código da notificação que você quer consultar. O código deve ser informado no caminho da URL. Você deve usar o código que recebeu pelo parâmetro notificationCode no envio da notificação.
Formato: Uma sequência de 39 caracteres.

 
curl -X GET \
  'https://ws.pagseguro.uol.com.br/v3/transactions/notifications/{{notification_code}}?email=email@email.com&token=token' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
A binary file was returned

You couldn't be authenticated

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>  
<transaction>  
    <date>2011-02-10T16:13:41.000-03:00</date>  
    <code>9E884542-81B3-4419-9A75-BCC6FB495EF1</code>  
    <reference>REF1234</reference>
    <type>1</type>  
    <status>3</status>  
    <paymentMethod>  
        <type>2</type>  
        <code>202</code>  
    </paymentMethod>  
    <grossAmount>300021.45</grossAmount>
    <discountAmount>0.00</discountAmount>
    <creditorFees>
        <intermediationRateAmount>0.40</intermediationRateAmount>
        <intermediationFeeAmount>11970.86</intermediationFeeAmount>
    </creditorFees>
    <netAmount>288050.19</netAmount>
    <extraAmount>0.00</extraAmount>  
    <installmentCount>1</installmentCount>  
    <itemCount>3</itemCount>  
    <items>  
        <item>  
            <id>0001</id>  
            <description>Produto PagSeguroI</description>  
            <quantity>1</quantity>  
            <amount>99999.99</amount>  
        </item>  
        <item>  
            <id>0002</id>  
            <description>Produto PagSeguroII</description>  
            <quantity>2</quantity>  
            <amount>99999.98</amount>  
        </item>  
    </items>  
    <sender>  
        <name>José Comprador</name>  
        <email>comprador@uol.com.br</email>  
        <phone>  
            <areaCode>99</areaCode>  
            <number>99999999</number>  
        </phone>  
    </sender>  
    <shipping>  
        <address>  
            <street>Av. PagSeguro</street>  
            <number>9999</number>  
            <complement>99o andar</complement>  
            <district>Jardim Internet</district>  
            <postalCode>99999999</postalCode>  
            <city>Cidade Exemplo</city>  
            <state>SP</state>  
            <country>ATA</country>  
        </address>  
        <type>1</type>  
        <cost>21.50</cost>  
    </shipping>
</transaction>
 
Suggest Edits

Códigos de erro

 

Caso sua aplicação informe algum dado incorreto ou fora do padrão esperado pela API será retornado uma mensagem de erro: Erros Genéricos.

Além dos erros genéricos cada API tem sua sua tabela de códigos de erros conforme abaixo:

Código de erro
Mensagem

10001

Email is required.

10002

Token is required.

10003

Email invalid value.

Pagamentos via API

Código de erro
Mensagem

11001

receiverEmail is required.

11002

receiverEmail invalid length: {0}

11003

receiverEmail invalid value.

11004

Currency is required.

11005

Currency invalid value: {0}

11006

redirectURL invalid length: {0}

11007

redirectURL invalid value: {0}

11008

reference invalid length: {0}

11009

senderEmail invalid length: {0}

11010

senderEmail invalid value: {0}

11011

senderName invalid length: {0}

11012

senderName invalid value: {0}

11013

senderAreaCode invalid value: {0}

11014

senderPhone invalid value: {0}

11015

shippingType is required.

11016

shippingType invalid type: {0}

11017

shippingPostalCode invalid Value: {0}

11018

shippingAddressStreet invalid length: {0}

11019

shippingAddressNumber invalid length: {0}

11020

shippingAddressComplement invalid length: {0}

11021

shippingAddressDistrict invalid length: {0}

11022

shippingAddressCity invalid length: {0}

11023

shippingAddressState invalid value: {0}, must fit the pattern: \w{2} (e. g. "SP")

11024

Itens invalid quantity.

11025

Item Id is required.

11026

Item quantity is required.

11027

Item quantity out of range: {0}

11028

Item amount is required. (e.g. "12.00")

11029

Item amount invalid pattern: {0}. Must fit the patern: \d+.\d{2}

11030

Item amount out of range: {0}

11031

Item shippingCost invalid pattern: {0}. Must fit the patern: \d+.\d{2}

11032

Item shippingCost out of range: {0}

11033

Item description is required.

11034

Item description invalid length: {0}

11035

Item weight invalid Value: {0}

11036

Extra amount invalid pattern: {0}. Must fit the patern: -?\d+.\d{2}

11037

Extra amount out of range: {0}

11038

Invalid receiver for checkout: {0}, verify receiver's account status.

11039

Malformed request XML: {0}.

11040

MaxAge invalid pattern: {0}. Must fit the patern: \d+

11041

MaxAge out of range: {0}

11042

MaxUses invalid pattern: {0}. Must fit the patern: \d+

11043

MaxUses out of range.

11044

InitialDate is required.

11045

InitialDate must be lower than allowed limit.

11046

InitialDate must not be older than 6 months.

11047

InitialDate must be lower than or equal finalDate.

11048

search interval must be lower than or equal 30 days.

11049

finalDate must be lower than allowed limit.

11050

InitialDate invalid format, use 'yyyy-MM-ddTHH:mm' (eg. 2010-01-27T17:25).

11051

finalDate invalid format, use 'yyyy-MM-ddTHH:mm' (eg. 2010-01-27T17:25).

11052

page invalid value.

11053

MaxPageResults invalid value (must be between 1 and 1000).

11157

senderCPF invalid value: {0}

 
Suggest Edits

Iniciar Sessão

 
posthttps://ws.pagseguro.uol.com.br/v2/sessions

Query Params

email
string
required

Veja mais sobre as credenciais em Autenticação

token
string
required

Veja mais sobre as credenciais em Autenticação

Headers

Content-Type
string

x-www-form-urlencoded: application/x-www-form-urlencoded; charset=ISO-8859-1

ou XML: application/xml; charset=ISO-8859-1

 
curl -X POST \
  'https://ws.pagseguro.uol.com.br/v2/sessions?email=email@email.com&token=token' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d undefined=
A binary file was returned

You couldn't be authenticated

<?xml version="1.0" encoding="ISO-8859-1"?>
<session>
	<id>620f99e348c24f07877c927b353e49d3</id>
</session>
Unauthorized
 
Suggest Edits

Cartão de Crédito

 
posthttps://ws.pagseguro.uol.com.br/v2/transactions

Query Params

email
string
required

Veja mais sobre as credenciais em Autenticação

token
string
required

Veja mais sobre as credenciais em Autenticação

Body Params

payment
object

Nó principal, onde terá todos os dados de pagamento

mode
string
required

Modo de pagamento.
Formato: aceita a opção 'default'.
x-www-form-urlencoded : paymentMode

method
string
required

Meio de pagamento.
Formato: creditCard.
x-www-form-urlencoded : paymentMethod

currency
string
required

Moeda utilizada. Indica a moeda na qual o pagamento será feito. No momento, a única opção disponível é BRL (Real).
x-www-form-urlencoded : currency

sender
object
sender.hash
string
required

Identificador do vendedor (fingerprint) gerado pelo JavaScript do PagSeguro.
Formato: Obtido a partir de uma chamada javascript PagseguroDirectPayment.onSenderHashReady().
x-www-form-urlencoded : senderHash

sender.ip
string

IP do comprador que está realizando o pagamento.
Formato: um IP válido.
x-www-form-urlencoded : senderIp

sender.name
string
required

Nome completo do comprador. Especifica o nome completo do comprador que está realizando o pagamento.
Formato: No mínimo duas sequências de caracteres, com o limite total de 50 caracteres.
x-www-form-urlencoded : senderName

sender.email
string
required

E-mail do comprador. Especifica o e-mail do comprador que está realizando o pagamento.
Formato: Um e-mail válido (p.e., usuario@site.com.br), com no máximo 60 caracteres.
x-www-form-urlencoded : senderEmail

sender.phone
object
sender.phone.areaCode
string
required

DDD do comprador. Especifica o código de área (DDD) do comprador que está realizando o pagamento.
Formato: Um número de 2 dígitos correspondente a um DDD válido.
x-www-form-urlencoded : senderAreaCode

sender.phone.number
string
required

Número do telefone do comprador. Especifica o número do telefone do comprador que está realizando o pagamento.
Formato: Um número de 7 a 9 dígitos.
x-www-form-urlencoded : senderPhone

sender.documents
object
sender.documents.type
string
required

Tipo de documento do comprador. Especifica o tipo do documento é CPF ou CNPJ.
Formato:CPF ou CNPJ
x-www-form-urlencoded : senderCPF e senderCNPJ

sender.documents.value
string
required

Número do CPF ou CNPJ do comprador Especifica o CPF/CNPJ do comprador que está realizando o pagamento.
Formato: Um número de 11 dígitos para CPF ou 14 dígitos para CNPJ.
x-www-form-urlencoded : senderCPF e senderCNPJ

items
object
items.item
object

items.item.description

items.item.id
string
required

Identificadores dos itens. Identificam os itens sendo pagos. Você pode escolher códigos que tenham significado para seu sistema e informá-los nestes parâmetros. O PagSeguro não realiza qualquer validação sobre esses identificadores, mas eles não podem se repetir em um mesmo pagamento.
Formato: Livre, com limite de 100 caracteres.
x-www-form-urlencoded : itemId1, itemId2, etc.

items.item.description
string
required

Descrições dos itens. Descrevem os itens sendo pagos. A descrição é o texto que o PagSeguro mostra associado a cada item quando o comprador está finalizando o pagamento, portanto é importante que ela seja clara e explicativa.
Formato: Livre, com limite de 100 caracteres.
x-www-form-urlencoded : itemDescription1, itemDescription2, etc.

items.item.amount
string
required

Valores unitários dos itens. Representam os preços unitários de cada item sendo pago. Além de poder conter vários itens, o pagamento também pode conter várias unidades do mesmo item. Este parâmetro representa o valor de uma unidade do item, que será multiplicado pela quantidade para obter o valor total dentro do pagamento.
Formato: Decimal, com duas casas decimais separadas por ponto (p.e., 1234.56), maior que 0.00 e menor ou igual a 9999999.00.
x-www-form-urlencoded : itemAmount1, itemAmount2, etc.

items.item.quantity
string
required

Quantidades dos itens. Representam as quantidades de cada item sendo pago. Além de poder conter vários itens, o pagamento também pode conter várias unidades do mesmo item. Este parâmetro representa a quantidade de um item, que será multiplicado pelo valor unitário para obter o valor total dentro do pagamento.
Formato: Um número inteiro maior ou igual a 1 e menor ou igual a 999.
x-www-form-urlencoded : itemQuantity1, itemQuantity2, etc.

creditCard
object
creditCard.token
string
required

Token do Cartão de Crédito. Token retornado no serviço de obtenção de token do cartão de crédito.
Formato: Não tem limite de caracteres.
x-www-form-urlencoded : creditCardToken

creditCard.installment
object
creditCard.installment.quantity
int32
required

Quantidade de parcelas escolhidas pelo cliente.
Formato: Um inteiro entre 1 e 18.
x-www-form-urlencoded : installmentQuantity

creditCard.installment.value
string
required

Valor das parcelas obtidas no serviço de opções de parcelamento.
Formato: Numérico com 2 casas decimais e separado por ponto.
x-www-form-urlencoded : installmentValue

creditCard.installment.noInterestInstallmentQuantity
string
required

Quantidade de parcelas sem juros oferecidas ao cliente. O valor deve ser o mesmo indicado no método getInstallments, no parâmetro maxInstallmentNoInterest.
Formato: Um inteiro.
Obrigatório: Caso tenha sido informado o valor no parâmetro maxInstallmentNoInterest do método getInstallments.
x-www-form-urlencoded : noInterestInstallmentQuantity

creditCard.holder
object
creditCard.holder.name
string
required

Nome impresso no cartão de crédito.
Formato: min = 1, max = 50 caracteres.
x-www-form-urlencoded : creditCardHolderName

creditCard.holder.documents
object
creditCard.holder.documents.type
string
required

Tipo de documento do comprador. Especifica o tipo do documento é CPF ou CNPJ.
Formato:CPF ou CNPJ
x-www-form-urlencoded : senderCPF e senderCNPJ

creditCard.holder.documents.value
string

Número do CPF ou CNPJ do comprador Especifica o CPF/CNPJ do comprador que está realizando o pagamento.
Formato: Um número de 11 dígitos para CPF ou 14 dígitos para CNPJ.
Obrigatório para cartão de crédito.
x-www-form-urlencoded : senderCPF e senderCNPJ

creditCard.holder.birthDate
string
required

Data de nascimento do dono do cartão de crédito.
Formato: dd/MM/yyyy
x-www-form-urlencoded : creditCardHolderBirthDate

creditCard.holder.phone
object
creditCard.holder.phone.areaCode
string
required

DDD do comprador. Especifica o código de área (DDD) do comprador que está realizando o pagamento.
Formato: Um número de 2 dígitos correspondente a um DDD válido.
x-www-form-urlencoded :** creditCardHolderAreaCode

creditCard.holder.phone.number
string
required

Número do telefone do comprador. Especifica o número do telefone do comprador que está realizando o pagamento.
Formato: Um número de 7 a 9 dígitos.
x-www-form-urlencoded : creditCardHolderPhone

creditCard.billingAddress
object
creditCard.billingAddress.street
string
required

Nome da rua do endereço de envio. Informa o nome da rua do endereço de envio do produto.
Formato: Livre, com limite de 80 caracteres.
Obrigatório:x-www-form-urlencoded :** billingAddressStreet

creditCard.billingAddress.number
string
required

Número do endereço de envio. Informa o número do endereço de envio do produto.
Formato: Livre, com limite de 20 caracteres.
x-www-form-urlencoded : billingAddressNumber

creditCard.billingAddress.district
string
required

Bairro do endereço de envio. Informa o bairro do endereço de envio do produto.
Formato: Livre, com limite de 60 caracteres.
x-www-form-urlencoded : billingAddressDistrict

creditCard.billingAddress.city
string
required

Cidade do endereço de envio. Informa a cidade do endereço de envio do produto.
Formato: Livre. Deve ser um nome válido de cidade do Brasil, com no mínimo 2 e no máximo 60 caracteres.
x-www-form-urlencoded : billingAddressCity

creditCard.billingAddress.state
string
required

Estado do endereço de envio. Informa o estado do endereço de envio do produto.
Formato: Duas letras, representando a sigla do estado brasileiro correspondente.x-www-form-urlencoded : billingAddressState

creditCard.billingAddress.country
string
required

País do endereço de envio. Informa o país do endereço de envio do produto.
Formato: No momento, apenas o valor BRA é permitido.
Obrigatório: Cartão de crédito.
x-www-form-urlencoded : billingAddressCountry

creditCard.billingAddress.postalCode
string
required

CEP do endereço de envio. Informa o CEP do endereço de envio do produto.
Formato: Um número de 8 dígitos
x-www-form-urlencoded : billingAddressPostalCode

creditCard.billingAddress.complement
string
required

Complemento do endereço de envio. Informa o complemento (bloco, apartamento, etc.) do endereço de envio do produto.
Formato: Livre, com limite de 40 caracteres.
x-www-form-urlencoded : billingAddressComplement

shipping
object
shipping.addressRequired
string
required

Obrigatoriedade do endereço de entrega.
Formato:
True: Os parâmetros de shipping.address deverão ser passados
False: os parâmetros de shipping.address não deverão ser passados.
x-www-form-urlencoded : shippingAddressRequired

shipping.address
object
shipping.address.street
string

Nome da rua do endereço de envio. Informa o nome da rua do endereço de envio do produto.
Formato: Livre, com limite de 80 caracteres.
Obrigátorio: Se o shipping.addressRequired estiver como true.
x-www-form-urlencoded : shippingAddressStreet

shipping.address.number
string

Número do endereço de envio. Informa o número do endereço de envio do produto.
Formato: Livre, com limite de 20 caracteres.
Obrigátorio: Se o shipping.addressRequired estiver como true.
x-www-form-urlencoded : shippingAddressNumber

shipping.address.district
string

Bairro do endereço de envio. Informa o bairro do endereço de envio do produto.
Formato: Livre, com limite de 60 caracteres.
Obrigátorio: Se o shipping.addressRequired estiver como true.
x-www-form-urlencoded : shippingAddressDistrict

shipping.address.city
string

Cidade do endereço de envio. Informa a cidade do endereço de envio do produto.
Formato: Livre. Deve ser um nome válido de cidade do Brasil, com no mínimo 2 e no máximo 60 caracteres.
Obrigátorio: Se o shipping.addressRequired estiver como true.
x-www-form-urlencoded : shippingAddressCity

shipping.address.state
string

Estado do endereço de envio. Informa o estado do endereço de envio do produto.
Formato: Duas letras, representando a sigla do estado brasileiro correspondente.
Obrigátorio: Se o shipping.addressRequired estiver como true.
x-www-form-urlencoded : shippingAddressState

shipping.address.country
string

País do endereço de envio. Informa o país do endereço de envio do produto.
Formato: No momento, apenas o valor BRA é permitido.
Obrigátorio: Se o shipping.addressRequired estiver como true.
x-www-form-urlencoded : shippingAddressCountry

shipping.address.postalCode
string

CEP do endereço de envio. Informa o CEP do endereço de envio do produto.
Formato: Um número de 8 dígitos
Obrigátorio: Se o shipping.addressRequired estiver como true.
x-www-form-urlencoded : shippingAddressPostalCode

shipping.address.complement
string

Complemento do endereço de envio. Informa o complemento (bloco, apartamento, etc.) do endereço de envio do produto.
Formato: Livre, com limite de 40 caracteres.
x-www-form-urlencoded : shippingAddressComplement

shipping.cost
string

Valor total do frete. Informa o valor total de frete do pedido. Caso este valor seja especificado, o PagSeguro irá assumi-lo como valor do frete e não fará nenhum cálculo referente aos pesos e valores de entrega dos itens.
Formato: Decimal, com duas casas decimais separadas por ponto (p.e., 1234.56), maior que 0.00 e menor ou igual a 9999999.00.
x-www-form-urlencoded : shippingCost

shipping.type
int32

Tipo de frete. Informa o tipo de frete a ser usado para o envio do produto. Esta informação é usada pelo PagSeguro para calcular, junto aos Correios, o valor do frete a partir do peso dos itens. Os valores aceitos e seus significados são: 1 - Encomenda normal (PAC), 2 - SEDEX, 3 - Tipo de frete não especificado.
Formato: Um número inteiro entre 1 e 3.
x-www-form-urlencoded : shippingType

reference
string

Código de referência. Define um código para fazer referência ao pagamento. Este código fica associado à transação criada pelo pagamento e é útil para vincular as transações do PagSeguro às vendas registradas no seu sistema.
Formato: Livre, com o limite de 200 caracteres.
x-www-form-urlencoded : reference

receiver
object
receiver.email
string

Especifica o e-mail do vendedor que vai receber o pagamento.
Formato: Um e-mail válido, com limite de 60 caracteres. O e-mail informado deve estar vinculado à conta PagSeguro que está realizando a chamada à API.
x-www-form-urlencoded : receiverEmail

extraAmount
string

Valor extra. Especifica um valor extra que deve ser adicionado ou subtraído ao valor total do pagamento. Esse valor pode representar uma taxa extra a ser cobrada no pagamento ou um desconto a ser concedido, caso o valor seja negativo.
Formato: Decimal (positivo ou negativo), com duas casas decimais separadas por ponto (p.e., 1234.56 ou -1234.56), maior ou igual a -9999999.00 e menor ou igual a 9999999.00. Quando negativo, este valor não pode ser maior ou igual à soma dos valores dos produtos.
x-www-form-urlencoded : extraAmount

notificationURL
string

URL para envio de notificações.
Formato: Uma URL válida, com limite de 255 caracteres.
x-www-form-urlencoded : notificationURL

Headers

Content-Type
string

x-www-form-urlencoded:
application/x-www-form-urlencoded; charset=ISO-8859-1
XML:
application/xml; charset=ISO-8859-1

 
paymentMode=default
&paymentMethod=creditCard
&currency=BRL
&extraAmount=0.00
&itemId1=0001
&itemDescription1=Notebook Prata
&itemAmount1=10300.00
&itemQuantity1=1
&itemId2=0002
&itemDescription2=Notebook Azul
&itemAmount2=10000.00
&itemQuantity2=1
&notificationURL=https=//sualoja.com.br/notificacao.html
&reference=REF1234
&senderName=Jose Comprador
&senderCPF=22111944785
&senderAreaCode=11
&senderPhone=56273440
&senderEmail=comprador@sandbox.pagseguro.com.br
&senderHash={{hash_do_comprador}}
&shippingAddressStreet=Av. Brig. Faria Lima
&shippingAddressNumber=1384
&shippingAddressComplement=5o andar
&shippingAddressDistrict=Jardim Paulistano
&shippingAddressPostalCode=01452002
&shippingAddressCity=Sao Paulo
&shippingAddressState=SP
&shippingAddressCountry=BRA
&shippingType=1
&shippingCost=01.00
&creditCardToken={{token_do_cartao}}
&installmentQuantity=7
&installmentValue=3030.94
&noInterestInstallmentQuantity=5
&creditCardHolderName=Jose Comprador
&creditCardHolderCPF=22111944785
&creditCardHolderBirthDate=27/10/1987
&creditCardHolderAreaCode=11
&creditCardHolderPhone=56273440
&billingAddressStreet=Av. Brig. Faria Lima
&billingAddressNumber=1384
&billingAddressComplement=5o andar
&billingAddressDistrict=Jardim Paulistano
&billingAddressPostalCode=01452002
&billingAddressCity=Sao Paulo
&billingAddressState=SP
&billingAddressCountry=BRA
<payment>
    <mode>default</mode>
    <method>creditCard</method>
    <sender>
        <name>Jose Comprador</name>
        <email>comprador@sandbox.pagseguro.com.br</email>
        <phone>
            <areaCode>11</areaCode>
            <number>30380000</number>
        </phone>
        <documents>
            <document>
                <type>CPF</type>
                <value>22111944785</value>
            </document>
        </documents>
        <hash>{{hash_do_comprador}}</hash>
    </sender>
    <currency>BRL</currency>
    <notificationURL>https://sualoja.com.br/notificacao</notificationURL>
    <items>
        <item>
            <id>1</id>Notebook Prata</description>
            <quantity>1</quantity>
            <amount>10300.00</amount>
            <id>2</id>
            <description>Notebook Azul</description>
            <quantity>1</quantity>
            <amount>10000.00</amount>
        </item>
    </items>
<extraAmount>0.00</extraAmount>
    <reference>R123456</reference>
<shippingAddressRequired>true</shippingAddressRequired>
    <shipping>
        <address>
            <street>Av. Brigadeiro Faria Lima</street>
            <number>1384</number>
            <complement>1 andar</complement>
            <district>Jardim Paulistano</district>
            <city>Sao Paulo</city>
            <state>SP</state>
            <country>BRA</country>
            <postalCode>01452002</postalCode>
        </address>
        <type>1</type>
        <cost>1.00</cost>
    </shipping>
    <creditCard>
        <token>{{token_do_cartao}}</token>
       <installment>
             <quantity>2</quantity>
            <value>5.23</value>
        </installment>
        <holder>
            <name>Nome impresso no cartao</name>
            <documents>
                <document>
                    <type>CPF</type>
                    <value>22111944785</value>
                </document>
            </documents>
            <birthDate>20/10/1980</birthDate>
            <phone>
                <areaCode>11</areaCode>
                <number>999991111</number>
            </phone>
        </holder>
        <billingAddress>
            <street>Av. Brigadeiro Faria Lima</street>
            <number>1384</number>
            <complement>1 andar</complement>
            <district>Jardim Paulistano</district>
            <city>Sao Paulo</city>
            <state>SP</state>
            <country>BRA</country>
            <postalCode>01452002</postalCode>
        </billingAddress>
    </creditCard>
</payment>
curl -X POST \
  'https://ws.sandbox.pagseguro.uol.com.br/v2/transactions?email={credenciais}}' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'paymentMode=default&paymentMethod=creditCard&receiverEmail=fsodilao%40gmail.com&currency=BRL&extraAmount=0.00&itemId1=0001&itemDescription1=Notebook%20Prata&itemAmount1=10300.00&itemQuantity1=1&itemId2=0002&itemDescription2=Notebook%20Azul&itemAmount2=10000.00&itemQuantity2=1&notificationURL=https%3A%2F%2Fsualoja.com.br%2Fnotificacao.html&reference=REF1234&senderName=Jose%20Comprador&senderCPF=22111944785&senderAreaCode=11&senderPhone=56273440&senderEmail=comprador%40sandbox.pagseguro.com.br&senderHash={{hash_do_comprador}}&shippingAddressStreet=Av.%20Brig.%20Faria%20Lima&shippingAddressNumber=1384&shippingAddressComplement=5o%20andar&shippingAddressDistrict=Jardim%20Paulistano&shippingAddressPostalCode=01452002&shippingAddressCity=Sao%20Paulo&shippingAddressState=SP&shippingAddressCountry=BRA&shippingType=1&shippingCost=01.00&creditCardToken={{token_do_cartao}}&installmentQuantity=7&installmentValue=3030.94&noInterestInstallmentQuantity=5&creditCardHolderName=Jose%20Comprador&creditCardHolderCPF=22111944785&creditCardHolderBirthDate=27%2F10%2F1987&creditCardHolderAreaCode=11&creditCardHolderPhone=56273440&billingAddressStreet=Av.%20Brig.%20Faria%20Lima&billingAddressNumber=1384&billingAddressComplement=5o%20andar&billingAddressDistrict=Jardim%20Paulistano&billingAddressPostalCode=01452002&billingAddressCity=Sao%20Paulo&billingAddressState=SP&billingAddressCountry=BRA'
A binary file was returned

You couldn't be authenticated

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<transaction>
    <date>2019-01-29T14:37:00.000-02:00</date>
    <code>D58A27DC-E03A-47E5-A20A-63AE1B80C5B6</code>
    <reference>REF1234</reference>
    <type>1</type>
    <status>1</status>
    <lastEventDate>2019-01-29T14:37:00.000-02:00</lastEventDate>
    <paymentMethod>
        <type>1</type>
        <code>101</code>
    </paymentMethod>
    <grossAmount>20301.00</grossAmount>
    <discountAmount>0.00</discountAmount>
    <feeAmount>1774.70</feeAmount>
    <netAmount>18526.30</netAmount>
    <extraAmount>0.00</extraAmount>
    <installmentCount>7</installmentCount>
    <itemCount>2</itemCount>
    <items>
        <item>
            <id>0001</id>
            <description>Notebook Prata</description>
            <quantity>1</quantity>
            <amount>10300.00</amount>
        </item>
        <item>
            <id>0002</id>
            <description>Notebook Azul</description>
            <quantity>1</quantity>
            <amount>10000.00</amount>
        </item>
    </items>
    <sender>
        <name>Jose Comprador</name>
        <email>comprador@sandbox.pagseguro.com.br</email>
        <phone>
            <areaCode>11</areaCode>
            <number>56273440</number>
        </phone>
        <documents>
            <document>
                <type>CPF</type>
                <value>22111944785</value>
            </document>
        </documents>
    </sender>
    <shipping>
        <address>
            <street>Av. Brig. Faria Lima</street>
            <number>1384</number>
            <complement>5o andar</complement>
            <district>Jardim Paulistano</district>
            <city>Sao Paulo</city>
            <state>SP</state>
            <country>BRA</country>
            <postalCode>01452002</postalCode>
        </address>
        <type>1</type>
        <cost>1.00</cost>
    </shipping>
    <gatewaySystem>
        <type>cielo</type>
        <rawCode xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
        <rawMessage xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
        <normalizedCode xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
        <normalizedMessage xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
        <authorizationCode>0</authorizationCode>
        <nsu>0</nsu>
        <tid>0</tid>
        <establishmentCode>1056784170</establishmentCode>
        <acquirerName>CIELO</acquirerName>
    </gatewaySystem>
</transaction>
 
posthttps://ws.pagseguro.uol.com.br/v2/transactions

Query Params

email
string
required

Veja mais sobre as credenciais em Autenticação

token
string
required

Veja mais sobre as credenciais em Autenticação

Body Params

payment
object

Nó principal, onde terá todos os dados de pagamento

mode
string
required

Modo de pagamento.
Formato: aceita a opção 'default'.
x-www-form-urlencoded : paymentMode

method
string
required

Meio de pagamento.
Formato: boleto.
x-www-form-urlencoded : paymentMethod

currency
string
required

Moeda utilizada. Indica a moeda na qual o pagamento será feito. No momento, a única opção disponível é BRL (Real).
x-www-form-urlencoded : currency

sender
object
sender.hash
string
required

Identificador do vendedor (fingerprint) gerado pelo JavaScript do PagSeguro.
Formato: Obtido a partir de uma chamada javascript PagseguroDirectPayment.onSenderHashReady().
x-www-form-urlencoded : senderHash

sender.ip
string

IP do comprador que está realizando o pagamento.
Formato: um IP válido.
x-www-form-urlencoded : senderIp

sender.name
string
required

Nome completo do comprador. Especifica o nome completo do comprador que está realizando o pagamento.
Formato: No mínimo duas sequências de caracteres, com o limite total de 50 caracteres.
x-www-form-urlencoded : senderName

sender.email
string
required

E-mail do comprador. Especifica o e-mail do comprador que está realizando o pagamento.
Formato: Um e-mail válido (p.e., usuario@site.com.br), com no máximo 60 caracteres.
x-www-form-urlencoded : senderEmail

sender.phone
object
sender.phone.areaCode
string
required

DDD do comprador. Especifica o código de área (DDD) do comprador que está realizando o pagamento.
Formato: Um número de 2 dígitos correspondente a um DDD válido.
x-www-form-urlencoded : senderAreaCode

sender.phone.number
string
required

Número do telefone do comprador. Especifica o número do telefone do comprador que está realizando o pagamento.
Formato: Um número de 7 a 9 dígitos.
x-www-form-urlencoded : senderPhone

sender.documents
object
sender.documents.type
string
required

Tipo de documento do comprador. Especifica o tipo do documento é CPF ou CNPJ.
Formato:CPF ou CNPJ
x-www-form-urlencoded : senderCPF e senderCNPJ

sender.documents.value
string
required

Número do CPF ou CNPJ do comprador Especifica o CPF/CNPJ do comprador que está realizando o pagamento.
Formato: Um número de 11 dígitos para CPF ou 14 dígitos para CNPJ.
x-www-form-urlencoded : senderCPF e senderCNPJ

items
object
items.item
object

items.item.description

items.item.id
string
required

Identificadores dos itens. Identificam os itens sendo pagos. Você pode escolher códigos que tenham significado para seu sistema e informá-los nestes parâmetros. O PagSeguro não realiza qualquer validação sobre esses identificadores, mas eles não podem se repetir em um mesmo pagamento.
Formato: Livre, com limite de 100 caracteres.
x-www-form-urlencoded : itemId1, itemId2, etc.

items.item.description
string
required

Descrições dos itens. Descrevem os itens sendo pagos. A descrição é o texto que o PagSeguro mostra associado a cada item quando o comprador está finalizando o pagamento, portanto é importante que ela seja clara e explicativa.
Formato: Livre, com limite de 100 caracteres.
x-www-form-urlencoded : itemDescription1, itemDescription2, etc.

items.item.amount
string
required

Valores unitários dos itens. Representam os preços unitários de cada item sendo pago. Além de poder conter vários itens, o pagamento também pode conter várias unidades do mesmo item. Este parâmetro representa o valor de uma unidade do item, que será multiplicado pela quantidade para obter o valor total dentro do pagamento.
Formato: Decimal, com duas casas decimais separadas por ponto (p.e., 1234.56), maior que 0.00 e menor ou igual a 9999999.00.
x-www-form-urlencoded : itemAmount1, itemAmount2, etc.

items.item.quantity
string
required

Quantidades dos itens. Representam as quantidades de cada item sendo pago. Além de poder conter vários itens, o pagamento também pode conter várias unidades do mesmo item. Este parâmetro representa a quantidade de um item, que será multiplicado pelo valor unitário para obter o valor total dentro do pagamento.
Formato: Um número inteiro maior ou igual a 1 e menor ou igual a 999.
x-www-form-urlencoded : itemQuantity1, itemQuantity2, etc.

shipping
object
shipping.addressRequired
string
required

Obrigatoriedade do endereço de entrega.
Formato:
True: Os parâmetros de shipping.address deverão ser passados
False: os parâmetros de shipping.address não deverão ser passados.
x-www-form-urlencoded : shippingAddressRequired

shipping.address
object
shipping.address.street
string

Nome da rua do endereço de envio. Informa o nome da rua do endereço de envio do produto.
Formato: Livre, com limite de 80 caracteres.
Obrigátorio: Se o shipping.addressRequired estiver como true.
x-www-form-urlencoded : shippingAddressStreet

shipping.address.number
string

Número do endereço de envio. Informa o número do endereço de envio do produto.
Formato: Livre, com limite de 20 caracteres.
Obrigátorio: Se o shipping.addressRequired estiver como true.
x-www-form-urlencoded : shippingAddressNumber

shipping.address.district
string

Bairro do endereço de envio. Informa o bairro do endereço de envio do produto.
Formato: Livre, com limite de 60 caracteres.
Obrigátorio: Se o shipping.addressRequired estiver como true.
x-www-form-urlencoded : shippingAddressDistrict

shipping.address.city
string

Cidade do endereço de envio. Informa a cidade do endereço de envio do produto.
Formato: Livre. Deve ser um nome válido de cidade do Brasil, com no mínimo 2 e no máximo 60 caracteres.
Obrigátorio: Se o shipping.addressRequired estiver como true.
x-www-form-urlencoded : shippingAddressCity

shipping.address.state
string

Estado do endereço de envio. Informa o estado do endereço de envio do produto.
Formato: Duas letras, representando a sigla do estado brasileiro correspondente.
Obrigátorio: Se o shipping.addressRequired estiver como true.
x-www-form-urlencoded : shippingAddressState

shipping.address.country
string

País do endereço de envio. Informa o país do endereço de envio do produto.
Formato: No momento, apenas o valor BRA é permitido.
Obrigátorio: Se o shipping.addressRequired estiver como true.
x-www-form-urlencoded : shippingAddressCountry

shipping.address.postalCode
string

CEP do endereço de envio. Informa o CEP do endereço de envio do produto.
Formato: Um número de 8 dígitos
Obrigátorio: Se o shipping.addressRequired estiver como true.
x-www-form-urlencoded : shippingAddressPostalCode

shipping.address.complement
string

Complemento do endereço de envio. Informa o complemento (bloco, apartamento, etc.) do endereço de envio do produto.
Formato: Livre, com limite de 40 caracteres.
x-www-form-urlencoded : shippingAddressComplement

shipping.type
int32

Tipo de frete. Informa o tipo de frete a ser usado para o envio do produto. Esta informação é usada pelo PagSeguro para calcular, junto aos Correios, o valor do frete a partir do peso dos itens. Os valores aceitos e seus significados são: 1 - Encomenda normal (PAC), 2 - SEDEX, 3 - Tipo de frete não especificado.
Formato: Um número inteiro entre 1 e 3.
x-www-form-urlencoded : shippingType

shipping.cost
string

Valor total do frete. Informa o valor total de frete do pedido. Caso este valor seja especificado, o PagSeguro irá assumi-lo como valor do frete e não fará nenhum cálculo referente aos pesos e valores de entrega dos itens.
Formato: Decimal, com duas casas decimais separadas por ponto (p.e., 1234.56), maior que 0.00 e menor ou igual a 9999999.00.
x-www-form-urlencoded : shippingCost

reference
string

Código de referência. Define um código para fazer referência ao pagamento. Este código fica associado à transação criada pelo pagamento e é útil para vincular as transações do PagSeguro às vendas registradas no seu sistema.
Formato: Livre, com o limite de 200 caracteres.
x-www-form-urlencoded : reference

receiver
object
receiver.email
string

Especifica o e-mail do vendedor que vai receber o pagamento.
Formato: Um e-mail válido, com limite de 60 caracteres. O e-mail informado deve estar vinculado à conta PagSeguro que está realizando a chamada à API.
x-www-form-urlencoded : receiverEmail

extraAmount
string

Valor extra. Especifica um valor extra que deve ser adicionado ou subtraído ao valor total do pagamento. Esse valor pode representar uma taxa extra a ser cobrada no pagamento ou um desconto a ser concedido, caso o valor seja negativo.
Formato: Decimal (positivo ou negativo), com duas casas decimais separadas por ponto (p.e., 1234.56 ou -1234.56), maior ou igual a -9999999.00 e menor ou igual a 9999999.00. Quando negativo, este valor não pode ser maior ou igual à soma dos valores dos produtos.
x-www-form-urlencoded : extraAmount

notificationURL
string

URL para envio de notificações.
Formato: Uma URL válida, com limite de 255 caracteres.
x-www-form-urlencoded : notificationURL

Headers

Content-Type
string

x-www-form-urlencoded:
application/x-www-form-urlencoded; charset=ISO-8859-1
XML:
application/xml; charset=ISO-8859-1

 
paymentMode=default
&paymentMethod=boleto
&currency=BRL
&extraAmount=0.00
&itemId1=0001
&itemDescription1=Notebook Prata
&itemAmount1=24300.00
&itemQuantity1=1
&notificationURL=https://sualoja.com.br/notifica.html
&reference=REF1234
&senderName=Jose Comprador
&senderCPF=72962940005
&senderAreaCode=11
&senderPhone=56273440
&senderEmail=comprador@uol.com.br
&senderHash={{hash_do_comprador}}
&shippingAddressRequired=true
&shippingAddressStreet=Av. Brig. Faria Lima
&shippingAddressNumber=1384
&shippingAddressComplement=5o andar
&shippingAddressDistrict=Jardim Paulistano
&shippingAddressPostalCode=01452002
&shippingAddressCity=Sao Paulo
&shippingAddressState=SP
&shippingAddressCountry=BRA
&shippingType=1
&shippingCost=1.00
<payment>
    <mode>default</mode>
    <method>boleto</method>
    <sender>
        <name>Fulano Silva</name>
        <email>fulano.silva@sandbox.pagseguro.com.br</email>
        <phone>
            <areaCode>11</areaCode>
            <number>30380000</number>
        </phone>
        <documents>
            <document>
                <type>CPF</type>
                <value>72962940005</value>
            </document>
        </documents>
        <hash>{{hash_do_comprador}}</hash>
    </sender>
    <currency>BRL</currency>
    <notificationURL>https://sualoja.com.br/notificacao</notificationURL>
    <items>
        <item>
            <id>1</id>
            <description>Descricao do item a ser vendido</description>
            <quantity>2</quantity>
            <amount>1.00</amount>
        </item>
    </items>
<extraAmount>0.00</extraAmount>
    <reference>R123456</reference>
<shippingAddressRequired>true</shippingAddressRequired>
    <shipping>
        <address>
            <street>Av. Brigadeiro Faria Lima</street>
            <number>1384</number>
            <complement>1 andar</complement>
            <district>Jardim Paulistano</district>
            <city>Sao Paulo</city>
            <state>SP</state>
            <country>BRA</country>
            <postalCode>01452002</postalCode>
        </address>
        <type>3</type>
        <cost>0.00</cost>
    </shipping>
</payment>
curl -X POST \
  'https://ws.pagseguro.uol.com.br/v2/transactions/?email=email@email.com&token=token' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'paymentMethod=boleto&paymentMode=default&currency=BRL&extraAmount=1.00&itemId1=0001&itemDescription1=Notebook%20Prata&itemAmount1=24300.00&itemQuantity1=1&notificationURL=https%3A%2F%2Fsualoja.com.br%2Fnotifica.html&reference=REF1234&senderName=Jose%20Comprador&senderCPF=22111944785&senderAreaCode=11&senderPhone=56273440&senderEmail=comprador%40sandbox.pagseguro.com.br&senderHash=d7987e16cc89269cc2c0fb50288b383fdb5193b9aa94edac54de2cf624e80e88&shippingAddressStreet=Av.%20Brig.%20Faria%20Lima&shippingAddressNumber=1384&shippingAddressComplement=5o%20andar&shippingAddressDistrict=Jardim%20Paulistano&shippingAddressPostalCode=01452002&shippingAddressCity=Sao%20Paulo&shippingAddressState=SP&shippingAddressCountry=BRA&undefined='
A binary file was returned

You couldn't be authenticated

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<transaction>
    <date>2019-01-29T15:01:52.000-02:00</date>
    <code>96B58137-065E-4669-B055-D12B2FB38E34</code>
    <reference>R123456</reference>
    <type>1</type>
    <status>1</status>
    <lastEventDate>2019-01-29T15:01:55.000-02:00</lastEventDate>
    <paymentMethod>
        <type>2</type>
        <code>202</code>
    </paymentMethod>
    <paymentLink>https://sandbox.pagseguro.uol.com.br/checkout/payment/booklet/print.jhtml?c=b7989f954e7253974d2bf0bbe6c80cfb6caa0e146b13d70d90ffbb3243b22302c4600a923e6f02b0</paymentLink>
    <grossAmount>2.00</grossAmount>
    <discountAmount>0.00</discountAmount>
    <feeAmount>0.48</feeAmount>
    <netAmount>1.52</netAmount>
    <extraAmount>0.00</extraAmount>
    <installmentCount>1</installmentCount>
    <itemCount>1</itemCount>
    <items>
        <item>
            <id>1</id>
            <description>Descricao do item a ser vendido</description>
            <quantity>2</quantity>
            <amount>1.00</amount>
        </item>
    </items>
    <sender>
        <name>Fulano Silva</name>
        <email>fulano.silva@sandbox.pagseguro.com.br</email>
        <phone>
            <areaCode>11</areaCode>
            <number>30380000</number>
        </phone>
        <documents>
            <document>
                <type>CPF</type>
                <value>72962940005</value>
            </document>
        </documents>
    </sender>
    <shipping>
        <address>
            <street>Av. Brigadeiro Faria Lima</street>
            <number>1384</number>
            <complement>1 andar</complement>
            <district>Jardim Paulistano</district>
            <city>Sao Paulo</city>
            <state>SP</state>
            <country>BRA</country>
            <postalCode>01452002</postalCode>
        </address>
        <type>3</type>
        <cost>0.00</cost>
    </shipping>
</transaction> 
 
Suggest Edits

Débito Online

 
posthttps://ws.pagseguro.uol.com.br/v2/transactions

Query Params

email
string
required

Veja mais sobre as credenciais em Autenticação

token
string
required

Veja mais sobre as credenciais em Autenticação

Body Params

payment
object

Nó principal, onde terá todos os dados de pagamento

mode
string
required

Modo de pagamento.
Formato: aceita a opção 'eft'.
x-www-form-urlencoded : paymentMode

method
string
required

Meio de pagamento.
Formato: creditCard.
x-www-form-urlencoded : paymentMethod

currency
string
required

Moeda utilizada. Indica a moeda na qual o pagamento será feito. No momento, a única opção disponível é BRL (Real).
x-www-form-urlencoded : currency

sender
object
sender.hash
string
required

Identificador do vendedor (fingerprint) gerado pelo JavaScript do PagSeguro.
Formato: Obtido a partir de uma chamada javascript PagseguroDirectPayment.onSenderHashReady().
x-www-form-urlencoded : senderHash

sender.ip
string

IP do comprador que está realizando o pagamento.
Formato: um IP válido.
x-www-form-urlencoded : senderIp

sender.name
string
required

Nome completo do comprador. Especifica o nome completo do comprador que está realizando o pagamento.
Formato: No mínimo duas sequências de caracteres, com o limite total de 50 caracteres.
x-www-form-urlencoded : senderName

sender.email
string
required

E-mail do comprador. Especifica o e-mail do comprador que está realizando o pagamento.
Formato: Um e-mail válido (p.e., usuario@site.com.br), com no máximo 60 caracteres.
x-www-form-urlencoded : senderEmail

sender.phone
object
sender.phone.areaCode
string
required

DDD do comprador. Especifica o código de área (DDD) do comprador que está realizando o pagamento.
Formato: Um número de 2 dígitos correspondente a um DDD válido.
x-www-form-urlencoded : senderAreaCode

sender.phone.number
string
required

Número do telefone do comprador. Especifica o número do telefone do comprador que está realizando o pagamento.
Formato: Um número de 7 a 9 dígitos.
x-www-form-urlencoded : senderPhone

sender.documents
object
sender.documents.type
string
required

Tipo de documento do comprador. Especifica o tipo do documento é CPF ou CNPJ.
Formato:CPF ou CNPJ
x-www-form-urlencoded : senderCPF e senderCNPJ

sender.documents.value
string
required

Número do CPF ou CNPJ do comprador Especifica o CPF/CNPJ do comprador que está realizando o pagamento.
Formato: Um número de 11 dígitos para CPF ou 14 dígitos para CNPJ.
x-www-form-urlencoded : senderCPF e senderCNPJ

items
object
items.item
object

items.item.description

items.item.id
string
required

Identificadores dos itens. Identificam os itens sendo pagos. Você pode escolher códigos que tenham significado para seu sistema e informá-los nestes parâmetros. O PagSeguro não realiza qualquer validação sobre esses identificadores, mas eles não podem se repetir em um mesmo pagamento.
Formato: Livre, com limite de 100 caracteres.
x-www-form-urlencoded : itemId1, itemId2, etc.

items.item.description
string
required

Descrições dos itens. Descrevem os itens sendo pagos. A descrição é o texto que o PagSeguro mostra associado a cada item quando o comprador está finalizando o pagamento, portanto é importante que ela seja clara e explicativa.
Formato: Livre, com limite de 100 caracteres.
x-www-form-urlencoded : itemDescription1, itemDescription2, etc.

items.item.amount
string
required

Valores unitários dos itens. Representam os preços unitários de cada item sendo pago. Além de poder conter vários itens, o pagamento também pode conter várias unidades do mesmo item. Este parâmetro representa o valor de uma unidade do item, que será multiplicado pela quantidade para obter o valor total dentro do pagamento.
Formato: Decimal, com duas casas decimais separadas por ponto (p.e., 1234.56), maior que 0.00 e menor ou igual a 9999999.00.
x-www-form-urlencoded : itemAmount1, itemAmount2, etc.

items.item.quantity
string
required

Quantidades dos itens. Representam as quantidades de cada item sendo pago. Além de poder conter vários itens, o pagamento também pode conter várias unidades do mesmo item. Este parâmetro representa a quantidade de um item, que será multiplicado pelo valor unitário para obter o valor total dentro do pagamento.
Formato: Um número inteiro maior ou igual a 1 e menor ou igual a 999.
x-www-form-urlencoded : itemQuantity1, itemQuantity2, etc.

bank
object
bank.name
string
required

Nome do banco para qual vai ser gerado o link de redirecionamento.
Formato: aceita os nomes dos bancos retornados pela api de obtenção de meio de pagamentos.
x-www-form-urlencoded : bankName

shipping
object
shipping.addressRequired
string
required

Obrigatoriedade do endereço de entrega.
Formato:
True: Os parâmetros de shipping.address deverão ser passados
False: os parâmetros de shipping.address não deverão ser passados.
x-www-form-urlencoded : shippingAddressRequired

shipping.address
object
shipping.address.street
string

Nome da rua do endereço de envio. Informa o nome da rua do endereço de envio do produto.
Formato: Livre, com limite de 80 caracteres.
Obrigátorio: Se o shipping.addressRequired estiver como true.
x-www-form-urlencoded : shippingAddressStreet

shipping.address.number
string

Número do endereço de envio. Informa o número do endereço de envio do produto.
Formato: Livre, com limite de 20 caracteres.
Obrigátorio: Se o shipping.addressRequired estiver como true.
x-www-form-urlencoded : shippingAddressNumber

shipping.address.district
string

Bairro do endereço de envio. Informa o bairro do endereço de envio do produto.
Formato: Livre, com limite de 60 caracteres.
Obrigátorio: Se o shipping.addressRequired estiver como true.
x-www-form-urlencoded : shippingAddressDistrict

shipping.address.city
string

Cidade do endereço de envio. Informa a cidade do endereço de envio do produto.
Formato: Livre. Deve ser um nome válido de cidade do Brasil, com no mínimo 2 e no máximo 60 caracteres.
Obrigátorio: Se o shipping.addressRequired estiver como true.
x-www-form-urlencoded : shippingAddressCity

shipping.address.state
string

Estado do endereço de envio. Informa o estado do endereço de envio do produto.
Formato: Duas letras, representando a sigla do estado brasileiro correspondente.
Obrigátorio: Se o shipping.addressRequired estiver como true.
x-www-form-urlencoded : shippingAddressState

shipping.address.country
string

País do endereço de envio. Informa o país do endereço de envio do produto.
Formato: No momento, apenas o valor BRA é permitido.
Obrigátorio: Se o shipping.addressRequired estiver como true.
x-www-form-urlencoded : shippingAddressCountry

shipping.address.postalCode
string

CEP do endereço de envio. Informa o CEP do endereço de envio do produto.
Formato: Um número de 8 dígitos
Obrigátorio: Se o shipping.addressRequired estiver como true.
x-www-form-urlencoded : shippingAddressPostalCode

shipping.address.complement
string

Complemento do endereço de envio. Informa o complemento (bloco, apartamento, etc.) do endereço de envio do produto.
Formato: Livre, com limite de 40 caracteres.
x-www-form-urlencoded : shippingAddressComplement

shipping.type
int32

Tipo de frete. Informa o tipo de frete a ser usado para o envio do produto. Esta informação é usada pelo PagSeguro para calcular, junto aos Correios, o valor do frete a partir do peso dos itens. Os valores aceitos e seus significados são: 1 - Encomenda normal (PAC), 2 - SEDEX, 3 - Tipo de frete não especificado.
Formato: Um número inteiro entre 1 e 3.
x-www-form-urlencoded : shippingType

shipping.cost
string

Valor total do frete. Informa o valor total de frete do pedido. Caso este valor seja especificado, o PagSeguro irá assumi-lo como valor do frete e não fará nenhum cálculo referente aos pesos e valores de entrega dos itens.
Formato: Decimal, com duas casas decimais separadas por ponto (p.e., 1234.56), maior que 0.00 e menor ou igual a 9999999.00.
x-www-form-urlencoded : shippingCost

reference
string

Código de referência. Define um código para fazer referência ao pagamento. Este código fica associado à transação criada pelo pagamento e é útil para vincular as transações do PagSeguro às vendas registradas no seu sistema.
Formato: Livre, com o limite de 200 caracteres.
x-www-form-urlencoded : reference

receiver
object
receiver.email
string

Especifica o e-mail do vendedor que vai receber o pagamento.
Formato: Um e-mail válido, com limite de 60 caracteres. O e-mail informado deve estar vinculado à conta PagSeguro que está realizando a chamada à API.
x-www-form-urlencoded : receiverEmail

extraAmount
string

Valor extra. Especifica um valor extra que deve ser adicionado ou subtraído ao valor total do pagamento. Esse valor pode representar uma taxa extra a ser cobrada no pagamento ou um desconto a ser concedido, caso o valor seja negativo.
Formato: Decimal (positivo ou negativo), com duas casas decimais separadas por ponto (p.e., 1234.56 ou -1234.56), maior ou igual a -9999999.00 e menor ou igual a 9999999.00. Quando negativo, este valor não pode ser maior ou igual à soma dos valores dos produtos.
x-www-form-urlencoded : extraAmount

notificationURL
string

URL para envio de notificações.
Formato: Uma URL válida, com limite de 255 caracteres.
x-www-form-urlencoded : notificationURL

Headers

Content-Type
string

x-www-form-urlencoded:
application/x-www-form-urlencoded; charset=ISO-8859-1
XML:
application/xml; charset=ISO-8859-1

 
paymentMode=default
&paymentMethod=eft
&bankName=itau
&currency=BRL
&extraAmount=1.00
&itemId1=0001
&itemDescription1=Notebook Prata
&itemAmount1=24300.00
&itemQuantity1=1
&notificationURL=https=//sualoja.com.br/notifica.html
&reference=REF1234
&senderName=Jose Comprador
&senderCPF=22111944785
&senderAreaCode=11
&senderPhone=56273440
&senderEmail=comprador@sandbox.pagseguro.com.br
&senderHash={{hash_do_comprador}}}
&shippingAddressRequired=true
&shippingAddressStreet=Av. Brig. Faria Lima
&shippingAddressNumber=1384
&shippingAddressComplement=5o andar
&shippingAddressDistrict=Jardim Paulistano
&shippingAddressPostalCode=01452002
&shippingAddressCity=Sao Paulo
&shippingAddressState=SP
&shippingAddressCountry=BRA
&shippingType=1
&shippingCost=1.00
<payment>
    <mode>default</mode>
    <method>eft</method>
    <bank>
    <name>itau</name>
</bank>
    <sender>
        <name>Fulano Silva</name>
        <email>comprador@sandbox.pagseguro.com.br</email>
        <phone>
            <areaCode>11</areaCode>
            <number>30380000</number>
        </phone>
        <documents>
            <document>
                <type>CPF</type>
                <value>11475714734</value>
            </document>
        </documents>
        <hash>{{hash_do_comprador}}</hash>
    </sender>
    <currency>BRL</currency>
    <notificationURL>https://sualoja.com.br/notificacao</notificationURL>
    <items>
        <item>
            <id>1</id>
            <description>Descricao do item a ser vendido</description>
            <quantity>1</quantity>
            <amount>1.00</amount>
        </item>
    </items>
<extraAmount>0.00</extraAmount>
    <reference>R123456</reference>
<shippingAddressRequired>true</shippingAddressRequired>
    <shipping>
        <address>
            <street>Av. Brigadeiro Faria Lima</street>
            <number>1384</number>
            <complement>1 andar</complement>
            <district>Jardim Paulistano</district>
            <city>Sao Paulo</city>
            <state>SP</state>
            <country>BRA</country>
            <postalCode>01452002</postalCode>
        </address>
        <type>3</type>
        <cost>0.00</cost>
    </shipping>
</payment>
curl -X POST \
  'https://ws.pagseguro.uol.com.br/v2/transactions/?email=email@email.com&token=token' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'paymentMode=default&paymentMethod=eft&bankName=itau&currency=BRL&extraAmount=1.00&itemId1=0001&itemDescription1=Notebook%20Prata&itemAmount1=24300.00&itemQuantity1=1&reference=REF1234&senderName=Jose%20Comprador&senderCPF=22111944785&senderAreaCode=11&senderPhone=56273440&senderEmail=comprador%40sandbox.pagseguro.com.br&senderHash=3fe6c8833accab1acb4267d524097f26448710192a6a4e3b206a1e52dcda5362&shippingAddressStreet=Av.%20Brig.%20Faria%20Lima&shippingAddressNumber=1384&shippingAddressComplement=5o%20andar&shippingAddressDistrict=Jardim%20Paulistano&shippingAddressPostalCode=01452002&shippingAddressCity=Sao%20Paulo&shippingAddressState=SP&shippingAddressCountry=BRA&shippingType=1&shippingCost=1.00&undefined='
A binary file was returned

You couldn't be authenticated

<transaction>
    <date>2018-11-13T11:56:32.000-02:00</date>
    <code>92BDD4E2-F571-4B4B-B7C4-5699CF00C1AC</code>
    <reference>REF1234</reference>
    <recoveryCode>7df5a68dd88c50bb869c4db8e73271f82a3f91f79a49407e</recoveryCode>
    <type>1</type>
    <status>1</status>
    <lastEventDate>2018-11-13T11:56:33.000-02:00</lastEventDate>
    <paymentMethod>
        <type>3</type>
        <code>302</code>
    </paymentMethod>
    <paymentLink>https://pagseguro.uol.com.br/checkout/payment/eft/print.jhtml?c=da5005c0aed949871fb25cbfbddb725d9cd951888f3d9a0ae5a11005e2998b99219b32e8f3891c0a</paymentLink>
    <grossAmount>24302.00</grossAmount>
    <discountAmount>0.00</discountAmount>
    <feeAmount>970.05</feeAmount>
    <netAmount>23331.95</netAmount>
    <extraAmount>1.00</extraAmount>
    <installmentCount>1</installmentCount>
    <itemCount>1</itemCount>
    <items>
        <item>
            <id>0001</id>
            <description>Notebook Prata</description>
            <quantity>1</quantity>
            <amount>24300.00</amount>
        </item>
    </items>
    <sender>
        <name>Jose Comprador</name>
        <email>comprador@uol.com.br</email>
        <phone>
            <areaCode>11</areaCode>
            <number>56273440</number>
        </phone>
    </sender>
    <shipping>
        <address>
            <street>Av. Brig. Faria Lima</street>
            <number>1384</number>
            <complement>5o andar</complement>
            <district>Jardim Paulistano</district>
            <city>Sao Paulo</city>
            <state>SP</state>
            <country>BRA</country>
            <postalCode>01452002</postalCode>
        </address>
        <type>1</type>
        <cost>1.00</cost>
    </shipping>
</transaction>
 
Suggest Edits

Cancelar e estornar

 

Nesta seção trata de APIs utilizadas para cancelar e estornar transações.

 
Suggest Edits

Cancelar transação

 
posthttps://ws.pagseguro.uol.com.br/v2/transactions/cancels

Query Params

email
string
required

Veja mais sobre as credenciais em Autenticação

token
string
required

Veja mais sobre as credenciais em Autenticação

Body Params

transactionCode
string
required

Código da transação
Transação deverá estar com os status Aguardando pagamento ou Em análise
Formato: Uma sequência de 36 caracteres, com os hífens, ou 32 caracteres, sem os hífens.

Headers

Content-Type
string

application/x-www-form-urlencoded; charset=ISO-8859-1

 
&transactionCode={{transaction-code}}
curl -X POST \
  'https://ws.pagseguro.uol.com.br/v2/transactions/cancels?email=email@email.com&token=token' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'transactionCode=F01BD7E6-3D09-4550-B904-86B09B477060&undefined='
A binary file was returned

You couldn't be authenticated

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<result>OK</result>
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<errors>
    <error>
        <code>Error Code </code>
        <message>Error Description</message>
    </error>
</errors>
 
Suggest Edits

Estornar transação

 
posthttps://ws.pagseguro.uol.com.br/v2/transactions/refunds

Query Params

email
string
required

Veja mais sobre as credenciais em Autenticação

token
string
required

Veja mais sobre as credenciais em Autenticação

Body Params

transactionCode
string
required

Código da transação
Transação deverá estar com os status Paga, Disponível ou Em disputa.
Formato: Uma sequência de 36 caracteres, com os hífens, ou 32 caracteres, sem os hífens.

refundValue
string

Valor do estorno.
Utilizado no estorno de uma transação, corresponde ao valor a ser devolvido. Se não for informado, o PagSeguro assume que o valor a ser estornado é o valor total da transação.
Formato: Decimal, com duas casas decimais separadas por ponto (p.e., 1234.56), maior que 0.00 e menor ou igual ao valor da transação.

Headers

Content-Type
string

application/x-www-form-urlencoded; charset=ISO-8859-1

 
&transactionCode={{transaction-code}}
&refundValue=100.00
curl -X POST \
  'https://ws.pagseguro.uol.com.br/v2/transactions/refunds?email=email@email.com&token=token' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d transactionCode=BB32071D-6665-43F4-9860-EBDD69562D74
A binary file was returned

You couldn't be authenticated

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<result>OK</result>
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<errors>
  <error>
    <code>Error Code</code>
    <message>Error Description</message>
  </error>
</erros>
 
Suggest Edits

Consultas

 

Nesta seção trata de APIs utilizadas para consultar transações.

 
Suggest Edits

Consulta transações por data ou código de referência

 
gethttps://ws.pagseguro.uol.com.br/v2/transactions

Query Params

email
string
required

Veja mais sobre as credenciais em Autenticação

token
string
required

Veja mais sobre as credenciais em Autenticação

Body Params

reference
string
required

Código de referência da transação. Código informado na criação da transação para fazer referência ao pagamento.
Formato: Livre, com no máximo 200 caracteres.

initialDate
string

Data inicial do intervalo. Especifica a data inicial do intervalo de pesquisa. Somente transações criadas a partir desta data serão retornadas. Esta data não pode ser anterior a 6 meses da data corrente.
Formato:YYYY-MM-DDThh:mm:ss.sTZD, o formato oficial do W3C para datas. Veja mais sobre formatação de datas.
Obrigatório:** Se estiver utilizando o finalDate

finalDate
string

Data final do intervalo. Especifica a data final do intervalo de pesquisa. A diferença entre initialDate e finalDate não pode ser superior a 30 dias.
Formato:YYYY-MM-DDThh:mm:ss.sTZD, o formato oficial do W3C para datas. Veja mais sobre formatação de datas.
Obrigatório:** Se estiver utilizando o initialDate

page
string

Página de resultados a ser retornada. O número de resultados retornado pela consulta por código de referência pode ser grande, portanto é possível fazer a paginação dos resultados. A primeira página retornada é 1 e assim por diante. Este parâmetro especifica qual é a página de resultados a ser retornada.
Formato: Inteiro.

maxPageResults
string

Número máximo de resultados por página. Para limitar o tamanho da resposta de cada chamada à consulta, é possível especificar um número máximo de resultados por página. Este parâmetro permite especificar este limite.
Formato: Inteiro.

 
&initialDate=2011-01-01T00:00
&finalDate=2011-01-28T00:00
&page=1
&maxPageResults=100
curl -X GET \
  'https://ws.pagseguro.uol.com.br/v2/transactions?email=email@email.com&token=token&initialDate=2018-11-07T00:00&finalDate=2018-11-14T00:00&page=1&maxPageResults=10&reference=REF123456' \
A binary file was returned

You couldn't be authenticated

<transactionSearchResult>
    <date>2011-02-16T20:14:35.000-02:00</date>
    <currentPage>1</currentPage>
    <resultsInThisPage>10</resultsInThisPage>
    <totalPages>1</totalPages>
    <transactions>
        <transaction>
            <date>2011-02-05T15:46:12.000-02:00</date>
            <lastEventDate>2011-02-15T17:39:14.000-03:00</lastEventDate>
            <code>9E884542-81B3-4419-9A75-BCC6FB495EF1</code>
            <reference>REF123456</reference>
            <type>1</type>
            <status>3</status>
            <paymentMethod>
                <type>1</type>
            </paymentMethod>
            <grossAmount>49900.00</grossAmount>
            <discountAmount>0.00</discountAmount>
            <feeAmount>0.00</feeAmount>
            <netAmount>49900.00</netAmount>
            <extraAmount>0.00</extraAmount>
        </transaction>
        <transaction>
            <date>2011-02-07T18:57:52.000-02:00</date>
            <lastEventDate>2011-02-14T21:37:24.000-03:00</lastEventDate>
            <code>2FB07A22-68FF-4F83-A356-24153A0C05E1</code>
            <reference>REF123456</reference>
            <type>3</type>
            <status>4</status>
            <paymentMethod>
                <type>3</type>
            </paymentMethod>
            <grossAmount>26900.00</grossAmount>
            <discountAmount>0.00</discountAmount>
            <feeAmount>0.00</feeAmount>
            <netAmount>26900.00</netAmount>
            <extraAmount>0.00</extraAmount>
        </transaction>
    </transactions>
</transactionSearchResult>
 
Suggest Edits

Consulta dos detalhes da transação

 
gethttps://ws.pagseguro.uol.com.br/v3/transactions/transactionCode

Query Params

email
string
required

Veja mais sobre as credenciais em Autenticação

token
string
required

Veja mais sobre as credenciais em Autenticação

Body Params

transactionCode
string
required

Código que identifica a transação. Código da transação que será consultada.
Formato: Uma sequência de 36 caracteres, com os hífens, ou 32 caracteres, sem os hífens.

 
curl -X GET \
  'https://ws.pagseguro.uol.com.br/v3/transactions/2504A4D645CD4EFCA3EA6DE8034FB945?email=email@email.com&token=token' \
A binary file was returned

You couldn't be authenticated

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<transaction>
    <date>2017-12-04T17:19:31.000-02:00</date>
    <code>79E53362-F6B2-4DFF-B3FD-23B4E0C19B35</code>
    <reference>REF1234</reference>
    <type>1</type>
    <status>1</status>
    <lastEventDate>2017-12-04T17:19:32.000-02:00</lastEventDate>
    <paymentMethod>
        <type>2</type>
        <code>202</code>
    </paymentMethod>
    <paymentLink>https://pagseguro.uol.com.br/checkout/payment/booklet/print.jhtml?c=62238ca9db0aa8913528210ce3d7c7d4e72d138f985eb97976d39013d22fed1283fc0072edc1a23c</paymentLink>
    <grossAmount>998.98</grossAmount>
    <discountAmount>0.00</discountAmount>
    <creditorFees>
        <operationalFeeAmount>1.00</operationalFeeAmount>
        <intermediationRateAmount>0.40</intermediationRateAmount>
        <intermediationFeeAmount>39.82</intermediationFeeAmount>
    </creditorFees>
    <netAmount>957.76</netAmount>
    <extraAmount>-0.01</extraAmount>
    <installmentCount>1</installmentCount>
    <itemCount>2</itemCount>
    <items>
        <item>
            <id>0001</id>
            <description>Notebook Prata</description>
            <quantity>1</quantity>
            <amount>998.98</amount>
        </item>
        <item>
            <id>0002</id>
            <description>Notebook Rosa</description>
            <quantity>1</quantity>
            <amount>0.01</amount>
        </item>
    </items>
    <sender>
        <name>Jose Comprador</name>
        <email>jose@dominio.com.br</email>
        <phone>
            <areaCode>11</areaCode>
            <number>56713293</number>
        </phone>
    </sender>
    <primaryReceiver>
        <publicKey>PUB175E07D7FB62462BAE3C9A60EA1B32AE</publicKey>
    </primaryReceiver>
</transaction>
 
Suggest Edits

Consulta uma notificação de transação

 
gethttps://ws.pagseguro.uol.com.br/v3/transactions/notifications/notificationCode

Query Params

email
string
required

Veja mais sobre as credenciais em Autenticação

token
string
required

Veja mais sobre as credenciais em Autenticação

Body Params

notificationCode
string
required

Código identificador da notificação. Informa o código da notificação que você quer consultar. O código deve ser informado no caminho da URL. Você deve usar o código que recebeu pelo parâmetro notificationCode no envio da notificação.
Formato: Uma sequência de 39 caracteres.

 
curl -X GET \
  'https://ws.pagseguro.uol.com.br/v3/transactions/notifications/{{notification_code}}?email=email@email.com&token=token' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
A binary file was returned

You couldn't be authenticated

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>  
<transaction>  
    <date>2011-02-10T16:13:41.000-03:00</date>  
    <code>9E884542-81B3-4419-9A75-BCC6FB495EF1</code>  
    <reference>REF1234</reference>
    <type>1</type>  
    <status>3</status>  
    <paymentMethod>  
        <type>2</type>  
        <code>202</code>  
    </paymentMethod>  
    <grossAmount>300021.45</grossAmount>
    <discountAmount>0.00</discountAmount>
    <creditorFees>
        <intermediationRateAmount>0.40</intermediationRateAmount>
        <intermediationFeeAmount>11970.86</intermediationFeeAmount>
    </creditorFees>
    <netAmount>288050.19</netAmount>
    <extraAmount>0.00</extraAmount>  
    <installmentCount>1</installmentCount>  
    <itemCount>3</itemCount>  
    <items>  
        <item>  
            <id>0001</id>  
            <description>Produto PagSeguroI</description>  
            <quantity>1</quantity>  
            <amount>99999.99</amount>  
        </item>  
        <item>  
            <id>0002</id>  
            <description>Produto PagSeguroII</description>  
            <quantity>2</quantity>  
            <amount>99999.98</amount>  
        </item>  
    </items>  
    <sender>  
        <name>José Comprador</name>  
        <email>comprador@uol.com.br</email>  
        <phone>  
            <areaCode>99</areaCode>  
            <number>99999999</number>  
        </phone>  
    </sender>  
    <shipping>  
        <address>  
            <street>Av. PagSeguro</street>  
            <number>9999</number>  
            <complement>99o andar</complement>  
            <district>Jardim Internet</district>  
            <postalCode>99999999</postalCode>  
            <city>Cidade Exemplo</city>  
            <state>SP</state>  
            <country>ATA</country>  
        </address>  
        <type>1</type>  
        <cost>21.50</cost>  
    </shipping>
</transaction>
 
Suggest Edits

Códigos de erro

 

Caso sua aplicação informe algum dado incorreto ou fora do padrão esperado pela API será retornado uma mensagem de erro: Erros Genéricos.

Além dos erros genéricos cada API tem sua sua tabela de códigos de erros conforme abaixo:

CÓDIGO
DESCRIÇÃO

5003

Falha de comunicação com a instituição financeira {Nome do Banco}.

10000

invalid creditcard brand.

10001

creditcard number with invalid length.

10002

invalid date format.

10003

invalid security field.

10004

cvv is mandatory.

10006

security field with invalid length.

53004

items invalid quantity.

53005

currency is required.

53006

currency invalid value: {0}

53007

reference invalid length: {0}

53008

notificationURL invalid length: {0}

53009

notificationURL invalid value: {0}

53010

sender email is required.

53011

sender email invalid length: {0}

53012

sender email invalid value: {0}

53013

sender name is required.

53014

sender name invalid length: {0}

53015

sender name invalid value: {0}

53017

sender cpf invalid value: {0}

53018

sender area code is required.

53019

sender area code invalid value: {0}

53020

sender phone is required.

53021

sender phone invalid value: {0}

53022

shipping address postal code is required.

53023

shipping address postal code invalid value: {0}

53024

shipping address street is required.

53025

shipping address street invalid length: {0}

53026

shipping address number is required.

53027

shipping address number invalid length: {0}

53028

shipping address complement invalid length: {0}

53029

shipping address district is required.

53030

shipping address district invalid length: {0}

53031

shipping address city is required.

53032

shipping address city invalid length: {0}

53033

shipping address state is required.

53034

shipping address state invalid value: {0}

53035

shipping address country is required.

53036

shipping address country invalid length: {0}

53037

credit card token is required.

53038

installment quantity is required.

53039

installment quantity invalid value: {0}

53040

installment value is required.

53041

installment value invalid value: {0}

53042

credit card holder name is required.

53043

credit card holder name invalid length: {0}

53044

credit card holder name invalid value: {0}

53045

credit card holder cpf is required.

53046

credit card holder cpf invalid value: {0}

53047

credit card holder birthdate is required.

53048

credit card holder birthdate invalid value: {0}

53049

credit card holder area code is required.

53050

credit card holder area code invalid value: {0}

53051

credit card holder phone is required.

53052

credit card holder phone invalid value: {0}

53053

billing address postal code is required.

53054

billing address postal code invalid value: {0}

53055

billing address street is required.

53056

billing address street invalid length: {0}

53057

billing address number is required.

53058

billing address number invalid length: {0}

53059

billing address complement invalid length: {0}

53060

billing address district is required.

53061

billing address district invalid length: {0}

53062

billing address city is required.

53063

billing address city invalid length: {0}

53064

billing address state is required.

53065

billing address state invalid value: {0}

53066

billing address country is required.

53067

billing address country invalid length: {0}

53068

receiver email invalid length: {0}

53069

receiver email invalid value: {0}

53070

item id is required.

53071

item id invalid length: {0}

53072

item description is required.

53073

item description invalid length: {0}

53074

item quantity is required.

53075

item quantity out of range: {0}

53076

item quantity invalid value: {0}

53077

item amount is required.

53078

item amount invalid pattern: {0}. Must fit the patern: \\d+.\\d\{2\}

53079

item amount out of range: {0}

53081

sender is related to receiver.

53084

invalid receiver: {0}, verify receiver's account status and if it is a seller's account.

53085

payment method unavailable.

53086

cart total amount out of range: {0}

53087

invalid credit card data.

53091

sender hash invalid.

53092

credit card brand is not accepted.

53095

shipping type invalid pattern: {0}

53096

shipping cost invalid pattern: {0}

53097

shipping cost out of range: {0}

53098

cart total value is negative: {0}

53099

extra amount invalid pattern: {0}. Must fit the patern: -?\\d+.\\d\{2\}

53101

payment mode invalid value, valid values are default and gateway.

53102

payment method invalid value, valid values are creditCard, boleto e eft.

53104

shipping cost was provided, shipping address must be complete.

53105

sender information was provided, email must be provided too.

53106

credit card holder is incomplete.

53109

shipping address information was provided, sender email must be provided too.

53110

eft bank is required

53111

eft bank is not accepted.

53115

sender born date invalid value: {0}

53117

sender cnpj invalid value: {0}

53122

sender email invalid domain: {0}. You must use an email \@sandbox.pagseguro.com.br

53140

installment quantity out of range: {0}. The value must be greater than zero.

53141

sender is blocked.

53142

credit card token invalid.

 
Suggest Edits

Criação do plano

Permite criar um plano de pagamento recorrente que concentra todas as configurações de pagamento.

 
posthttps://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request

Body Params

redirectURL
string

URL para onde o assinante será redirecionado após a finalização do fluxo de pagamento. Este valor somente será utilizado caso queira utilizar este plano em um Pagamento Recorrente via botão.

reference
string
required

Código/Identificador para fazer referência a assinatura em seu sistema.

preApproval
object

Configurações do plano.

preApproval.name
string
required

Nome/Identificador do plano. Formato: Livre, com limite de 100 caracteres.

preApproval.charge
string
required

Indica o modelo de cobrança do pagamento recorrente. Use AUTO para o modelo pré-pago e MANUAL para o modelo pós-pago.

preApproval.period
string
required

Periodicidade da cobrança.

preApproval.amountPerPayment
double

Valor exato de cada cobrança. Obrigatório para o modelo AUTO. Formato: Decimal, com duas casas decimais separadas por ponto (p.e, 1234.56). Deve ser um valor maior ou igual a 1.00 e menor ou igual a 2000.00.

preApproval.membershipFee
double

Valor da taxa de adesão. Sempre será cobrada juntamente com a primeira parcela do pagamento, independente se o plano é pré-pago ou pós-pago. Formato: Decimal, com duas casas decimais separadas por ponto (p.e, 1234.56), maior ou igual a 0.00 e menor ou igual a 1000000.00.

preApproval.trialPeriodDuration
int32

Período de teste, em dias. A recorrência mantém o status INITIATED durante o período de testes, de modo que a primeira cobrança só ocorrerá após esse período, permitindo que a recorrência mude para ACTIVE. No caso de pagamento pré-pago, a cobrança se dá imediatamente após o fim do período de testes; no caso de pagamento pós-pago, a cobrança ocorre após o período de cobrança somado ao período de testes. Formato: Inteiro, maior ou igual a 1 e menor ou igual a 1000000.

preApproval.expiration
object

Duração de cada recorrência. Obrigatório se initialDate e finalDate forem nulos. Proibido se initialDate ou finalDate não forem nulos.

preApproval.expiration.value
int32
required

Um número inteiro maior ou igual a 1 e menor ou igual a 1000000.

preApproval.expiration.unit
string
required

Combine com value para obter a duração da recorrência, ex: 2 YEARS.

preApproval.details
string

Descrição do plano.

preApproval.maxAmountPerPeriod
double

Valor máximo que pode ser cobrado por mês de vigência da assinatura, independente de sua periodicidade. Proibido se charge for AUTO.

preApproval.maxAmountPerPayment
double

Valor máximo de cada cobrança. Proibido se charge for AUTO.

preApproval.maxTotalAmount
double

Valor máximo que pode ser cobrado durante a vigência da assinatura.

preApproval.maxPaymentsPerPeriod
int32

Número máximo de cobranças que podem ser realizadas por período. Proibido se charge for AUTO.

preApproval.initialDate
date

Início da vigência do plano. As cobranças somente serão iniciadas após esta data. Formato: YYYY-MM-DDThh:mm:ss.sTZD. Valores aceitos: data atual <= preApprovalInitialDate <= data atual + 2 anos. Obrigatório se expiration for nulo, proibido se expiration não for nulo. Proibido se charge for AUTO.

preApproval.finalDate
date

Fim da vigência do plano. As cobranças cessarão após esta data. Formato: YYYY-MM-DDThh:mm:ss.sTZD. Valores aceitos: Se preApprovalInitialDate for informado então preApprovalInitialDate < preApprovalFinalDate <= preApprovalInitialDate + valor definido no perfil, caso contrário, data atual < preApprovalFinalDate <= data atual + valor definido no perfil. Obrigatório se expiration for nulo, proibido se expiration não for nulo.

preApproval.dayOfYear
string

Dia do ano em que a cobrança será realizada. Formato: MM-dd. Obs: Não pode ser utilizado em conjunto com dayOfWeek ou dayOfMonth. Se presente, period deve ser informado como YEARLY. Não pode ser utilizado em conjunto com charge = AUTO.

preApproval.dayOfMonth
int32

Dia do mês em que a cobrança será realizada. Obs: Não pode ser utilizado em conjunto com dayOfWeek ou dayOfYear. Se presente, period deve ser informado como MONTHLY, BIMONTHLY, TRIMONTHLY ou SEMIANNUALLY. Não pode ser utilizado em conjunto charge = AUTO.

preApproval.dayOfWeek
string

Dia da semana em que a cobrança será realizada. Obs: Não pode ser utilizado em conjunto com dayOfMonth ou dayOfYear. Se presente, period deve ser informado como WEEKLY. Não pode ser utilizado em conjunto com charge = AUTO.

preApproval.cancelURL
string

Url para onde o assinante será redirecionado caso este solicite o cancelamento da assinatura no site do PagSeguro (fluxo de retenção).

reviewURL
string

URL para onde o assinante será redirecionado, durante o fluxo de pagamento, caso o mesmo queira alterar/revisar as regras da assinatura. Este valor somente será utilizado caso queira utilizar este plano em um Pagamento Recorrente via botão.

maxUses
int32

Quantidade máxima de consumidores que podem aderir ao plano.

receiver
object

Dados da sua empresa.

receiver.email
string

Especifica o e-mail que deve aparecer na tela de pagamento. Formato: Um e-mail válido, com limite de 60 caracteres. O e-mail informado deve estar vinculado à conta PagSeguro que está realizando a chamada à API.

 
var request = require("request");

var options = { method: 'POST',
  url: 'https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request POST \
  --url https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request
require 'uri'
require 'net/http'

url = URI("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request");

xhr.send(data);
import requests

url = "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request"

response = requests.request("POST", url)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request")
  .post(null)
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request"

	req, _ := http.NewRequest("POST", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

No response examples available
 
Suggest Edits

Adesão ao plano

Permite aderir a um pagamento recorrente (assinar um plano criado).

 
posthttps://ws.sandbox.pagseguro.uol.com.br/pre-approvals

Body Params

plan
string
required

Código do plano ao qual a assinatura será vinculada. Formato: Obtido no método /pre-approvals/request.

reference
string

Código de referência da assinatura no seu sistema. Formato: Livre, com no mínimo 1 e no máximo 200 caracteres.

sender
object

Dados do assinante.

sender.name
string
required

Nome completo do consumidor. Formato: Livre, com no mínimo duas sequências de strings e limite total de 50 caracteres.

sender.email
string
required

E-mail do consumidor. Formato: Um e-mail válido, com limite de 60 caracteres.

sender.ip
string

Endereço de IP de origem do consumidor. Obrigatório se hash for nulo. Formato: 4 números, de 0 a 255, separados por ponto.

sender.hash
string

Identificador (fingerprint) gerado pelo vendedor por meio do JavaScript do PagSeguro. Obrigatório se ip for nulo. Formato: Obtido a partir do método Javascript PagseguroDirectPayment.getSenderHash().

sender.phone
object

Telefone do consumidor.

sender.phone.areaCode
string
required

DDD do comprador. Formato: Um número de 2 dígitos correspondente a um DDD válido.

sender.phone.number
string
required

Número do telefone do comprador. Formato: Um número entre 7 e 9 dígitos.

sender.address
object

Endereço do consumidor.

sender.address.street
string
required

Nome da rua. Formato: Livre, com limite de 80 caracteres.

sender.address.number
string
required

Número. Formato: Livre, com limite de 20 caracteres.

sender.address.complement
string
required

Complemento (bloco, apartamento, etc.). Formato: Livre, com limite de 40 caracteres.

sender.address.district
string
required

Bairro. Formato: Livre, com limite de 60 caracteres.

sender.address.city
string
required

Cidade. Formato: Livre. Deve ser um nome válido de cidade do Brasil, com no mínimo 2 e no máximo 60 caracteres.

sender.address.state
string
required

Estado. Formato: Duas letras, representando a sigla do estado brasileiro correspondente.

sender.address.country
string
required

País.

sender.address.postalCode
string
required

CEP. Formato: Um número de 8 dígitos.

sender.documents
object

Documentos do consumidor.

sender.documents.type
string
required

Tipo de documento do comprador.

sender.documents.value
string
required

CPF do comprador. Formato: Um número de 11 dígitos.

paymentMethod
object

Dados do pagamento.

paymentMethod.type
string
required

Tipo do meio de pagamento utilizado na assinatura.

paymentMethod.creditCard
object

Dados do Cartão.

paymentMethod.creditCard.token
string
required

Token retornado no método Javascript PagSeguroDirectPayment.createCardToken().

paymentMethod.creditCard.holder
object

Dados do portador do cartão.

paymentMethod.creditCard.holder.name
string
required

Nome conforme impresso no cartão de crédito. Formato: No mínimo 1 e no máximo 50 caracteres.

paymentMethod.creditCard.holder.birthDate
string
required

Data de nascimento do dono do cartão de crédito. Formato: dd/MM/yyyy.

paymentMethod.creditCard.holder.documents
object

Documentos do dono do cartão.

paymentMethod.creditCard.holder.phone
object

Telefone do dono do cartão.

paymentMethod.creditCard.holder.billingAddress
object

Endereço de Cobrança.

 
var request = require("request");

var options = { method: 'POST',
  url: 'https://ws.sandbox.pagseguro.uol.com.br/pre-approvals' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request POST \
  --url https://ws.sandbox.pagseguro.uol.com.br/pre-approvals
require 'uri'
require 'net/http'

url = URI("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals");

xhr.send(data);
import requests

url = "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals"

response = requests.request("POST", url)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals")
  .post(null)
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals"

	req, _ := http.NewRequest("POST", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

No response examples available
 
Suggest Edits

Cobrança do plano

Permite efetuar uma cobrança manual.

 
posthttps://ws.sandbox.pagseguro.uol.com.br/pre-approvals/payment

Body Params

preApprovalCode
string
required

Código da recorrência obtido no método /pre-approvals.

reference
string

Código/Identificador para fazer referência à recorrência em seu sistema.

senderHash
string

Identificador (fingerprint) gerado pelo vendedor por meio do JavaScript do PagSeguro. Obrigatório se senderIp for nulo. Formato: Obtido a partir do método Javascript PagseguroDirectPayment.getSenderHash()

senderIp
string

Endereço de IP de origem da assinatura, relacionado ao assinante. Obrigatório se hash for nulo. Formato: 4 números, de 0 a 255, separados por ponto

items
object

Lista de itens contidos na recorrencia.

items.id
string
required

Id do produto objeto da recorrência.

items.description
string
required

Descrição do produto objeto da recorrência.

items.quantity
int32
required

Quantidade do produto.

items.amount
string
required

Valor cobrado. Formato: Decimal, com duas casas decimais separadas por ponto (p.e, 1234.56).

items.weight
double

Peso do produto. Formato: Decimal, com duas casas decimais separadas por ponto (p.e, 1234.56).

items.shippingCost
double

Valor do frete. Formato: Decimal, com duas casas decimais separadas por ponto (p.e, 1234.56).

 
var request = require("request");

var options = { method: 'POST',
  url: 'https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/payment' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request POST \
  --url https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/payment
require 'uri'
require 'net/http'

url = URI("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/payment")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/payment");

xhr.send(data);
import requests

url = "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/payment"

response = requests.request("POST", url)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/payment")
  .post(null)
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/payment",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/payment");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/payment")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/payment"

	req, _ := http.NewRequest("POST", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

No response examples available
 
Suggest Edits

Suspensão e Reativação

Permite alterar o estado de uma recorrencia.

 
puthttps://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/status

Path Params

pre-approval-code
string
required

Body Params

status
string
required

Novo status da assinatura.

 
var request = require("request");

var options = { method: 'PUT',
  url: 'https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/status' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request PUT \
  --url https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/status
require 'uri'
require 'net/http'

url = URI("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/status")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/status");

xhr.send(data);
import requests

url = "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/status"

response = requests.request("PUT", url)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/status")
  .put(null)
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/status",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/status");
var request = new RestRequest(Method.PUT);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/status")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/status"

	req, _ := http.NewRequest("PUT", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

No response examples available
 
Suggest Edits

Cancelamento de adesão

Permite cancelar uma recorrencia.

 
puthttps://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/cancel

Path Params

pre-approval-code
string
required
 
var request = require("request");

var options = { method: 'PUT',
  url: 'https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/cancel' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request PUT \
  --url https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/cancel
require 'uri'
require 'net/http'

url = URI("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/cancel")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/cancel");

xhr.send(data);
import requests

url = "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/cancel"

response = requests.request("PUT", url)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/cancel")
  .put(null)
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/cancel",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/cancel");
var request = new RestRequest(Method.PUT);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/cancel")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/cancel"

	req, _ := http.NewRequest("PUT", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

No response examples available
 
Suggest Edits

Edição de Valor e Planos

Permite alterar o valor de cobrança do plano e das adesoes vigentes do plano.

 
puthttps://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request/preApprovalRequestCode/payment

Path Params

preApprovalRequestCode
string
required

Body Params

amountPerPayment
string
required

Novo valor para cobrança do plano e para as adesões do plano.

updateSubscriptions
boolean
required

Flag para indicar se a alteração de valor deve afetar as adesões vigentes do plano.

 
var request = require("request");

var options = { method: 'PUT',
  url: 'https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request/preApprovalRequestCode/payment' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request PUT \
  --url https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request/preApprovalRequestCode/payment
require 'uri'
require 'net/http'

url = URI("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request/preApprovalRequestCode/payment")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request/preApprovalRequestCode/payment");

xhr.send(data);
import requests

url = "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request/preApprovalRequestCode/payment"

response = requests.request("PUT", url)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request/preApprovalRequestCode/payment")
  .put(null)
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request/preApprovalRequestCode/payment",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request/preApprovalRequestCode/payment");
var request = new RestRequest(Method.PUT);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request/preApprovalRequestCode/payment")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request/preApprovalRequestCode/payment"

	req, _ := http.NewRequest("PUT", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

No response examples available
 
Suggest Edits

Desconto no pagamento

Permite conceder desconto a proxima cobrança.

 
puthttps://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/discount

Path Params

pre-approval-code
string
required

Body Params

type
string
required

Tipo do desconto a ser aplicado

value
string
required

Valor do desconto a ser aplicado, de acordo com o tipo. Formato: Decimal, com duas casas decimais separadas por ponto, maior que 0.00 e deve ser compatível com o valor a ser descontado. Por exemplo: não é possível aplicar um desconto fixo de 11.00 para uma cobrança de 10.00, tal como não é possível informar uma porcentagem acima de 100.00.

 
var request = require("request");

var options = { method: 'PUT',
  url: 'https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/discount' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request PUT \
  --url https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/discount
require 'uri'
require 'net/http'

url = URI("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/discount")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/discount");

xhr.send(data);
import requests

url = "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/discount"

response = requests.request("PUT", url)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/discount")
  .put(null)
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/discount",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/discount");
var request = new RestRequest(Method.PUT);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/discount")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/discount"

	req, _ := http.NewRequest("PUT", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

No response examples available
 
Suggest Edits

Mudança de meio de pagamento

Permite a alteracao do cartao de credito atrelado ao pagamento do plano para as proximas cobrancas.

 
puthttps://ws.sandbox.pagseguro.uol.com.br/pre-approvals/preApprovalCode/payment-method

Path Params

preApprovalCode
string
required

Body Params

type
string
required

Tipo do meio de pagamento utilizado na assinatura.

sender
object
required

Dados do assinante

sender.ip
string

Endereço de IP de origem da assinatura, relacionado ao assinante. Obrigatório se hash for nulo. Formato: 4 números, de 0 a 255, separados por ponto

sender.hash
string

Identificador (fingerprint) gerado pelo vendedor por meio do JavaScript do PagSeguro. Obrigatório se ip for nulo. Formato: Obtido a partir do método Javascript PagseguroDirectPayment.getSenderHash()

creditCard
object

Dados do Cartão

creditCard.token
string
required

Token retornado no método Javascript PagSeguroDirectPayment.createCardToken().

creditCard.holder
object

Dados do portador do cartão.

creditCard.holder.name
string
required

Nome conforme impresso no cartão de crédito. Formato: No mínimo 1 e no máximo 50 caracteres.

creditCard.holder.birthDate
string
required

Data de nascimento do dono do cartão de crédito. Formato: dd/MM/yyyy.

creditCard.holder.documents
object

Documentos do dono do cartão.

creditCard.holder.documents.type
string
required

Tipo de documento do comprador.

creditCard.holder.documents.value
string
required

CPF do comprador. Formato: Um número de 11 dígitos.

creditCard.holder.phone
object

Telefone do dono do cartão.

creditCard.holder.phone.areaCode
string
required

DDD do comprador. Formato: Um número de 2 dígitos correspondente a um DDD válido.

creditCard.holder.phone.number
string
required

Número do telefone do comprador. Formato: Um número entre 7 e 9 dígitos.

creditCard.holder.billingAddress
object

Endereço de Cobrança.

creditCard.holder.billingAddress.street
string
required

Nome da rua. Formato: Livre, com limite de 80 caracteres.

creditCard.holder.billingAddress.number
string
required

Número. Formato: Livre, com limite de 20 caracteres.

creditCard.holder.billingAddress.complement
string
required

Complemento (bloco, apartamento, etc.). Formato: Livre, com limite de 40 caracteres.

creditCard.holder.billingAddress.district
string
required

Bairro. Formato: Livre, com limite de 60 caracteres.

creditCard.holder.billingAddress.city
string
required

Cidade. Formato: Livre. Deve ser um nome válido de cidade do Brasil, com no mínimo 2 e no máximo 60 caracteres.

creditCard.holder.billingAddress.state
string
required

Estado. Formato: Duas letras, representando a sigla do estado brasileiro correspondente.

creditCard.holder.billingAddress.country
string
required

País.

creditCard.holder.billingAddress.postalCode
string
required

CEP. Formato: Um número de 8 dígitos.

 
var request = require("request");

var options = { method: 'PUT',
  url: 'https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/preApprovalCode/payment-method' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request PUT \
  --url https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/preApprovalCode/payment-method
require 'uri'
require 'net/http'

url = URI("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/preApprovalCode/payment-method")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/preApprovalCode/payment-method");

xhr.send(data);
import requests

url = "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/preApprovalCode/payment-method"

response = requests.request("PUT", url)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/preApprovalCode/payment-method")
  .put(null)
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/preApprovalCode/payment-method",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/preApprovalCode/payment-method");
var request = new RestRequest(Method.PUT);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/preApprovalCode/payment-method")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/preApprovalCode/payment-method"

	req, _ := http.NewRequest("PUT", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

No response examples available
 
Suggest Edits

Listar ordens de pagamento

Permite listar as ordens de pagamento de uma assinatura.

 
gethttps://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders

Path Params

pre-approval-code
string
required

Form Data

status
integer

Status em que se encontra a ordem de pagamento.

page
integer

Pagina na qual se quer observar os resultados

maxPageResults
integer

Numero maximo de registros por pagina

 
var request = require("request");

var options = { method: 'GET',
  url: 'https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders
require 'uri'
require 'net/http'

url = URI("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders");

xhr.send(data);
import requests

url = "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders"

response = requests.request("GET", url)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

No response examples available
 
Suggest Edits

Retentativa de pagamento

Permite efetuar a retentativa de cobranca de uma ordem de pagamento nao paga ou nao processada.

 
posthttps://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders/payment-order-code/payment

Path Params

pre-approval-code
string
required
payment-order-code
string
required
 
var request = require("request");

var options = { method: 'POST',
  url: 'https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders/payment-order-code/payment' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request POST \
  --url https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders/payment-order-code/payment
require 'uri'
require 'net/http'

url = URI("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders/payment-order-code/payment")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders/payment-order-code/payment");

xhr.send(data);
import requests

url = "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders/payment-order-code/payment"

response = requests.request("POST", url)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders/payment-order-code/payment")
  .post(null)
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders/payment-order-code/payment",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders/payment-order-code/payment");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders/payment-order-code/payment")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code/payment-orders/payment-order-code/payment"

	req, _ := http.NewRequest("POST", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

No response examples available
 
Suggest Edits

Consultar dados dos planos

Permite consultar os dados de planos.

 
gethttps://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request

Form Data

page
integer

Página na qual se quer observar os resultados

maxPageResults
integer

Número máximo de registros por página

status
string

Status do plano

startCreationDate
string
required

Data inicial do intervalo. Formato: YYYY-MM-DDThh:mm:ss.sTZD, o formato oficial do W3C para datas.

endCreationDate
string
required

Data final do intervalo. Formato: YYYY-MM-DDThh:mm:ss.sTZD, o formato oficial do W3C para datas.

 
var request = require("request");

var options = { method: 'GET',
  url: 'https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request
require 'uri'
require 'net/http'

url = URI("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request");

xhr.send(data);
import requests

url = "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request"

response = requests.request("GET", url)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/request"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

No response examples available
 
Suggest Edits

Consulta por intervalo de datas

Permite consultar os dados de recorencias por intervalo de datas.

 
gethttps://ws.sandbox.pagseguro.uol.com.br/pre-approvals

Form Data

page
integer

Pagina na qual se quer observar os resultados.

maxPageResults
integer

Numero maximo de registros por pagina

initialDate
string
required

Data inicial do intervalo. Formato: YYYY-MM-DDThh:mm:ss.sTZD, o formato oficial do W3C para datas.

finalDate
string
required

Data final do intervalo. Formato: YYYY-MM-DDThh:mm:ss.sTZD, o formato oficial do W3C para datas.

status
string

Status atual da recorrencia.

preApprovalRequest
string

Codigo do plano.

senderEmail
string

E-mail do comprador.

 
var request = require("request");

var options = { method: 'GET',
  url: 'https://ws.sandbox.pagseguro.uol.com.br/pre-approvals' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url https://ws.sandbox.pagseguro.uol.com.br/pre-approvals
require 'uri'
require 'net/http'

url = URI("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals");

xhr.send(data);
import requests

url = "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals"

response = requests.request("GET", url)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated

No response examples available
 
Suggest Edits

Consulta pelo codigo de adesao

Permite consultar os dados de uma recorrencia.

 
gethttps://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code

Path Params

pre-approval-code
string
required
 
var request = require("request");

var options = { method: 'GET',
  url: 'https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
  --url https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code
require 'uri'
require 'net/http'

url = URI("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code");

xhr.send(data);
import requests

url = "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code"

response = requests.request("GET", url)

print(response.text)
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code")
  .get()
  .build();

Response response = client.newCall(request).execute();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var client = new RestClient("https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://ws.sandbox.pagseguro.uol.com.br/pre-approvals/pre-approval-code"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
A binary file was returned

You couldn't be authenticated