Contract and Loan

Contract

A Contract represents the credit facility agreement between your lending institution and an account.

FieldTypeDescription
idstringUnique contract identifier.
statusstringactive — contract is open and loans can be disbursed. completed — all loans are fully repaid and no further disbursements are allowed.
currencystringCurrency of the contract (e.g., PHP).
loan_typestringrevolving — repaid principal is returned to the available credit pool. term — single disbursement for the full approved amount.
approved_amountintegerTotal credit limit approved under this contract, in the smallest currency unit (e.g., centavos for PHP).
remaining_amountintegerCredit still available for disbursement. For revolving contracts, this increases as the merchant repays.
interest_feeintegerInterest charged on each loan disbursement, expressed in the unit indicated by interest_fee_type.
interest_fee_typestringUnit for interest_fee. bps means basis points (100 bps = 1%).
repayment_rateintegerDaily repayment rate applied to the merchant's settled sales, expressed in the unit indicated by repayment_rate_type.
repayment_rate_typestringUnit for repayment_rate. bps means basis points.
termintegerDuration of the contract expressed in term_type units.
term_typestringUnit for term. E.g., month.
created_atstringISO 8601 timestamp of when the contract was created.
loansarrayLoans disbursed under this contract. See Loan fields below.

Loans

Each object in the loans represents a single disbursement under the contract.

FieldTypeDescription
idstringUnique loan identifier.
statusstringCurrent loan status (e.g., active, repaid).
purposestringMerchant-provided reason for the loan.
principal_amountintegerOriginal disbursed amount in the smallest currency unit.
outstanding_principal_amountintegerRemaining principal balance not yet collected.
outstanding_interest_amountintegerRemaining interest not yet collected.
outstanding_dst_amountintegerRemaining Documentary Stamp Tax (DST) not yet collected.
created_atstringISO 8601 timestamp of when the loan was disbursed.

View Contracts and Loans via Lender Dashboard

  1. Open Contracts tab on Lender Dashboard.
  2. Click View button on selected contract.

View Contracts and Loans via API

curl https://api.paymongo.com/v1/capitals/lenders/contracts

Returns all contracts for the authenticated lender, including each contract's associated loans.

Query parameters

ParameterTypeDescription
afterstringCursor for forward pagination.
limitintegerNumber of contracts to return per page. Min: 1, max: 50, default: 10.
statusstringFilter by contract status. Accepted values: active, completed.

Example: filter for active contracts

curl "https://api.paymongo.com/v1/capitals/lenders/contracts?status=active&limit=20"

Example response

{
  "data": [
    {
      "id": "contract_123",
      "status": "active",
      "currency": "PHP",
      "loan_type": "revolving",
      "approved_amount": 1000000,
      "remaining_amount": 400000,
      "interest_fee": 250,
      "interest_fee_type": "bps",
      "repayment_rate": 1250,
      "repayment_rate_type": "bps",
      "term": 12,
      "term_type": "month",
      "loans": [
        {
          "id": "loan_123",
          "status": "active",
          "purpose": "Expand business inventory",
          "principal_amount": 300000,
          "outstanding_principal_amount": 300000,
          "outstanding_interest_amount": 15000,
          "outstanding_dst_amount": 500,
          "created_at": "2024-01-01T00:00:00Z"
        }
      ]
    }
  ]
}

Pagination

The contracts list uses cursor-based pagination. To retrieve subsequent pages, pass the next value from metadata in the current response as the after parameter.

# First page
curl "https://api.paymongo.com/v1/capitals/lenders/contracts?limit=10"

# Next page — pass the "next" from metadata of the previous response
curl "https://api.paymongo.com/v1/capitals/lenders/contracts?limit=10&after=aGFpCg"

Tracking outstanding balances

The total amount still owed on a loan is the sum of its three outstanding components:

total_outstanding = outstanding_principal_amount
                  + outstanding_interest_amount
                  + outstanding_dst_amount

When all three reach zero, the loan transitions to repaid. When all loans under a contract are repaid and no further disbursements are made, the contract transitions to completed.