commerce.commerce_condition.plugin.order_payment_gateway:
  type: commerce_condition_configuration
  mapping:
    payment_gateways:
      type: sequence
      label: 'Payment gateways'
      orderby: value
      sequence:
        type: string
        label: 'Payment gateway'

commerce_payment.commerce_payment_gateway.*:
  type: config_entity
  label: 'Payment gateway'
  mapping:
    id:
      type: string
      label: 'Machine-readable name'
    label:
      type: label
      label: 'Label'
    weight:
      type: integer
      label: 'Weight'
    plugin:
      type: string
      label: 'Plugin'
    configuration:
      type: commerce_payment.commerce_payment_gateway.plugin.[%parent.plugin]
    conditions:
      type: sequence
      sequence:
        type: commerce_condition
    conditionOperator:
      type: string
      label: 'Condition operator'

commerce_payment.commerce_payment_gateway.plugin.*:
  type: commerce_payment_gateway_configuration

commerce_payment.commerce_payment_gateway.plugin.manual:
  type: commerce_payment_gateway_configuration
  mapping:
    instructions:
      type: text_format
      label: 'Payment instructions'
      translatable: true

commerce_payment_gateway_configuration:
  type: mapping
  mapping:
    display_label:
      type: label
      label: 'Display label'
    mode:
      type: string
      label: 'Mode'
    payment_method_types:
      type: sequence
      label: 'Payment method types'
      orderby: value
      sequence:
        type: string
    collect_billing_information:
      type: boolean
      label: 'Collect billing information'

commerce_checkout.commerce_checkout_pane.payment_process:
  type: commerce_checkout_pane_configuration
  mapping:
    capture:
      type: boolean
      label: 'Transaction mode'
