Desconto por meio de pagamento

Visão Geral

Com este complemento da API de Pagamentos você poderá definir, no momento da chamada para o PagSeguro, qual o percentual de desconto aplicado para os meios de pagamento disponíveis para o seu cliente no checkout.

Atenção: Esta documentação abordará informações e termos da API de Pagamentos do PagSeguro. Caso você ainda não conheça a API de Pagamentos, recomendamos a leitura da nossa documentação no link a seguir: https://pagseguro.uol.com.br/v2/guia-de-integracao/api-de-pagamentos.html.

Integração

Para iniciar uma requisição de pagamento definindo qual o percentual de desconto você precisa fazer uma chamada à API de Pagamentos do PagSeguro informando os dados do pagamento, o percentual de desconto e para quais meios de pagamentos o desconto será aplicado. Esta requisição cria um código identificador e, com este código, você pode direcionar o comprador para o site do PagSeguro onde ele realizará o pagamento.

Dados de configuração de meio de pagamento

Para definir o percentual de desconto para um meio de pagamento você deverá utilizar três parâmetros: grupo de meios de pagamento, chave configuração de desconto e o percentual de desconto. No parâmetro de grupo você deve informar um dos meios de pagamento disponibilizados pelo PagSeguro. Após definir o grupo é necessário definir os a configuração dos campos chave e valor. Estes devem ser definidos com a chave DISCOUNT_PERCENT que define a configuração de desconto e como valor é necessário colocar o percentual desejado com ponto e duas casas decimais depois do ponto. Ex: (Para 25% de desconto repassar 25.00).

Ao chamar a API de Pagamentos, você pode informar os dados do pagamento de duas formas diferentes: ou em parâmetros HTTP ou em formato XML. Veja abaixo como utiliza-las.

Informando os dados em parâmetros HTTP

Veja abaixo um exemplo de como informar a quantidade de parcelas limite para uma transação via parâmetros HTTP (Os dados estão marcados em amarelo):

Observação Para utilizar a Sandbox PagSeguro para realizar a homologação da sua requisição, utilize o endpoint: https://ws.sandbox.pagseguro.uol.com.br/v2/checkout/ ao invés de https://ws.pagseguro.uol.com.br/v2/checkout/

curl https://ws.pagseguro.uol.com.br/v2/checkout/ -d\
"email=suporte@lojamodelo.com.br\
&token=CAD9C79F4141DF222401CF940D6F0682\
&currency=BRL\
&itemId1=0001\
&itemDescription1=Produto PagSeguroI\
&itemAmount1=99999.99\
&itemQuantity1=1\
&itemWeight1=1000\
&reference=REF1234\
&senderName=Jose Comprador\
&senderAreaCode=99\
&senderPhone=99999999\
&senderEmail=comprador@uol.com.br\
&shippingType=1\
&shippingAddressStreet=Av. PagSeguro\
&shippingAddressNumber=9999\
&shippingAddressComplement=99o andar\
&shippingAddressDistrict=Jardim Internet\
&shippingAddressPostalCode=99999999\
&shippingAddressCity=Cidade Exemplo\
&shippingAddressState=SP\
&shippingAddressCountry=ATA\
&paymentMethodGroup1=CREDIT_CARD\
&paymentMethodConfigKey1_1=DISCOUNT_PERCENT\
&paymentMethodConfigValue1_1=50.00\
&paymentMethodGroup2=ONLINE_DEBIT\
&paymentMethodConfigKey2_1=DISCOUNT_PERCENT\
&paymentMethodConfigValue2_1=25.00”

Informando os dados em parâmetros XML

Veja abaixo um exemplo de como informar a quantidade de parcelas limite para uma transação via XML (linhas 35 à 62):

<checkout>
    <currency>BRL</currency>
    <items>
        <item>
            <id>0001</id>
            <description>Produto PagSeguroI</description>
            <amount>99999.99</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>99</areaCode>
            <number>99999999</number>
        </phone>
    </sender>
    <shipping>
        <type>1</type>
        <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>
    </shipping>
    <paymentMethodConfigs>
        <paymentMethodConfig>
            <paymentMethod>
                <group>CREDIT_CARD</group>
                <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>

Informando os dados utilizando a biblioteca

O Pagseguro possui bibliotecas que facilitam a integração e a utilização das funcionalidades que o oferecemos na forma de APIs.

Se você já possui uma integração utilizando a nossa biblioteca, você pode utilizar o método addParameter para adicionar as informações sobre o limite de parcelamento. Veja abaixo um exemplo (Os dados estão marcados em amarelo):

$paymentRequest = new PagSeguroPaymentRequest();
[. . .]
$paymentRequest->addParameter('paymentMethodGroup1', 'CREDIT_CARD');
$paymentRequest->addParameter('paymentMethodConfigKey1_1', DISCOUNT_PERCENT);
$paymentRequest->addParameter(‘paymentMethodConfigValue1_1’, '50.00');