Processo de compra com a Pagaleve
O cliente realiza o pedido em um e-commerce parceiro e seleciona a Pagaleve como forma de pagamento, nesse momento o parceiro cria um checkout (pedido) no nosso sistema
Neste momento o status do checkout é PENDENTE e após efetuar o pagamento da primeira parcela o status do pedido é alterado para AUTORIZADO. Nesse momento o comerciante realiza a captura do pagamento e é neste momento que a transação na conta do comerciante é criada.
Nós cobramos a taxa de serviço em percentual "merchant_service_fee" (Ex: 10, que será computado como 10%) e o "merchant_transaction_fee" em centavos (Ex: 80) sobre o valor total da compra.
Transações
As transações podem ser de dois tipos e o campo "transaction_type" será TRANSACTION (uma venda realizada) ou REFUND_TRANSACTION (um reembolso).
Cada nova transação é computada no campo "transactions" seja ela uma TRANSACTION, REFUND_TRANSACTION.
Os campos com final "fee_amount" contém o acumulado das taxas cobradas.
Cancelamento
Uma operação de cancelamento é o mesmo que uma operação de reembolso. O reembolso pode ser realizado de forma parcial ou total. Neste caso, será criada uma transação do tipo REFUND_TRANSACTION com o valor total do pedido.
No reembolso, nós estornamos a taxa de serviço proporcional ao reembolso mas não estornamos a taxa de transação.
Exemplo:
Para um pedido de R$100 com taxa de serviço de 10% e taxa de transação de R$0,80, o varejista irá receber R$89,20.
Se for solicitado o reembolso total do pedido, iremos devolver a taxa de serviço mas não a taxa de transação. Então a conta deve ficará com -R$0,80. E esse valor não é cobrado no ato, mas será debitado na conta do em uma nova operação de venda.
Liquidações
Disponibilizamos 2 API's:
- Obter o resumo do dia
- Listar todas as transações realizadas neste dia.
Obter o resumo do dia (Settlement)
Cada settlement (resumo do dia) contém informações agregadas de todas as transações processadas no período 00:00:00:000 até 23:59:59:999 do campo "day" que representa esse settlement.
Valores acumulados
Como apenas realizamos transferências em dias úteis, os valores de sexta-feira não são pagos no sábado e sim na segunda-feira. Então acumula-se os valores de sexta-feira, sabádo e domingo. Dentro do objeto Settlement da nossa API de "Resumo do dia" há um campo chamado accumulatedSummary, com os valores acumulados desses dias. Em um dia útil comum em que a transferência foi criada no sistema para o dia anterior, esse campo contém os mesmos valores do dia em questão, ou seja, acumulou apenas os valores do dia atual.
Valores da última liquidação
No objeto de liquidação retornado haverá um campo last_day_summary. Este contém um resumo dos valores acumulados do dia anterior e se estes já foram devidamente transferidos.
Transferências
O pagamento das operações ocorre todo D+1 Util, logo é criada uma transferência, campo transfer no settlement do dia útil anterior. Exemplo, os settlements de sexta e sábado não conterão o campo "transfer" preenchido, mas o de domingo com o acumulado desses dias sim, pois a transferência será realizada na segunda-feira. O objeto "transfer" conterá um campo "timestamp" que é a data de criação, nesse exemplo, segunda-feira… mas o dia a que essa transferência se refere estará no campo "settlement_date". Apenas uma dupla checagem de informações, por mais que a transferência esteja aninhada no objeto do settlement.
As operações de depósito e transferências são realizadas pelo nosso departamento financeiro após a conferência de todos os valores. Após as transferências o financeiro chama uma API interna que define o campo "transferred_date" no objeto de transferência, especificando o momento exato em que todas as transferências já caíram na conta do cliente.