SpareSpare Docs
GuidesAPI Reference

Payment Type Guides

Choose and implement the right payment flow for your product.

Spare supports multiple payment types under one consent and payment-request model. Each type maps to a different commercial pattern; this hub links to the right integration path.

Country matters

Not every type is available in every region. Check Coverage and use the country selector before building.

Quick picker

Payment typeUse whenGuide
SingleInstantPaymentOne-off checkout or invoiceSingle instant
FixedPeriodicSchedule / VariablePeriodicScheduleSubscriptions, rent, installmentsRecurring & scheduled
FixedOnDemand / VariableOnDemandPre-auth + charge later (utilities, top-ups)On-demand
FixedDefinedSchedule / VariableDefinedScheduleKnown future dates (loan schedule)Defined schedule

Shared building blocks

Every payment type uses the same primitives:

  1. Payment request, declares type, beneficiary, and instructions
  2. Consent, payer authorizes at their bank (direct API or Spare Link)
  3. Execution, Spare submits debits per the schedule or on demand
  4. Mandate, created for any non-SIP type to track recurring or future debits

Read Payment flow and Mandates before starting a type-specific guide.

End-to-end flow

Every type follows the same five steps; only the payment request body differs.

StepActionEndpoint
1Create the payment request (type + instructions)POST /payment-requests β†’ 201
2Create a consent, get the authorization URLPOST /consent/payment/create?id={internalReference} β†’ 201
3Payer authorizes at their bankBank redirect
4Exchange the bank's code for a payment recordPOST /payment-actions/write-callback?code={code}&state={state} β†’ 201
5Read the payment statusGET /payments/{paymentId} β†’ 200

Write-callback is required

The payment record doesn't exist until step 4. GET /payments/{paymentId} returns 404 until the write-callback runs. POST /payment-requests also needs an x-signature, see Request Signing.

On this page