sábado, 16 de agosto de 2014

Desconto por meio de pagamento no PagSeguro

A maneira mais comum de um vendedor oferecer desconto no PagSeguro é através da criação de uma promoção. A promoção é configurada no menu "Preferências -> Parcelamento", e nada mais é que o vendedor assumir algumas parcelas para o comprador ter opção de pagar com parcelamento sem juros (por exemplo, o vendedor assume 5 parcelas, oferecendo assim 5 parcelas sem juros para seus compradores). Na criação da promoção, o vendedor pode optar por oferecer desconto para os pagamentos realizados com meios de pagamentos diferente de cartão de crédito (boleto, débito online, etc). Esse desconto é calculado pelo PagSeguro com base em um fator informado na criação da promoção.

Mas hoje é muito comum o vendedor querer dar desconto por meio de pagamento. Quem nunca viu uma loja oferecer 15% de desconto no pagamento de boleto?. Como fazer também se o vendedor quiser anunciar um produto com desconto, ele teria que passar o valor do carrinho já com desconto para o PagSeguro. Mas não seria muito melhor passar o valor original e deixar que checkout mostrar o valor do desconto?
Existe uma forma de fazer isso em integrações criadas através da API de checkout. Nessa API o vendedor pode configurar parâmetros para os meios de pagamentos, e um desses parâmetros é o percentual de desconto:

XML:


    
      
        credit_card
      
      
        
          discount_percent
          5.00
        
      
    
  

Parâmetros HTTP:
paymentMethodGroup1=credit_card
paymentMethodConfigKey1_1=discount_percent
paymentMethodConfigValue1_1=5.00

Ambas integrações configuram 5% de desconto para meio de pagamento cartão de crédito. É possível passar configurações de desconto diferentes para mais meios de pagamento e o valor de desconto é calculado sobre o valor dos itens de carrinho, excluindo assim o valor do frete.

Vamos ver então como ficaria uma chamada completa da API para um checkout que ofereça 5% de desconto no pagamento de cartão de crédito e 10% de desconto no pagamento de boleto:

XML:
  
    BRL  
      
        
        0001  
        Teste  
        100.00  
        1  
        
      
    
      
        
          boleto
        
        
          
            discount_percent
            10.00
          
        
      
      
        
          credit_card
        
        
          
            discount_percent
            5.00
          
        
      
    
    

Ou, se não estiver usando XML:

curl https://ws.pagseguro.uol.com.br/v2/checkout/ -d\
  "email=EMAIL\
  &token=TOKEN\
  &currency=BRL\ 
  &itemId1=0001\
  &itemDescription1=Teste\
  &itemAmount1=100.00\
  &itemQuantity1=1\
  &paymentMethodGroup1=boleto
  &paymentMethodConfigKey1_1=discount_percent
  &paymentMethodConfigValue1_1=10.00
  &paymentMethodGroup2=credit_card
  &paymentMethodConfigKey2_1=discount_percent
  &paymentMethodConfigValue2_1=5.00"


As opções de meios de pagamentos que podem ser passadas são:
  • Cartão de crédito: credit_card
  • Boleto: boleto
  • Débito online: online_debit
  • Depósito: deposit
  • Saldo PagSeguro: balance