vivenu payment-strategies API

The payment-strategies API from vivenu — 3 operation(s) for payment-strategies.

OpenAPI Specification

vivenu-payment-strategies-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: vivenu access-lists payment-strategies API
  description: vivenu API Documentation
  version: 1.0.0
  contact:
    name: vivenu GmbH
    url: https://vivenu.com
servers:
- url: https://vivenu.com
  description: Production API
- url: https://vivenu.dev
  description: Staging API
tags:
- name: payment-strategies
paths:
  /api/payments/strategies:
    get:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: top
        required: false
        schema:
          type: string
          default: 25
          metas: {}
        in: query
        style: form
        explode: true
      - name: skip
        required: false
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      - name: name
        required: false
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      - name: optionId
        required: false
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GET_Payment-strategies_GetPaymentStrategies_200_response'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      tags:
      - payment-strategies
      description: Get Payment Strategies
      operationId: get_payment_strategies
    post:
      security:
      - jwt: []
      - apikey: []
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/POST_Payment-strategies_CreateAPaymentStrategy_200_response'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/POST_Payment-strategies_CreateAPaymentStrategy'
      tags:
      - payment-strategies
      description: Create a Payment Strategy
      operationId: create_a_payment_strategy
  /api/payments/strategies/{id}:
    get:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        required: true
        schema:
          type: string
          metas: {}
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GET_Payment-strategies_GetAPaymentStrategy_200_response'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      tags:
      - payment-strategies
      description: Get a Payment Strategy
      operationId: get_a_payment_strategy
    put:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        required: true
        schema:
          type: string
          metas: {}
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PUT_Payment-strategies_UpdateAPaymentStrategy_200_response'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PUT_Payment-strategies_UpdateAPaymentStrategy'
      tags:
      - payment-strategies
      description: Update a Payment Strategy
      operationId: update_a_payment_strategy
  /api/public/payments/strategies/{id}:
    get:
      parameters:
      - name: id
        required: true
        schema:
          type: string
          metas: {}
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GET_Payment-strategies_GetPublicPaymentStrategy_200_response'
        '400':
          description: Bad Request
        '404':
          description: Not Found
      tags:
      - payment-strategies
      description: Get Public Payment Strategy
      operationId: get_public_payment_strategy
