Solvimon payments API

The payments API from Solvimon — 8 operation(s) for payments.

OpenAPI Specification

solvimon-payments-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Configuration alertRules payments API
  version: 1.0.0
servers:
- url: https://test.api.solvimon.com
  description: The TEST environment for our API
- url: https://api.solvimon.com
  description: The live environment for our API
tags:
- name: payments
paths:
  /v{version}/payments:
    get:
      operationId: getPayments
      summary: Get a list of payments
      description: Requires the PAYMENT.VIEW permission.
      tags:
      - payments
      parameters:
      - name: version
        in: path
        description: version
        required: true
        schema:
          type: string
          default: '1'
      - name: customer_id
        in: query
        description: Filter based of customer ID
        required: false
        schema:
          type: string
      - name: invoice_id
        in: query
        description: Filter based of invoice ID
        required: false
        schema:
          type: string
      - name: external_reference
        in: query
        description: Filter based on external reference
        required: false
        schema:
          type: string
      - name: expand[]
        in: query
        description: The id fields of the resources that are going to be expanded.
        required: false
        schema:
          type: array
          items:
            type: string
      - name: limit
        in: query
        description: The amount of records shown in the list
        required: false
        schema:
          type: integer
      - name: page
        in: query
        description: The page which is going to be shown
        required: false
        schema:
          type: integer
      - name: order_by
        in: query
        description: The parameter by which the response is ordered.
        required: false
        schema:
          type: string
      - name: order_direction
        in: query
        description: The order direction by which the response is ordered.
        required: false
        schema:
          type: string
      - name: X-API-KEY
        in: header
        required: true
        schema:
          type: string
      - name: x-platform-id
        in: header
        description: Platform ID.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponseWrapper'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    post:
      operationId: postPayments
      summary: Create a payment
      description: Requires the PAYMENT.CREATE permission.
      tags:
      - payments
      parameters:
      - name: version
        in: path
        description: version
        required: true
        schema:
          type: string
          default: '1'
      - name: X-API-KEY
        in: header
        required: true
        schema:
          type: string
      - name: x-platform-id
        in: header
        description: Platform ID.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentCreateRequest'
  /v{version}/payments/{resourceId}:
    get:
      operationId: getPaymentsByResourceId
      summary: Get a payment by ID
      description: Requires the PAYMENT.VIEW permission.
      tags:
      - payments
      parameters:
      - name: version
        in: path
        description: version
        required: true
        schema:
          type: string
          default: '1'
      - name: resourceId
        in: path
        description: The ID of the resource to be requested.
        required: true
        schema:
          type: string
          default: ''
      - name: expand[]
        in: query
        description: The id fields of the resources that are going to be expanded.
        required: false
        schema:
          type: array
          items:
            type: string
      - name: X-API-KEY
        in: header
        required: true
        schema:
          type: string
      - name: x-platform-id
        in: header
        description: Platform ID.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /v{version}/payments/{resourceId}/refund:
    post:
      operationId: postPaymentsByResourceIdRefund
      summary: Refund a payment
      description: Requires the PAYMENT.REFUND permission.
      tags:
      - payments
      parameters:
      - name: version
        in: path
        description: version
        required: true
        schema:
          type: string
          default: '1'
      - name: resourceId
        in: path
        description: The ID of the resource for which the action is posted.
        required: true
        schema:
          type: string
          default: ''
      - name: X-API-KEY
        in: header
        required: true
        schema:
          type: string
      - name: x-platform-id
        in: header
        description: Platform ID.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentModificationResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RefundPaymentRequestCreateRequest'
  /v{version}/payments/{resourceId}/reverse:
    post:
      operationId: postPaymentsByResourceIdReverse
      summary: Reverse a payment
      description: Requires the PAYMENT.REVERSE permission.
      tags:
      - payments
      parameters:
      - name: version
        in: path
        description: version
        required: true
        schema:
          type: string
          default: '1'
      - name: resourceId
        in: path
        description: The ID of the resource for which the action is posted.
        required: true
        schema:
          type: string
          default: ''
      - name: X-API-KEY
        in: header
        required: true
        schema:
          type: string
      - name: x-platform-id
        in: header
        description: Platform ID.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentModificationResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /v{version}/payments/authorize:
    post:
      operationId: postPaymentsAuthorize
      summary: Authorize a payment
      description: Requires the PAYMENT.AUTHORIZE permission.
      tags:
      - payments
      parameters:
      - name: version
        in: path
        description: version
        required: true
        schema:
          type: string
          default: '1'
      - name: X-API-KEY
        in: header
        required: true
        schema:
          type: string
      - name: x-platform-id
        in: header
        description: Platform ID.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentMethodPaymentResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthorizePaymentRequestCreateRequest'
  /v{version}/payments/verify-details:
    post:
      operationId: postPaymentsVerifyDetails
      summary: Verify payment details
      description: Requires the PAYMENT.AUTHORIZE permission.
      tags:
      - payments
      parameters:
      - name: version
        in: path
        description: version
        required: true
        schema:
          type: string
          default: '1'
      - name: X-API-KEY
        in: header
        required: true
        schema:
          type: string
      - name: x-platform-id
        in: header
        description: Platform ID.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentVerifyDetailResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentVerifyDetailCreateRequest'
  /v{version}/payment-requests:
    get:
      operationId: getPaymentRequests
      summary: Get Payment Requests
      description: Requires the PAYMENT_REQUEST.VIEW permission.
      tags:
      - payments
      parameters:
      - name: version
        in: path
        description: version
        required: true
        schema:
          type: string
          default: '1'
      - name: customer_id
        in: query
        description: Filter based of customer ID
        required: false
        schema:
          type: string
      - name: payment_schedule_id
        in: query
        description: Filter based of payment schedule ID
        required: false
        schema:
          type: string
      - name: statuses[]
        in: query
        description: Filter payment requests based on status(es)
        required: false
        schema:
          type: array
          items:
            type: string
      - name: expand[]
        in: query
        description: The id fields of the resources that are going to be expanded.
        required: false
        schema:
          type: array
          items:
            type: string
      - name: limit
        in: query
        description: The amount of records shown in the list
        required: false
        schema:
          type: integer
      - name: page
        in: query
        description: The page which is going to be shown
        required: false
        schema:
          type: integer
      - name: order_by
        in: query
        description: The parameter by which the response is ordered.
        required: false
        schema:
          type: string
      - name: order_direction
        in: query
        description: The order direction by which the response is ordered.
        required: false
        schema:
          type: string
      - name: X-API-KEY
        in: header
        required: true
        schema:
          type: string
      - name: x-platform-id
        in: header
        description: Platform ID.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentRequestResponseWrapper'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /v{version}/payment-requests/{resourceId}:
    get:
      operationId: getPaymentRequestsByResourceId
      summary: Get a Payment Request by ID
      description: Requires the PAYMENT_REQUEST.VIEW permission.
      tags:
      - payments
      parameters:
      - name: version
        in: path
        description: version
        required: true
        schema:
          type: string
          default: '1'
      - name: resourceId
        in: path
        description: The ID of the resource to be requested.
        required: true
        schema:
          type: string
          default: ''
      - name: expand[]
        in: query
        description: The id fields of the resources that are going to be expanded.
        required: false
        schema:
          type: array
          items:
            type: string
      - name: X-API-KEY
        in: header
        required: true
        schema:
          type: string
      - name: x-platform-id
        in: header
        description: Platform ID.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentRequest'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  schemas:
    PaymentModificationResponse:
      type: object
      properties:
        payment:
          $ref: '#/components/schemas/Payment'
        status:
          $ref: '#/components/schemas/PaymentModificationResponseStatus'
      title: PaymentModificationResponse
    TaxIdValidationValid:
      type: string
      enum:
      - VALID
      - NOT_VALID
      - UNKNOWN
      title: TaxIdValidationValid
    PaymentMethodDetailsOnlineBankingCountry:
      type: string
      enum:
      - AD
      - AE
      - AF
      - AG
      - AI
      - AL
      - AM
      - AO
      - AQ
      - AR
      - AS
      - AT
      - AU
      - AW
      - AX
      - AZ
      - BA
      - BB
      - BD
      - BE
      - BF
      - BG
      - BH
      - BI
      - BJ
      - BL
      - BM
      - BN
      - BO
      - BQ
      - BR
      - BS
      - BT
      - BV
      - BW
      - BY
      - BZ
      - CA
      - CC
      - CD
      - CF
      - CG
      - CH
      - CI
      - CK
      - CL
      - CM
      - CN
      - CO
      - CR
      - CU
      - CV
      - CW
      - CX
      - CY
      - CZ
      - DE
      - DJ
      - DK
      - DM
      - DO
      - DZ
      - EC
      - EE
      - EG
      - EH
      - ER
      - ES
      - ET
      - FI
      - FJ
      - FK
      - FM
      - FO
      - FR
      - GA
      - GB
      - GD
      - GE
      - GF
      - GG
      - GH
      - GI
      - GL
      - GM
      - GN
      - GP
      - GQ
      - GR
      - GS
      - GT
      - GU
      - GW
      - GY
      - HK
      - HM
      - HN
      - HR
      - HT
      - HU
      - ID
      - IE
      - IL
      - IM
      - IN
      - IO
      - IQ
      - IR
      - IS
      - IT
      - JE
      - JM
      - JO
      - JP
      - KE
      - KG
      - KH
      - KI
      - KM
      - KN
      - KP
      - KR
      - KW
      - KY
      - KZ
      - LA
      - LB
      - LC
      - LI
      - LK
      - LR
      - LS
      - LT
      - LU
      - LV
      - LY
      - MA
      - MC
      - MD
      - ME
      - MF
      - MG
      - MH
      - MK
      - ML
      - MM
      - MN
      - MO
      - MP
      - MQ
      - MR
      - MS
      - MT
      - MU
      - MV
      - MW
      - MX
      - MY
      - MZ
      - NA
      - NC
      - NE
      - NF
      - NG
      - NI
      - NL
      - 'NO'
      - NP
      - NR
      - NU
      - NZ
      - OM
      - PA
      - PE
      - PF
      - PG
      - PH
      - PK
      - PL
      - PM
      - PN
      - PR
      - PS
      - PT
      - PW
      - PY
      - QA
      - RE
      - RO
      - RS
      - RU
      - RW
      - SA
      - SB
      - SC
      - SD
      - SE
      - SG
      - SH
      - SI
      - SJ
      - SK
      - SL
      - SM
      - SN
      - SO
      - SR
      - SS
      - ST
      - SV
      - SX
      - SY
      - SZ
      - TC
      - TD
      - TF
      - TG
      - TH
      - TJ
      - TK
      - TL
      - TM
      - TN
      - TO
      - TR
      - TT
      - TV
      - TW
      - TZ
      - UA
      - UG
      - US
      - UY
      - UZ
      - VA
      - VC
      - VE
      - VG
      - VI
      - VN
      - VU
      - WF
      - WS
      - YE
      - YT
      - ZA
      - ZM
      - ZW
      title: PaymentMethodDetailsOnlineBankingCountry
    TaxIdValidation:
      type: object
      properties:
        id:
          type: string
        validation_date:
          type: string
        source:
          type: string
        valid:
          $ref: '#/components/schemas/TaxIdValidationValid'
        message:
          type:
          - string
          - 'null'
      title: TaxIdValidation
    ChargeOnDemandPaymentContext:
      type: object
      properties:
        pricing_plan_schedule_id:
          type: string
          description: Resource ID of type PRICING_PLAN_SCHEDULE
        pricing_items:
          type: array
          items:
            $ref: '#/components/schemas/ChargeOnDemandPaymentContextPricingItem'
        start_at:
          type:
          - string
          - 'null'
          format: date-time
      title: ChargeOnDemandPaymentContext
    PaymentMethodDetails:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/PaymentMethodDetailsType'
        card:
          $ref: '#/components/schemas/PaymentMethodDetailsCard'
        online_banking:
          $ref: '#/components/schemas/PaymentMethodDetailsOnlineBanking'
        buy_now_pay_later:
          $ref: '#/components/schemas/PaymentMethodDetailsBuyNowPayLater'
        direct_debit:
          $ref: '#/components/schemas/PaymentMethodDetailsDirectDebit'
        digital_wallet:
          $ref: '#/components/schemas/PaymentMethodDetailsDigitalWallet'
        unknown:
          $ref: '#/components/schemas/PaymentMethodDetailsUnknown'
      title: PaymentMethodDetails
    CreatePaymentMethodPaymentContext:
      type: object
      properties:
        payment_method_id:
          type: string
          description: Resource ID of type PAYMENT_METHOD
      title: CreatePaymentMethodPaymentContext
    PaymentMethodStatus:
      type: string
      enum:
      - SETUP
      - ACTIVE
      - INACTIVE
      - ARCHIVED
      title: PaymentMethodStatus
    PaymentMethodPaymentResponseStatus:
      type: string
      enum:
      - SUCCESS
      - ACTION_REQUIRED
      - FAILURE
      title: PaymentMethodPaymentResponseStatus
    LinkedIntegration:
      type: object
      properties:
        id:
          type: string
        link_details:
          type: array
          items:
            $ref: '#/components/schemas/LinkDetail'
      title: LinkedIntegration
    IntegrationDetails:
      type: object
      properties:
        id:
          type:
          - string
          - 'null'
        reference:
          type:
          - string
          - 'null'
        payment_gateway_variant:
          $ref: '#/components/schemas/IntegrationDetailsPaymentGatewayVariant'
        adyen:
          $ref: '#/components/schemas/AdyenIntegrationDetails'
        stripe:
          $ref: '#/components/schemas/StripeIntegrationDetails'
      title: IntegrationDetails
    PaymentResultDetails:
      type: object
      properties:
        code:
          type:
          - string
          - 'null'
        reason:
          type:
          - string
          - 'null'
        external_code:
          type:
          - string
          - 'null'
        external_reason:
          type:
          - string
          - 'null'
      title: PaymentResultDetails
    NextAction:
      type: object
      properties:
        type:
          type: string
        redirect_to_url:
          $ref: '#/components/schemas/NextActionRedirectToUrl'
      title: NextAction
    PaymentMethodDetailsCard:
      type: object
      properties:
        brand:
          type:
          - string
          - 'null'
        name:
          type:
          - string
          - 'null'
        expiry_date:
          $ref: '#/components/schemas/ExpiryDate'
        last_four_digits:
          type:
          - string
          - 'null'
        country:
          type:
          - string
          - 'null'
      title: PaymentMethodDetailsCard
    PaymentDunningActionDetailsCreateRequest:
      type: object
      properties:
        attempt:
          type:
          - integer
          - 'null'
        external_reference:
          type:
          - string
          - 'null'
        next_attempt_scheduled:
          type:
          - boolean
          - 'null'
      title: PaymentDunningActionDetailsCreateRequest
    PaymentCreateRequestResult:
      type: string
      enum:
      - AUTHORIZED
      - CANCELLED
      - CHARGED_BACK
      - ERROR
      - PENDING
      - REFUSED
      - REFUNDED
      title: PaymentCreateRequestResult
    PricingPlanSubscriptionSelectorRuleType:
      type: string
      enum:
      - EQUALS
      - NOT_EQUALS
      - IN
      - NOT_IN
      - GREATER_THAN
      - GREATER_THAN_OR_EQUALS
      - LESS_THAN
      - LESS_THAN_OR_EQUALS
      - EMPTY
      - NOT_EMPTY
      - CONTAINS
      - NOT_CONTAINS
      title: PricingPlanSubscriptionSelectorRuleType
    PricingPlanSubscriptionSelectorDataField:
      type: string
      enum:
      - BILLING_ENTITY_REGISTERED_ADDRESS_COUNTRY
      - PRICING_PLAN_REFERENCE
      title: PricingPlanSubscriptionSelectorDataField
    PaymentMethodDirectDebit:
      type: object
      properties:
        variant:
          type:
          - string
          - 'null'
        owner_name:
          type:
          - string
          - 'null'
        iban:
          type:
          - string
          - 'null'
        bic:
          type:
          - string
          - 'null'
        country:
          oneOf:
          - $ref: '#/components/schemas/PaymentMethodDirectDebitCountry'
          - type: 'null'
      title: PaymentMethodDirectDebit
    PaymentRequestResponseWrapper:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PaymentRequest'
        page:
          type:
          - integer
          - 'null'
        limit:
          type:
          - integer
          - 'null'
        total_number_of_pages:
          type:
          - integer
          - 'null'
        links:
          $ref: '#/components/schemas/PaginationLinks'
      required:
      - data
      title: PaymentRequestResponseWrapper
    TaxRegistration:
      type: object
      properties:
        id:
          type:
          - string
          - 'null'
          description: The id of this tax registration
        description:
          type:
          - string
          - 'null'
          description: The description of this tax registration
        tax_id:
          type:
          - string
          - 'null'
          description: The tax id of this tax registration, e.g. a TIN, VAT id or other tax number
        tax_ids:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/TaxId'
          description: Tax IDs used for tax purposes of the tax registration, e.g. TINs, VAT ids, or other tax number
        registration_number:
          type:
          - string
          - 'null'
          description: The registration number of this tax registration, e.g. a company registration number
        registered_address:
          $ref: '#/components/schemas/Address'
          description: The address of this tax registration, if different from the billing entity. Currently, only the address will be used for tax calculations
      title: TaxRegistration
    PricingPlanSubscriptionSelector:
      type: object
      properties:
        data:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/PricingPlanSubscriptionSelectorData'
        rules:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/PricingPlanSubscriptionSelectorRule'
        filters:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/PricingPlanSubscriptionSelectorFilter'
        fallback:
          oneOf:
          - $ref: '#/components/schemas/PricingPlanSubscriptionSelectorFallback'
          - type: 'null'
          description: The fallback logic what to do when no subscription is found. By default it is LATEST
      title: PricingPlanSubscriptionSelector
    PricingPlanSubscriptionSelectorFilterField:
      type: string
      enum:
      - BILLING_ENTITY_REGISTERED_ADDRESS_COUNTRY
      - PRICING_PLAN_REFERENCE
      title: PricingPlanSubscriptionSelectorFilterField
    PaymentContextCreateRequestType:
      type: string
      enum:
      - INVOICE
      - PAY_INVOICE
      - CREATE_PAYMENT_METHOD
      - INIT_PRICING_PLAN_SUBSCRIPTION
      - PAYMENT_REQUEST
      - CHARGE_ON_DEMAND
      - DIRECT
      title: PaymentContextCreateRequestType
    ApiErrorType:
      type: string
      enum:
      - API_ERROR
      - INVALID_REQUEST
      title: ApiErrorType
    ApiError:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/ApiErrorType'
        code:
          $ref: '#/components/schemas/ApiErrorCode'
        field:
          type:
          - string
          - 'null'
        message:
          type: string
        resource_id:
          type:
          - string
          - 'null'
        resource_type:
          oneOf:
          - $ref: '#/components/schemas/ApiErrorResourceType'
          - type: 'null'
      required:
      - type
      - code
      - message
      title: ApiError
    PaymentMethodPaymentResponse:
      type: object
      properties:
        payment_method:
          $ref: '#/components/schemas/PaymentMethod'
        payment:
          $ref: '#/components/schemas/Payment'
        status:
          $ref: '#/components/schemas/PaymentMethodPaymentResponseStatus'
        action:
          $ref: '#/components/schemas/RequiredAction'
      title: PaymentMethodPaymentResponse
    PricingPlanSubscriptionSelectorRule:
      type: object
      properties:
        field:
          $ref: '#/components/schemas/PricingPlanSubscriptionSelectorRuleField'
        type:
          $ref: '#/components/schemas/PricingPlanSubscriptionSelectorRuleType'
      title: PricingPlanSubscriptionSelectorRule
    PaymentMethodCard:
      type: object
      properties:
        brand:
          oneOf:
          - $ref: '#/components/schemas/PaymentMethodCardBrand'
          - type: 'null'
        name:
          type:
          - string
          - 'null'
        expiry_date:
          $ref: '#/components/schemas/ExpiryDate'
        last_four_digits:
          type:
          - string
          - 'null'
        country:
          type:
          - string
          - 'null'
      title: PaymentMethodCard
    PricingPlanSubscriptionSelectorFallback:
      type: string
      enum:
      - LATEST
      - NONE
      description: The fallback logic what to do when no subscription is found. By default it is LATEST
      title: PricingPlanSubscriptionSelectorFallback
    PaymentContext:
      type: object
      properties:
        type:
          oneOf:
          - $ref: '#/components/schemas/PaymentContextType'
          - type: 'null'
        related_resource_ids:
          type: array
          items:
            $ref: '#/components/schemas/ResourceIdentifier'
        metadata:
          type:
          - object
          - 'null'
          additionalProperties:
            type: string
        init_pricing_plan_subscription:
          $ref: '#/components/schemas/InitPri

# --- truncated at 32 KB (91 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/solvimon/refs/heads/main/openapi/solvimon-payments-api-openapi.yml