Solvimon paymentMethods API

The paymentMethods API from Solvimon — 4 operation(s) for paymentmethods.

OpenAPI Specification

solvimon-paymentmethods-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Configuration alertRules paymentMethods 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: paymentMethods
paths:
  /v{version}/payment-methods:
    get:
      operationId: getPaymentMethods
      summary: Get a list of payment methods
      description: Requires the PAYMENT_METHOD.VIEW permission.
      tags:
      - paymentMethods
      parameters:
      - name: version
        in: path
        description: version
        required: true
        schema:
          type: string
          default: '1'
      - name: customer_id
        in: query
        description: The customer ID.
        required: false
        schema:
          type: string
      - name: integration_id
        in: query
        description: The integration ID.
        required: false
        schema:
          type: string
      - name: integration_payment_method_reference
        in: query
        description: The integration payment method reference.
        required: false
        schema:
          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/PaymentMethodResponseWrapper'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    post:
      operationId: postPaymentMethods
      summary: Create a payment method
      description: Requires the PAYMENT_METHOD.CREATE permission.
      tags:
      - paymentMethods
      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:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentMethod'
        '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'
        '409':
          description: Conflict
          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/PaymentMethodCreateRequest'
    put:
      operationId: putPaymentMethods
      summary: Update or create a payment method (upsert)
      description: Requires the PAYMENT_METHOD.CREATE or PAYMENT_METHOD.UPDATE permission.
      tags:
      - paymentMethods
      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:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentMethod'
        '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'
        '404':
          description: Not Found
          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/PaymentMethodCreateRequest'
  /v{version}/payment-methods/{resourceIdOrReference}:
    get:
      operationId: getPaymentMethodsByResourceIdOrReference
      summary: Get a payment method
      description: Requires the PAYMENT_METHOD.VIEW permission.
      tags:
      - paymentMethods
      parameters:
      - name: version
        in: path
        description: version
        required: true
        schema:
          type: string
          default: '1'
      - name: resourceIdOrReference
        in: path
        description: The ID or reference of the resource.
        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/PaymentMethod'
        '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'
    patch:
      operationId: patchPaymentMethodsByResourceIdOrReference
      summary: Update a payment method
      description: Requires the PAYMENT_METHOD.UPDATE permission.
      tags:
      - paymentMethods
      parameters:
      - name: version
        in: path
        description: version
        required: true
        schema:
          type: string
          default: '1'
      - name: resourceIdOrReference
        in: path
        description: The ID or reference of the resource.
        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/PaymentMethod'
        '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'
        '409':
          description: Conflict
          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/PaymentMethodUpdateRequest'
  /v{version}/payment-methods/refresh:
    post:
      operationId: postPaymentMethodsRefresh
      summary: Refresh the payment methods of a customer
      description: Requires the PAYMENT_METHOD.UPDATE permission.
      tags:
      - paymentMethods
      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/PaymentMethodResponseWrapper'
        '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'
        '409':
          description: Conflict
          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/PaymentMethodActionRefreshCreateRequest'
  /v{version}/payment-methods/tokenize:
    post:
      operationId: postPaymentMethodsTokenize
      summary: Tokenize a payment method
      description: Requires the PAYMENT_METHOD.CREATE permission.
      tags:
      - paymentMethods
      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'
        '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/PaymentMethodTokenizationRequestCreateRequest'