components:
  schemas:
    GET_Payment-strategies_GetPublicPaymentStrategy_200_response:
      type: object
      properties:
        _id:
          type: string
          description: The ID of the payment strategy
        sellerId:
          type: string
          description: The ID of the seller
        name:
          type: string
          description: The name of the payment strategy
        policy:
          type: object
          properties:
            allowedPaymentGateways:
              type: array
              items:
                type: object
                properties:
                  gatewayId:
                    type: string
                    description: The ID of the payment gateway
                required:
                - gatewayId
              description: The allowed payment gateways
            changePaymentMethodPolicy:
              type: string
              enum:
              - always
              - never
              description: The change payment method policy
            paymentCompletionPolicy:
              type: object
              properties:
                target:
                  type: string
                  enum:
                  - none
                  - event_start_date
                  - event_end_date
                  description: The target for the payment completion policy
              required:
              - target
              description: The payment completion policy
          required:
          - allowedPaymentGateways
          description: The payment policy of the payment strategy
        options:
          type: array
          items:
            type: object
            properties:
              _id:
                type: string
                description: The ID of the payment option
              status:
                type: string
                enum:
                - ENABLED
                - DISABLED
                description: The status of the payment option
              name:
                type: string
                description: The name of the payment option
              scheme:
                type: string
                enum:
                - one-off
                - installments
                description: The scheme of the payment option
              installmentOptions:
                type: object
                properties:
                  interval:
                    type: string
                    enum:
                    - DAY
                    - WEEK
                    - MONTH
                    description: The interval of the installment
                  numberOfInstallments:
                    type: integer
                    minimum: 1
                    description: The number of installments
                  every:
                    type: integer
                    minimum: 1
                    description: The number of intervals for each installment
                  timingOptions:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - first_installment
                        - last_installment
                        description: The type of the placement option
                      offsetOptions:
                        oneOf:
                        - type: object
                          properties:
                            anchor:
                              type: string
                              enum:
                              - order_date
                              description: The anchor of the offset
                            offset:
                              type: integer
                              minimum: 1
                              description: The offset value
                            offsetUnit:
                              type: string
                              enum:
                              - DAY
                              - WEEK
                              - MONTH
                              description: The unit of the offset
                          required:
                          - anchor
                          - offset
                          description: The offset options of the placement option
                        - type: object
                          properties:
                            anchor:
                              type: string
                              enum:
                              - event_start_date
                              description: The anchor of the offset
                            offset:
                              type: integer
                              maximum: -1
                              description: The offset value
                            offsetUnit:
                              type: string
                              enum:
                              - DAY
                              - WEEK
                              - MONTH
                              description: The unit of the offset
                          required:
                          - anchor
                          - offset
                          - offsetUnit
                          description: The offset options of the placement option
                    required:
                    - type
                    description: The placement options of the payment option
                required:
                - interval
                - numberOfInstallments
                - every
                description: The installment options of the payment option
              downPaymentOptions:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                    - none
                    - percent
                    - fixed
                    description: The type of the down payment
                  value:
                    type: number
                    format: float
                    minimum: 0
                    description: The value of the down payment
                required:
                - type
                - value
                description: The down payment options of the payment option
              requirements:
                type: object
                properties:
                  minAmount:
                    type: number
                    format: float
                    minimum: 0
                    description: The minimum amount
                  maxAmount:
                    type: number
                    format: float
                    minimum: 0
                    description: The maximum amount
                description: The requirements of the payment option
              feeOptions:
                type: object
                properties:
                  outerChargeVar:
                    type: number
                    format: float
                    minimum: 0
                    description: The variable outer charge
                  outerChargeFix:
                    type: number
                    format: float
                    minimum: 0
                    description: The fixed outer charge
                description: The fee options of the payment option
            required:
            - status
            - name
            - scheme
          description: The payment options of the payment strategy
      required:
      - _id
      - sellerId
      - name
      - policy
      - options
    PUT_Payment-strategies_UpdateAPaymentStrategy_200_response:
      type: object
      properties:
        _id:
          type: string
          description: The ID of the payment strategy
        sellerId:
          type: string
          description: The ID of the seller
        name:
          type: string
          description: The name of the payment strategy
        policy:
          type: object
          properties:
            allowedPaymentGateways:
              type: array
              items:
                type: object
                properties:
                  gatewayId:
                    type: string
                    description: The ID of the payment gateway
                required:
                - gatewayId
              description: The allowed payment gateways
            changePaymentMethodPolicy:
              type: string
              enum:
              - always
              - never
              description: The change payment method policy
            paymentCompletionPolicy:
              type: object
              properties:
                target:
                  type: string
                  enum:
                  - none
                  - event_start_date
                  - event_end_date
                  description: The target for the payment completion policy
              required:
              - target
              description: The payment completion policy
          required:
          - allowedPaymentGateways
          description: The payment policy of the payment strategy
        options:
          type: array
          items:
            type: object
            properties:
              _id:
                type: string
                description: The ID of the payment option
              status:
                type: string
                enum:
                - ENABLED
                - DISABLED
                description: The status of the payment option
              name:
                type: string
                description: The name of the payment option
              scheme:
                type: string
                enum:
                - one-off
                - installments
                description: The scheme of the payment option
              installmentOptions:
                type: object
                properties:
                  interval:
                    type: string
                    enum:
                    - DAY
                    - WEEK
                    - MONTH
                    description: The interval of the installment
                  numberOfInstallments:
                    type: integer
                    minimum: 1
                    description: The number of installments
                  every:
                    type: integer
                    minimum: 1
                    description: The number of intervals for each installment
                  timingOptions:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - first_installment
                        - last_installment
                        description: The type of the placement option
                      offsetOptions:
                        oneOf:
                        - type: object
                          properties:
                            anchor:
                              type: string
                              enum:
                              - order_date
                              description: The anchor of the offset
                            offset:
                              type: integer
                              minimum: 1
                              description: The offset value
                            offsetUnit:
                              type: string
                              enum:
                              - DAY
                              - WEEK
                              - MONTH
                              description: The unit of the offset
                          required:
                          - anchor
                          - offset
                          description: The offset options of the placement option
                        - type: object
                          properties:
                            anchor:
                              type: string
                              enum:
                              - event_start_date
                              description: The anchor of the offset
                            offset:
                              type: integer
                              maximum: -1
                              description: The offset value
                            offsetUnit:
                              type: string
                              enum:
                              - DAY
                              - WEEK
                              - MONTH
                              description: The unit of the offset
                          required:
                          - anchor
                          - offset
                          - offsetUnit
                          description: The offset options of the placement option
                    required:
                    - type
                    description: The placement options of the payment option
                required:
                - interval
                - numberOfInstallments
                - every
                description: The installment options of the payment option
              downPaymentOptions:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                    - none
                    - percent
                    - fixed
                    description: The type of the down payment
                  value:
                    type: number
                    format: float
                    minimum: 0
                    description: The value of the down payment
                required:
                - type
                - value
                description: The down payment options of the payment option
              requirements:
                type: object
                properties:
                  minAmount:
                    type: number
                    format: float
                    minimum: 0
                    description: The minimum amount
                  maxAmount:
                    type: number
                    format: float
                    minimum: 0
                    description: The maximum amount
                description: The requirements of the payment option
              feeOptions:
                type: object
                properties:
                  outerChargeVar:
                    type: number
                    format: float
                    minimum: 0
                    description: The variable outer charge
                  outerChargeFix:
                    type: number
                    format: float
                    minimum: 0
                    description: The fixed outer charge
                description: The fee options of the payment option
            required:
            - status
            - name
            - scheme
          description: The payment options of the payment strategy
      required:
      - _id
      - sellerId
      - name
      - policy
      - options
    GET_Payment-strategies_GetAPaymentStrategy_200_response:
      type: object
      properties:
        _id:
          type: string
          description: The ID of the payment strategy
        sellerId:
          type: string
          description: The ID of the seller
        name:
          type: string
          description: The name of the payment strategy
        policy:
          type: object
          properties:
            allowedPaymentGateways:
              type: array
              items:
                type: object
                properties:
                  gatewayId:
                    type: string
                    description: The ID of the payment gateway
                required:
                - gatewayId
              description: The allowed payment gateways
            changePaymentMethodPolicy:
              type: string
              enum:
              - always
              - never
              description: The change payment method policy
            paymentCompletionPolicy:
              type: object
              properties:
                target:
                  type: string
                  enum:
                  - none
                  - event_start_date
                  - event_end_date
                  description: The target for the payment completion policy
              required:
              - target
              description: The payment completion policy
          required:
          - allowedPaymentGateways
          description: The payment policy of the payment strategy
        options:
          type: array
          items:
            type: object
            properties:
              _id:
                type: string
                description: The ID of the payment option
              status:
                type: string
                enum:
                - ENABLED
                - DISABLED
                description: The status of the payment option
              name:
                type: string
                description: The name of the payment option
              scheme:
                type: string
                enum:
                - one-off
                - installments
                description: The scheme of the payment option
              installmentOptions:
                type: object
                properties:
                  interval:
                    type: string
                    enum:
                    - DAY
                    - WEEK
                    - MONTH
                    description: The interval of the installment
                  numberOfInstallments:
                    type: integer
                    minimum: 1
                    description: The number of installments
                  every:
                    type: integer
                    minimum: 1
                    description: The number of intervals for each installment
                  timingOptions:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - first_installment
                        - last_installment
                        description: The type of the placement option
                      offsetOptions:
                        oneOf:
                        - type: object
                          properties:
                            anchor:
                              type: string
                              enum:
                              - order_date
                              description: The anchor of the offset
                            offset:
                              type: integer
                              minimum: 1
                              description: The offset value
                            offsetUnit:
                              type: string
                              enum:
                              - DAY
                              - WEEK
                              - MONTH
                              description: The unit of the offset
                          required:
                          - anchor
                          - offset
                          description: The offset options of the placement option
                        - type: object
                          properties:
                            anchor:
                              type: string
                              enum:
                              - event_start_date
                              description: The anchor of the offset
                            offset:
                              type: integer
                              maximum: -1
                              description: The offset value
                            offsetUnit:
                              type: string
                              enum:
                              - DAY
                              - WEEK
                              - MONTH
                              description: The unit of the offset
                          required:
                          - anchor
                          - offset
                          - offsetUnit
                          description: The offset options of the placement option
                    required:
                    - type
                    description: The placement options of the payment option
                required:
                - interval
                - numberOfInstallments
                - every
                description: The installment options of the payment option
              downPaymentOptions:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                    - none
                    - percent
                    - fixed
                    description: The type of the down payment
                  value:
                    type: number
                    format: float
                    minimum: 0
                    description: The value of the down payment
                required:
                - type
                - value
                description: The down payment options of the payment option
              requirements:
                type: object
                properties:
                  minAmount:
                    type: number
                    format: float
                    minimum: 0
                    description: The minimum amount
                  maxAmount:
                    type: number
                    format: float
                    minimum: 0
                    description: The maximum amount
                description: The requirements of the payment option
              feeOptions:
                type: object
                properties:
                  outerChargeVar:
                    type: number
                    format: float
                    minimum: 0
                    description: The variable outer charge
                  outerChargeFix:
                    type: number
                    format: float
                    minimum: 0
                    description: The fixed outer charge
                description: The fee options of the payment option
            required:
            - status
            - name
            - scheme
          description: The payment options of the payment strategy
      required:
      - _id
      - sellerId
      - name
      - policy
      - options
    POST_Payment-strategies_CreateAPaymentStrategy:
      type: object
      properties:
        name:
          type: string
          description: The name of the payment strategy
        policy:
          type: object
          properties:
            allowedPaymentGateways:
              type: array
              items:
                type: object
                properties:
                  gatewayId:
                    type: string
                    description: The ID of the payment gateway
                required:
                - gatewayId
              description: The allowed payment gateways
            changePaymentMethodPolicy:
              type: string
              enum:
              - always
              - never
              description: The change payment method policy
            paymentCompletionPolicy:
              type: object
              properties:
                target:
                  type: string
                  enum:
                  - none
                  - event_start_date
                  - event_end_date
                  description: The target for the payment completion policy
              required:
              - target
              description: The payment completion policy
          required:
          - allowedPaymentGateways
          description: The payment policy of the payment strategy
        options:
          type: array
          items:
            type: object
            properties:
              _id:
                type: string
                description: The ID of the payment option
              status:
                type: string
                enum:
                - ENABLED
                - DISABLED
                description: The status of the payment option
              name:
                type: string
                description: The name of the payment option
              scheme:
                type: string
                enum:
                - one-off
                - installments
                description: The scheme of the payment option
              installmentOptions:
                type: object
                properties:
                  interval:
                    type: string
                    enum:
                    - DAY
                    - WEEK
                    - MONTH
                    description: The interval of the installment
                  numberOfInstallments:
                    type: integer
                    minimum: 1
                    description: The number of installments
                  every:
                    type: integer
                    minimum: 1
                    description: The number of intervals for each installment
                  timingOptions:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - first_installment
                        - last_installment
                        description: The type of the placement option
                      offsetOptions:
                        oneOf:
                        - type: object
                          properties:
                            anchor:
                              type: string
                              enum:
                              - order_date
                              description: The anchor of the offset
                            offset:
                              type: integer
                              minimum: 1
                              description: The offset value
                            offsetUnit:
                              type: string
                              enum:
                              - DAY
                              - WEEK
                              - MONTH
                              description: The unit of the offset
                          required:
                          - anchor
                          - offset
                          description: The offset options of the placement option
                        - type: object
                          properties:
                            anchor:
                              type: string
                              enum:
                              - event_start_date
                              description: The anchor of the offset
                            offset:
                              type: integer
                              maximum: -1
                              description: The offset value
                            offsetUnit:
                              type: string
                              enum:
                              - DAY
                              - WEEK
                              - MONTH
                              description: The unit of the offset
                          required:
                          - anchor
                          - offset
                          - offsetUnit
                          description: The offset options of the placement option
                    required:
                    - type
                    description: The placement options of the payment option
                required:
                - interval
                - numberOfInstallments
                - every
                de

# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vivenu/refs/heads/main/openapi/vivenu-payment-strategies-api-openapi.yml