SpareSpare Docs
GuidesAPI Reference

Single Instant Payment

Instructions fields for SingleInstantPayment on POST /payment-requests.

SingleInstantPayment creates one debit for a fixed amount. Use it for checkout or invoice collection where the payer authorizes a single transfer.

Shared root fields (type, creditorAccount, redirects, and the rest) live on the Payment Request Deep Dives intro. This page covers SIP instructions only.

When To Use

Use SingleInstantPayment when you collect one fixed amount in a single immediate debit.

Typical products:

  • Checkout and one-off purchases
  • Invoice settlement
  • Any product where the payer authorizes a single transfer and no further debits follow under that consent

For recurring or future series, use a periodic, on-demand, or defined-schedule type instead.

Example use case

A payer checks out an online order for AED 125.50. You create a SingleInstantPayment for that amount. The payer authorizes once at their bank, Spare initiates the debit, and no further payments run under that consent.

Instructions

FieldPresenceDescription
amountRequiredDebit amount object (amount decimal string + currency). Must be greater than zero.
isInternationalPaymentOptionalWhen true, requires currencyRequest.
currencyRequestConditionalRequired when isInternationalPayment is true.

currencyRequest

FieldPresenceDescription
purposeRequiredPayment purpose code for the international transfer. See Payment purpose codes.
currencyOfTransferRequiredISO 4217 currency the funds are transferred in.
priorityOptionalInstruction priority: Normal or Urgent.
chargeBearerOptionalWho bears transfer charges: BorneByCreditor, BorneByDebtor, or Shared.
destinationCountryCodeOptionalISO country code of the payment destination.
exchangeRateInformationOptionalExchange-rate metadata for the transfer.
fxQuoteIdOptionalUUID of the FX quote to apply.

Example Request

Complete body for a domestic SIP. Shared root fields match the intro; instructions carries only amount.

{
  "type": "SingleInstantPayment",
  "creditorType": "MERCHANT",
  "creditorReference": "INV10042",
  "merchantReference": "sip-inv-10042",
  "purpose": "GDDS",
  "creditorAccount": {
    "schemeName": "IBAN",
    "identification": "AE070331234567890123456",
    "name": "Acme Trading LLC"
  },
  "successRedirectUrl": "https://merchant.example/payments/success",
  "failureRedirectUrl": "https://merchant.example/payments/failure",
  "instructions": {
    "amount": { "amount": "125.50", "currency": "AED" }
  }
}

What Fails

Spare rejects the create when:

  • amount is missing, or the nested amount value is zero or negative
  • the nested amount decimal string is not a valid format (two fraction digits)
  • isInternationalPayment is true without currencyRequest, or currencyRequest omits required nested fields (purpose, currencyOfTransfer)

See Error codes for response shapes.

On this page