Repayment

How repayment collection works

Once a loan is active, PayMongo collects repayments through one automated and two manual repayment mechanisms:

Sales repayment (daily sweep). At each settlement cycle, PayMongo calculates a repayment from the merchant's settled transactions:

  1. Sum the merchant's settled amount for the cycle across all payment methods (card, QR Ph, e-wallet, online banking, etc.). Only settled proceeds count — in-flight authorisations and pending clearing do not.
  2. Compute the collection: repayment_amount = daily_settled × repayment_rate (capped at outstanding balance).
  3. Debit repayment_amount from the merchant's PayMongo wallet.
  4. Apply the collected amount against the outstanding balance in priority order: principal first, then interest, then DST (Documentary Stamp Tax). Each is tracked separately as outstanding_principal_amount, outstanding_interest_amount, and outstanding_dst_amount on the loan object.
  5. When all three outstanding amounts reach zero, the loan transitions to repaid.

Manual repayment. Merchants can initiate a repayment via Dashboard → Capital → Active loan → Make a payment. This creates a checkout session; on payment completion, the loan balance is reduced.

Direct lender repayment. Lenders can record a direct off-platform payment received from the merchant then record the payment on PayMongo:

curl https://api.paymongo.com/v1/capitals/lenders/repayments -H "Content-Type: application/json" -d \
'{  
  "loan_id": "loan_01HX...",  
  "amount": 5000000,  
  "currency": "PHP",  
  "reference_id": "BankRef-20260420-001"  
}'

Key property: repayments are capped at the outstanding balance. The final collection is almost always smaller than daily_settled × repayment_rate.

Overpayments

PayMongo caps every repayment at the exact outstanding balance. Any amount received above the outstanding balance is not applied to the loan and is refunded to the merchant's PayMongo wallet.

Applied amount = min(payment_received, outstanding_balance)
Overpayment    = payment_received − applied_amount

Overpayments can occur when:

  • A merchant sends a rounded amount that slightly exceeds what is due
  • A manual payment and a daily sweep are processed in the same cycle
  • Timing differences cause a payment to post before the balance is fully updated

Example — term loan fully paid with small excess

Outstanding balance       PHP 10,000.00
Payment received          PHP 10,003.25
Applied amount            PHP 10,000.00
Overpayment               PHP     3.25
New outstanding balance   PHP     0.00
Refunded to wallet        PHP     3.25

The loan is marked repaid and the PHP 3.25 excess is returned to the merchant's PayMongo wallet.

Days with no sales

If the merchant has zero settled transactions on a given day, no automated repayment occurs. No event is fired. The loan simply takes longer to close. This is the core risk-sharing property of revenue-based financing: slow days cost the merchant nothing extra.

Prepayment and payoff

A merchant can pay off the remaining balance at any time with no prepayment penalty. Merchants initiate a manual repayment from Dashboard → Capital → Active loan → Make a payment. PayMongo creates a checkout session; on payment completion, the outstanding balance is reduced. When all outstanding amounts reach zero, the loan transitions to repaid.