Files
sendico/interface/api/payments/request/payment.yaml
2026-03-02 23:48:59 +01:00

136 lines
4.3 KiB
YAML

components:
schemas:
PaymentBase:
description: Base fields shared by payment initiation request payloads.
type: object
additionalProperties: false
required:
- idempotencyKey
properties:
idempotencyKey:
description: Client-supplied key used to safely deduplicate requests.
type: string
metadata:
description: Optional request metadata forwarded through payment processing.
type: object
additionalProperties:
type: string
QuotePaymentRequest:
description: Request payload to quote a single payment intent.
type: object
additionalProperties: false
required:
- intent
properties:
idempotencyKey:
description: Idempotency key used when persisting quote context.
type: string
metadata:
description: Optional metadata associated with the quote request.
type: object
additionalProperties:
type: string
intent:
description: Payment intent to be priced.
$ref: ../../../models/payment/payment.yaml#/components/schemas/PaymentIntent
previewOnly:
description: If true, returns a preview quote without requiring idempotency.
type: boolean
allOf:
- if:
properties:
previewOnly:
const: true
required:
- previewOnly
then:
not:
required:
- idempotencyKey
else:
required:
- idempotencyKey
QuotePaymentsRequest:
description: Request payload to quote multiple payment intents in a single call.
type: object
additionalProperties: false
required:
- intents
properties:
idempotencyKey:
description: Idempotency key used when persisting batch quote context.
type: string
metadata:
description: Optional metadata associated with the quote request.
type: object
additionalProperties:
type: string
intents:
description: List of payment intents to be priced.
type: array
minItems: 1
items:
$ref: ../../../models/payment/payment.yaml#/components/schemas/PaymentIntent
previewOnly:
description: If true, returns preview quotes without requiring idempotency.
type: boolean
allOf:
- if:
properties:
previewOnly:
const: true
required:
- previewOnly
then:
not:
required:
- idempotencyKey
else:
required:
- idempotencyKey
InitiatePaymentRequest:
description: Request payload to initiate a single payment.
allOf:
- $ref: ./payment.yaml#/components/schemas/PaymentBase
- type: object
additionalProperties: false
oneOf:
- required: [intent]
- required: [quoteRef]
properties:
intent:
description: Payment intent to execute directly.
$ref: ../../../models/payment/payment.yaml#/components/schemas/PaymentIntent
quoteRef:
description: Reference to a previously generated quote to execute.
type: string
InitiatePaymentsRequest:
description: Request payload to initiate multiple payments from a multi-quote reference.
allOf:
- $ref: ./payment.yaml#/components/schemas/PaymentBase
- type: object
additionalProperties: false
required:
- quoteRef
properties:
quoteRef:
description: Reference to a previously generated multi-quote.
type: string
InitiatePaymentByQuoteRequest:
description: Request payload to initiate one payment from an existing quote reference.
allOf:
- $ref: ./payment.yaml#/components/schemas/PaymentBase
- type: object
additionalProperties: false
required:
- quoteRef
properties:
quoteRef:
description: Reference to a previously generated quote to execute.
type: string