components:
  schemas:
    PaymentMethodTokenizationRequestCreateRequestPaymentGatewayVariant:
      type: string
      enum:
      - ADYEN
      - STRIPE
      title: PaymentMethodTokenizationRequestCreateRequestPaymentGatewayVariant
    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
    PaymentMethodOnlineBankingUpdateRequest:
      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/PaymentMethodOnlineBankingUpdateRequestCountry'
          - type: 'null'
      title: PaymentMethodOnlineBankingUpdateRequest
    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
    IntegrationDetailsUpdateRequest:
      type: object
      properties:
        id:
          type:
          - string
          - 'null'
        reference:
          type:
          - string
          - 'null'
        payment_gateway_variant:
          $ref: '#/components/schemas/IntegrationDetailsUpdateRequestPaymentGatewayVariant'
        adyen:
          $ref: '#/components/schemas/AdyenIntegrationDetails'
        stripe:
          $ref: '#/components/schemas/StripeIntegrationDetails'
      title: IntegrationDetailsUpdateRequest
    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
    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
    PaymentMethodUpdateRequestType:
      type: string
      enum:
      - CARD
      - ONLINE_BANKING
      - BUY_NOW_PAY_LATER
      - DIRECT_DEBIT
      - DIGITAL_WALLET
      - UNKNOWN
      title: PaymentMethodUpdateRequestType
    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
    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
    PaymentMethodCardUpdateRequest:
      type: object
      properties:
        brand:
          oneOf:
          - $ref: '#/components/schemas/PaymentMethodCardUpdateRequestBrand'
          - type: 'null'
        name:
          type:
          - string
          - 'null'
        expiry_date:
          $ref: '#/components/schemas/ExpiryDate'
        last_four_digits:
          type:
          - string
          - 'null'
        country:
          type:
          - string
          - 'null'
      title: PaymentMethodCardUpdateRequest
    PaymentMethodCreateRequestStatus:
      type: string
      enum:
      - SETUP
      - ACTIVE
      - INACTIVE
      - ARCHIVED
      title: PaymentMethodCreateRequestStatus
    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/InitPricingPlanSubscriptionPaymentContext'
        create_payment_method:
          $ref: '#/components/schemas/CreatePaymentMethodPaymentContext'
        payment_request:
          $ref: '#/components/schemas/PaymentRequestPaymentContext'
        pay_invoice:
          $ref: '#/components/schemas/PayInvoicePaymentContext'
        charge_on_demand:
          $ref: '#/components/schemas/ChargeOnDemandPaymentContext'
        direct:
          $ref: '#/components/schemas/DirectPaymentContext'
      title: PaymentContext
    Payment:
      type: object
      properties:
        object_type:
          type:
          - string
          - 'null'
        id:
          type:
          - string
          - 'null'
        created_at:
          type:
          - string
          - 'null'
        timestamp:
          type:
          - string
          - 'null'
          format: date-time
        customer_id:
          type:
          - string
          - 'null'
        customer:
          oneOf:
          - $ref: '#/components/schemas/Customer'
          - type: 'null'
        invoice_id:
          type:
          - string
          - 'null'
          description: Resource ID of type INVOICE
        payment_acceptor_id:
          type:
          - string
          - 'null'
          description: Resource ID of type PAYMENT_ACCEPTOR
        payment_acceptor_reference:
          type:
          - string
          - 'null'
        payment_method_id:
          type:
          - string
          - 'null'
          description: Resource ID of type PAYMENT_METHOD
        payment_method_details:
          $ref: '#/components/schemas/PaymentMethodDetails'
        integration_payment_method_reference:
          type:
          - string
          - 'null'
        external_reference:
          type: string
        reference:
          type:
          - string
          - 'null'
        amount:
          $ref: '#/components/schemas/Amount'
        result:
          $ref: '#/components/schemas/PaymentResult'
        result_details:
          $ref: '#/components/schemas/PaymentResultDetails'
        dunning_action_details:
          $ref: '#/components/schemas/PaymentDunningActionDetails'
        updated_at:
          type:
          - string
          - 'null'
        context:
          $ref: '#/components/schemas/PaymentContext'
      title: Payment
    NotificationChannelType:
      type: string
      enum:
      - EMAIL
      description: The channel type to use.
      title: NotificationChannelType
    RequiredAction:
      type: object
      properties:
        url:
          type: string
        data:
          type:
          - object
          - 'null'
          additionalProperties:
            type: string
        method:
          type: string
        payment_gateway_variant:
          type: string
        adyen:
          $ref: '#/components/schemas/AdyenRequiredAction'
        stripe:
          $ref: '#/components/schemas/StripeRequiredAction'
      title: RequiredAction
    ResourceIdentifierType:
      type: string
      enum:
      - PLATFORM
      - CUSTOMER
      - BILLING_ENTITY
      - METER
      - METER_VALUE
      - METER_PROPERTY
      - METER_VALUE_CALCULATION
      - PRODUCT
      - PRODUCT_ITEM
      - PRODUCT_CATEGORY
      - PRICING
      - PRICING_ITEM
      - PRICING_ITEM_CONFIG
      - PRICING_ITEM_SU

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