Payment links#

The simplest flow: charge an amount, no deposit, no guarantee. Use it for one-off invoices, utility bills or ad-hoc charges.

Create one#

curl -X POST https://manage.casapay.com/api/v1/gateway/sessions \
  -H 'Authorization: Bearer sk_live_...' \
  -H 'Content-Type: application/json' \
  -d '{
    "tenant": { "email": "tenant@example.com", "first_name": "Mari", "last_name": "Tamm" },
    "agreement_type": "payment_link",
    "first_payment_amount": 120.50,
    "first_payment_description": "Water bill, March",
    "currency": "EUR",
    "success_url": "https://your-app.com/done",
    "cancel_url": "https://your-app.com/cancelled"
  }'

Send the tenant the returned gateway_url.

What is different#

Payment linkGuarantee types
cover_amountNot allowedRequired
deposit_modeNot usedRequired when cover is above 0
Deposit choice stepNever shownShown when mode is choice
PayoutOn settlementDue date, or +30 days for cover
CasaPay riskNoneCasaPay pays you even if the tenant does not

cover_amount is rejected on payment links

Sending a non-zero cover_amount with agreement_type: payment_link returns 422. Payment links carry no guarantee by definition.

Payment method fees#

If your entity has per-method fees configured, a CasaPay transaction fee is added on top as its own invoice line when the tenant pays by card or bank. The fee for each method is returned with the available payment methods, so the checkout shows the surcharge before the tenant commits.

An operator take rate, if configured, is deducted from your payout instead and billed back on your operator billing period. See Amounts and pricing.