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