Este recurso permite a criação de uma transação de pagamento indicando um repasse dos juros das parcelas (total ou parcial) ao pagador.
O diagrama a seguir apresenta o fluxo completo de consulta dos planos de parcelamento disponíveis, seguido de uma cobrança. Na primeira parte do fluxo, acontece a consulta dos planos de parcelamento, identificada pelo número (1). Note que este passo acontece antes do fluxo transacional.
Na sequência, caso o comprador prossiga com a transação, poderá ser criada uma transação com o repasse de juros ao comprador, indicado com o número (2).
1 - Primeiro passo: Consulta dos juros de parcelamento de uma transação
Neste primeiro momento, o integrador deverá consultar quais as condições de parcelamento estão disponíveis ao seu comprador. Para realizar este fluxo, os seguintes parâmetros poderão ser utilizados:
payment_methods
- Meios de pagamento dos quais o integrador gostaria de recuperar taxas para repassevalue
- Valor original da transaçãomax_installments
- Quantidade máxima de parcelas permitidas, independe do repassemax_installments_no_interest
- Quantidade de parcelas assumidas pelo vendedorcredit_card_bin
- BIN do cartão
No exemplo a seguir, é realizada uma consulta dos planos de parcelamento para uma compra com a bandeira MasterCard, no valor de R$100,00 que pode ser parcelada em até 10 vezes, sendo que o vendedor assumiria os juros de parcelamento de até 4 parcelas. Ou seja, caso o comprado deseje parcelar em até 4x, a transação seria parcelada sem juros, caso contrário, o mesmo arcaria com os encargos das parcelas.
curl --location --request GET 'https://sandbox.api.pagseguro.com/charges/fees/calculate?payment_methods=CREDIT_CARD&value=10000&max_installments=10&max_installments_no_interest=4&credit_card_bin=552100' \
--header 'Authorization: {{token}}' \
--header 'Content-Type: application/json'
{
"payment_methods": {
"credit_card": {
"mastercard": {
"installment_plans": [
{
"installments": 1,
"installment_value": 10000,
"interest_free": true,
"amount": {
"value": 10000,
"currency": "BRL"
}
},
{
"installments": 2,
"installment_value": 5000,
"interest_free": true,
"amount": {
"value": 10000,
"currency": "BRL"
}
},
{
"installments": 3,
"installment_value": 3333,
"interest_free": true,
"amount": {
"value": 10000,
"currency": "BRL"
}
},
{
"installments": 4,
"installment_value": 2500,
"interest_free": true,
"amount": {
"value": 10000,
"currency": "BRL"
}
},
{
"installments": 5,
"installment_value": 2070,
"interest_free": false,
"amount": {
"value": 10349,
"fees": {
"buyer": {
"interest": {
"total": 349,
"installments": 1
}
}
},
"currency": "BRL"
}
},
{
"installments": 6,
"installment_value": 1754,
"interest_free": false,
"amount": {
"value": 10526,
"fees": {
"buyer": {
"interest": {
"total": 526,
"installments": 2
}
}
},
"currency": "BRL"
}
},
{
"installments": 7,
"installment_value": 1529,
"interest_free": false,
"amount": {
"value": 10706,
"fees": {
"buyer": {
"interest": {
"total": 706,
"installments": 3
}
}
},
"currency": "BRL"
}
},
{
"installments": 8,
"installment_value": 1361,
"interest_free": false,
"amount": {
"value": 10887,
"fees": {
"buyer": {
"interest": {
"total": 887,
"installments": 4
}
}
},
"currency": "BRL"
}
},
{
"installments": 9,
"installment_value": 1230,
"interest_free": false,
"amount": {
"value": 11071,
"fees": {
"buyer": {
"interest": {
"total": 1071,
"installments": 5
}
}
},
"currency": "BRL"
}
},
{
"installments": 10,
"installment_value": 1126,
"interest_free": false,
"amount": {
"value": 11256,
"fees": {
"buyer": {
"interest": {
"total": 1256,
"installments": 6
}
}
},
"currency": "BRL"
}
}
]
}
}
}
}
Ambiente de Teste (Sandbox)
Os planos de parcelamento retornados no ambiente sandbox são completamente fictícios, ou seja, não há nenhuma relação com as taxas cadastradas pelo cliente.
Valor Mínimo da Parcela
O valor de uma parcela da transação deve ser de, pelo menos, 5 reais.
2- Segundo passo: Transação com repasse de juros ao comprador
Após o retorno dos planos de parcelamento, o integrador pode seguir com a transação, indicando um repasse dos juros de parcelamento ao comprador. Para isso, basta utilizar o parâmetro "fees" para indicar que deseja efetuar a cobrança da transação cobrando os juros do comprador. A seguir, os parâmetros são apresentados:
total
- Total de juros de parcelamento cobrados ao compradorinstallments
- Quantidade de parcelas que o comprador vai assumir
Dando sequência ao exemplo anterior, supondo que o pagador selecione a opção de um pagamento em 8x. Neste caso, o comprador pagaria um valor de juros referente à 4 parcelas (visto que o vendedor se comprometeu a assumir as outras 4), portanto o parâmetro installments
deve estar om o valor 4, enquanto o parâmetro total
deve ser conter o valor R$8,87, pois representa o valor total de juros que o comprador pagará nesta transação.
curl --location --request POST 'https://sandbox.api.pagseguro.com/orders' \
--header 'Authorization: Bearer TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"reference_id": "ex-00001",
"customer": {
"name": "Jose da Silva",
"email": "[email protected]",
"tax_id": "12345678909",
"phones": [
{
"country": "55",
"area": "11",
"number": "999999999",
"type": "MOBILE"
}
]
},
"items": [
{
"reference_id": "referencia do item",
"name": "nome do item",
"quantity": 1,
"unit_amount": 500
}
],
"qr_code": {
"amount": {
"value": 500
}
},
"shipping": {
"address": {
"street": "Avenida Brigadeiro Faria Lima",
"number": "1384",
"complement": "apto 12",
"locality": "Pinheiros",
"city": "São Paulo",
"region_code": "SP",
"country": "BRA",
"postal_code": "01452002"
}
},
"notification_urls": [
"http://api.webhookinbox.com/i/7LMOcndm/in/"
],
"charges": [
{
"reference_id": "referencia do pagamento",
"description": "descricao do pagamento",
"amount": {
"value": 10887,
"fees": {
"buyer": {
"interest": {
"total": 887,
"installments": 4
}
}
},
"currency": "BRL"
},
"payment_method": {
"type": "CREDIT_CARD",
"installments": 8,
"capture": false,
"card": {
"number": "4111111111111111",
"exp_month": "03",
"exp_year": "2026",
"security_code": "123",
"holder": {
"name": "Jose da Silva"
},
"store": false
}
},
"notification_urls": [
"https://meusite.com/notificacoes"
]
}
]
}
{
"id": "ORDE_C9963EA6-C91E-452D-8620-CA885BA22366",
"reference_id": "ex-00001",
"created_at": "2022-12-23T15:07:06.767-03:00",
"customer": {
"name": "Jose da Silva",
"email": "[email protected]",
"tax_id": "12345678909",
"phones": [
{
"type": "MOBILE",
"country": "55",
"area": "11",
"number": "999999999"
}
]
},
"items": [
{
"reference_id": "referencia do item",
"name": "nome do item",
"quantity": 1,
"unit_amount": 500
}
],
"shipping": {
"address": {
"street": "Avenida Brigadeiro Faria Lima",
"number": "1384",
"complement": "apto 12",
"locality": "Pinheiros",
"city": "São Paulo",
"region_code": "SP",
"country": "BRA",
"postal_code": "01452002"
}
},
"charges": [
{
"id": "CHAR_86CB86A1-B990-435D-9B47-8DBFAD1B9999",
"reference_id": "referencia do pagamento",
"status": "AUTHORIZED",
"created_at": "2022-12-23T15:07:07.068-03:00",
"description": "descricao do pagamento",
"amount": {
"value": 10887,
"currency": "BRL",
"fees": {
"buyer": {
"interest": {
"total": 887,
"installments": 4
}
}
},
"summary": {
"total": 10887,
"paid": 0,
"refunded": 0
}
},
"payment_response": {
"code": "20000",
"message": "SUCESSO",
"reference": "032416400102"
},
"payment_method": {
"type": "CREDIT_CARD",
"installments": 8,
"capture": false,
"capture_before": "2022-12-28T15:07:10-03:00",
"card": {
"brand": "visa",
"first_digits": "411111",
"last_digits": "1111",
"exp_month": "3",
"exp_year": "2026",
"holder": {
"name": "Jose da Silva"
},
"store": false
},
"soft_descriptor": "MichelFariaSuziga"
},
"links": [
{
"rel": "SELF",
"href": "https://sandbox.api.pagseguro.com/charges/CHAR_86CB86A1-B990-435D-9B47-8DBFAD1B9999",
"media": "application/json",
"type": "GET"
},
{
"rel": "CHARGE.CANCEL",
"href": "https://sandbox.api.pagseguro.com/charges/CHAR_86CB86A1-B990-435D-9B47-8DBFAD1B9999/cancel",
"media": "application/json",
"type": "POST"
},
{
"rel": "CHARGE.CAPTURE",
"href": "https://sandbox.api.pagseguro.com/charges/CHAR_86CB86A1-B990-435D-9B47-8DBFAD1B9999/capture",
"media": "application/json",
"type": "POST"
}
]
}
],
"notification_urls": [
"https://meusite.com/notificacoes"
],
"links": [
{
"rel": "SELF",
"href": "https://sandbox.api.pagseguro.com/orders/ORDE_C9963EA6-C91E-452D-8620-CA885BA22366",
"media": "application/json",
"type": "GET"
},
{
"rel": "PAY",
"href": "https://sandbox.api.pagseguro.com/orders/ORDE_C9963EA6-C91E-452D-8620-CA885BA22366/pay",
"media": "application/json",
"type": "POST"
}
]
}{
"reference_id": "ex-00001",
"customer": {
"name": "Jose da Silva",
"email": "[email protected]",
"tax_id": "12345678909",
"phones": [
{
"country": "55",
"area": "11",
"number": "999999999",
"type": "MOBILE"
}
]
},
"items": [
{
"reference_id": "referencia do item",
"name": "nome do item",
"quantity": 1,
"unit_amount": 500
}
],
"qr_code": {
"amount": {
"value": 500
}
},
"shipping": {
"address": {
"street": "Avenida Brigadeiro Faria Lima",
"number": "1384",
"complement": "apto 12",
"locality": "Pinheiros",
"city": "São Paulo",
"region_code": "SP",
"country": "BRA",
"postal_code": "01452002"
}
},
"notification_urls": [
"http://api.webhookinbox.com/i/7LMOcndm/in/"
],
"charges": [
{
"reference_id": "referencia do pagamento",
"description": "descricao do pagamento",
"amount": {
"value": 10887,
"fees": {
"buyer": {
"interest": {
"total": 887,
"installments": 4
}
}
},
"currency": "BRL"
},
"payment_method": {
"type": "CREDIT_CARD",
"installments": 8,
"capture": false,
"card": {
"number": "4111111111111111",
"exp_month": "03",
"exp_year": "2026",
"security_code": "123",
"holder": {
"name": "Jose da Silva"
},
"store": false
}
},
"notification_urls": [
"https://meusite.com/notificacoes"
]
}
]
}