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
| Field | Presence | Description |
|---|---|---|
amount | Required | Debit amount object (amount decimal string + currency). Must be greater than zero. |
isInternationalPayment | Optional | When true, requires currencyRequest. |
currencyRequest | Conditional | Required when isInternationalPayment is true. |
currencyRequest
| Field | Presence | Description |
|---|---|---|
purpose | Required | Payment purpose code for the international transfer. See Payment purpose codes. |
currencyOfTransfer | Required | ISO 4217 currency the funds are transferred in. |
priority | Optional | Instruction priority: Normal or Urgent. |
chargeBearer | Optional | Who bears transfer charges: BorneByCreditor, BorneByDebtor, or Shared. |
destinationCountryCode | Optional | ISO country code of the payment destination. |
exchangeRateInformation | Optional | Exchange-rate metadata for the transfer. |
fxQuoteId | Optional | UUID 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:
amountis missing, or the nestedamountvalue is zero or negative- the nested
amountdecimal string is not a valid format (two fraction digits) isInternationalPaymentistruewithoutcurrencyRequest, orcurrencyRequestomits required nested fields (purpose,currencyOfTransfer)
See Error codes for response shapes.