> ## Documentation Index
> Fetch the complete documentation index at: https://api-reference.hyperswitch.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Merchant Connector - Update

> To update an existing Merchant Connector account. Helpful in enabling/disabling different payment methods and other settings for the connector



## OpenAPI

````yaml post /account/{account_id}/connectors/{merchant_connector_id}
openapi: 3.0.3
info:
  title: Hyperswitch - API Documentation
  description: >

    ## Get started


    Hyperswitch provides a collection of APIs that enable you to process and
    manage payments.

    Our APIs accept and return JSON in the HTTP body, and return standard HTTP
    response codes.


    You can consume the APIs directly using your favorite HTTP/REST library.


    We have a testing environment referred to "sandbox", which you can setup to
    test API calls without

    affecting production data.

    Currently, our sandbox environment is live while our production environment
    is under development

    and will be available soon.

    You can sign up on our Dashboard to get API keys to access Hyperswitch API.


    ### Environment


    Use the following base URLs when making requests to the APIs:


    | Environment   |  Base URL                          |

    |---------------|------------------------------------|

    | Sandbox       | <https://sandbox.hyperswitch.io>   |

    | Production    | <https://api.hyperswitch.io>       |


    ## Authentication


    When you sign up on our [dashboard](https://app.hyperswitch.io) and create a
    merchant

    account, you are given a secret key (also referred as api-key) and a
    publishable key.

    You may authenticate all API requests with Hyperswitch server by providing
    the appropriate key in

    the request Authorization header.


    | Key             | 
    Description                                                                                 
    |

    |-----------------|-----------------------------------------------------------------------------------------------|

    | api-key         | Private key. Used to authenticate all API requests from
    your merchant server                  |

    | publishable key | Unique identifier for your account. Used to authenticate
    API requests from your app's client  |


    Never share your secret api keys. Keep them guarded and secure.
  contact:
    name: Hyperswitch Support
    url: https://hyperswitch.io
    email: support.global@juspay.io
  license:
    name: Apache-2.0
  version: 0.1.0
servers:
  - url: https://sandbox.hyperswitch.io
    description: Sandbox Environment
security: []
tags:
  - name: Merchant Account
    description: Create and manage merchant accounts
  - name: Profile
    description: Create and manage profiles
  - name: Merchant Connector Account
    description: Create and manage merchant connector accounts
  - name: Payments
    description: Create and manage one-time payments, recurring payments and mandates
  - name: Refunds
    description: Create and manage refunds for successful payments
  - name: Mandates
    description: Manage mandates
  - name: Customers
    description: Create and manage customers
  - name: Payment Methods
    description: Create and manage payment methods of customers
  - name: Disputes
    description: Manage disputes
  - name: API Key
    description: Create and manage API Keys
  - name: Payouts
    description: Create and manage payouts
  - name: payment link
    description: Create payment link
  - name: Routing
    description: Create and manage routing configurations
  - name: Event
    description: Manage events
  - name: Authentication
    description: Create and manage authentication
  - name: Subscriptions
    description: Subscription management and billing endpoints
  - name: Card Issuer
    description: Create and manage card issuers
paths:
  /account/{account_id}/connectors/{merchant_connector_id}:
    post:
      tags:
        - Merchant Connector Account
      summary: Merchant Connector - Update
      description: >-
        To update an existing Merchant Connector account. Helpful in
        enabling/disabling different payment methods and other settings for the
        connector
      operationId: Update a Merchant Connector
      parameters:
        - name: account_id
          in: path
          description: The unique identifier for the merchant account
          required: true
          schema:
            type: string
        - name: merchant_connector_id
          in: path
          description: The unique identifier for the Merchant Connector
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MerchantConnectorUpdate'
            examples:
              Enable card payment method:
                value:
                  connector_type: payment_processor
                  payment_methods_enabled:
                    - payment_method: card
              Update webhook secret:
                value:
                  connector_webhook_details:
                    merchant_secret: '{{webhook_secret}}'
        required: true
      responses:
        '200':
          description: Merchant Connector Updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MerchantConnectorResponse'
        '401':
          description: Unauthorized request
        '404':
          description: Merchant Connector does not exist in records
      security:
        - api_key: []
components:
  schemas:
    MerchantConnectorUpdate:
      type: object
      description: >-
        Create a new Merchant Connector for the merchant account. The connector
        could be a payment processor / facilitator / acquirer or specialized
        services like Fraud / Accounting etc."
      required:
        - connector_type
        - status
      properties:
        connector_type:
          $ref: '#/components/schemas/ConnectorType'
        connector_label:
          type: string
          description: >-
            This is an unique label you can generate and pass in order to
            identify this connector account on your Hyperswitch dashboard and
            reports. Eg: if your profile label is `default`, connector label can
            be `stripe_default`
          example: stripe_US_travel
          nullable: true
        connector_account_details:
          allOf:
            - $ref: '#/components/schemas/MerchantConnectorDetails'
          nullable: true
        payment_methods_enabled:
          type: array
          items:
            $ref: '#/components/schemas/PaymentMethodsEnabled'
          description: >-
            An object containing the details about the payment methods that need
            to be enabled under this merchant connector account
          example:
            - accepted_countries:
                list:
                  - FR
                  - DE
                  - IN
                type: disable_only
              accepted_currencies:
                list:
                  - USD
                  - EUR
                type: enable_only
              installment_payment_enabled: true
              maximum_amount: 68607706
              minimum_amount: 1
              payment_method: wallet
              payment_method_issuers:
                - labore magna ipsum
                - aute
              payment_method_types:
                - upi_collect
                - upi_intent
              payment_schemes:
                - Discover
                - Discover
              recurring_enabled: true
          nullable: true
        connector_webhook_details:
          allOf:
            - $ref: '#/components/schemas/MerchantConnectorWebhookDetails'
          nullable: true
        metadata:
          type: object
          description: >-
            Metadata is useful for storing additional, unstructured information
            on an object.
          nullable: true
        test_mode:
          type: boolean
          description: >-
            A boolean value to indicate if the connector is in Test mode. By
            default, its value is false.
          default: false
          example: false
          nullable: true
        disabled:
          type: boolean
          description: >-
            A boolean value to indicate if the connector is disabled. By
            default, its value is false.
          default: false
          example: false
          nullable: true
        frm_configs:
          type: array
          items:
            $ref: '#/components/schemas/FrmConfigs'
          description: Contains the frm configs for the merchant connector
          example: >

            [{"gateway":"stripe","payment_methods":[{"payment_method":"card","payment_method_types":[{"payment_method_type":"credit","card_networks":["Visa"],"flow":"pre","action":"cancel_txn"},{"payment_method_type":"debit","card_networks":["Visa"],"flow":"pre"}]}]}]
          nullable: true
        pm_auth_config:
          type: object
          description: >-
            pm_auth_config will relate MCA records to their respective chosen
            auth services, based on payment_method and pmt
          nullable: true
        status:
          $ref: '#/components/schemas/ConnectorStatus'
        additional_merchant_data:
          allOf:
            - $ref: '#/components/schemas/AdditionalMerchantData'
          nullable: true
        connector_wallets_details:
          allOf:
            - $ref: '#/components/schemas/ConnectorWalletDetails'
          nullable: true
      additionalProperties: false
    MerchantConnectorResponse:
      type: object
      description: Response of creating a new Merchant Connector for the merchant account."
      required:
        - connector_type
        - connector_name
        - merchant_connector_id
        - profile_id
        - status
      properties:
        connector_type:
          $ref: '#/components/schemas/ConnectorType'
        connector_name:
          $ref: '#/components/schemas/Connector'
        connector_label:
          type: string
          description: >-
            A unique label to identify the connector account created under a
            profile
          example: stripe_US_travel
          nullable: true
        merchant_connector_id:
          type: string
          description: Unique ID of the merchant connector account
          example: mca_5apGeP94tMts6rg3U3kR
        profile_id:
          type: string
          description: >-
            Identifier for the profile, if not provided default will be chosen
            from merchant account
          maxLength: 64
        connector_account_details:
          allOf:
            - $ref: '#/components/schemas/MerchantConnectorDetails'
          nullable: true
        payment_methods_enabled:
          type: array
          items:
            $ref: '#/components/schemas/PaymentMethodsEnabled'
          description: >-
            An object containing the details about the payment methods that need
            to be enabled under this merchant connector account
          example:
            - accepted_countries:
                list:
                  - FR
                  - DE
                  - IN
                type: disable_only
              accepted_currencies:
                list:
                  - USD
                  - EUR
                type: enable_only
              installment_payment_enabled: true
              maximum_amount: 68607706
              minimum_amount: 1
              payment_method: wallet
              payment_method_issuers:
                - labore magna ipsum
                - aute
              payment_method_types:
                - upi_collect
                - upi_intent
              payment_schemes:
                - Discover
                - Discover
              recurring_enabled: true
          nullable: true
        connector_webhook_details:
          allOf:
            - $ref: '#/components/schemas/MerchantConnectorWebhookDetails'
          nullable: true
        metadata:
          type: object
          description: >-
            Metadata is useful for storing additional, unstructured information
            on an object.
          nullable: true
        test_mode:
          type: boolean
          description: >-
            A boolean value to indicate if the connector is in Test mode. By
            default, its value is false.
          default: false
          example: false
          nullable: true
        disabled:
          type: boolean
          description: >-
            A boolean value to indicate if the connector is disabled. By
            default, its value is false.
          default: false
          example: false
          nullable: true
        frm_configs:
          type: array
          items:
            $ref: '#/components/schemas/FrmConfigs'
          description: Contains the frm configs for the merchant connector
          example: >

            [{"gateway":"stripe","payment_methods":[{"payment_method":"card","payment_method_types":[{"payment_method_type":"credit","card_networks":["Visa"],"flow":"pre","action":"cancel_txn"},{"payment_method_type":"debit","card_networks":["Visa"],"flow":"pre"}]}]}]
          nullable: true
        business_country:
          allOf:
            - $ref: '#/components/schemas/CountryAlpha2'
          nullable: true
        business_label:
          type: string
          description: >-
            The business label to which the connector account is attached. To be
            deprecated soon. Use the 'profile_id' instead
          example: travel
          nullable: true
        business_sub_label:
          type: string
          description: >-
            The business sublabel to which the connector account is attached. To
            be deprecated soon. Use the 'profile_id' instead
          example: chase
          nullable: true
        applepay_verified_domains:
          type: array
          items:
            type: string
          description: >-
            identifier for the verified domains of a particular connector
            account
          nullable: true
        pm_auth_config:
          type: object
          nullable: true
        status:
          $ref: '#/components/schemas/ConnectorStatus'
        additional_merchant_data:
          allOf:
            - $ref: '#/components/schemas/AdditionalMerchantData'
          nullable: true
        connector_wallets_details:
          allOf:
            - $ref: '#/components/schemas/ConnectorWalletDetails'
          nullable: true
        webhook_setup_capabilities:
          allOf:
            - $ref: '#/components/schemas/WebhookSetupCapabilities'
          nullable: true
      additionalProperties: false
    ConnectorType:
      type: string
      description: >-
        Type of the Connector for the financial use case. Could range from
        Payments to Accounting to Banking.
      enum:
        - payment_processor
        - payment_vas
        - fin_operations
        - fiz_operations
        - networks
        - banking_entities
        - non_banking_finance
        - payout_processor
        - payment_method_auth
        - authentication_processor
        - tax_processor
        - surcharge_processor
        - billing_processor
        - vault_processor
    MerchantConnectorDetails:
      type: object
      properties:
        connector_account_details:
          type: object
          description: >-
            Account details of the Connector. You can specify up to 50 keys,
            with key names up to 40 characters long and values up to 500
            characters long. Useful for storing additional, structured
            information on an object.
          nullable: true
        metadata:
          type: object
          description: >-
            Metadata is useful for storing additional, unstructured information
            on an object.
          nullable: true
    PaymentMethodsEnabled:
      type: object
      description: >-
        Details of all the payment methods enabled for the connector for the
        given merchant account
      required:
        - payment_method
      properties:
        payment_method:
          $ref: '#/components/schemas/PaymentMethod'
        payment_method_types:
          type: array
          items:
            $ref: '#/components/schemas/RequestPaymentMethodTypes'
          description: Subtype of payment method
          example:
            - credit
          nullable: true
      additionalProperties: false
    MerchantConnectorWebhookDetails:
      type: object
      required:
        - merchant_secret
        - additional_secret
      properties:
        merchant_secret:
          type: string
          example: '12345678900987654321'
        additional_secret:
          type: string
          example: '12345678900987654321'
      additionalProperties: false
    FrmConfigs:
      type: object
      description: >-
        Details of FrmConfigs are mentioned here... it should be passed in
        payment connector create api call, and stored in
        merchant_connector_table
      required:
        - gateway
        - payment_methods
      properties:
        gateway:
          $ref: '#/components/schemas/ConnectorType'
        payment_methods:
          type: array
          items:
            $ref: '#/components/schemas/FrmPaymentMethod'
          description: payment methods that can be used in the payment
      additionalProperties: false
    ConnectorStatus:
      type: string
      enum:
        - inactive
        - active
    AdditionalMerchantData:
      oneOf:
        - type: object
          required:
            - open_banking_recipient_data
          properties:
            open_banking_recipient_data:
              $ref: '#/components/schemas/MerchantRecipientData'
    ConnectorWalletDetails:
      type: object
      properties:
        apple_pay_combined:
          type: object
          description: >-
            This field contains the Apple Pay certificates and credentials for
            iOS and Web Apple Pay flow
          nullable: true
        apple_pay:
          type: object
          description: >-
            This field is for our legacy Apple Pay flow that contains the Apple
            Pay certificates and credentials for only iOS Apple Pay flow
          nullable: true
        amazon_pay:
          type: object
          description: This field contains the Amazon Pay certificates and credentials
          nullable: true
        samsung_pay:
          type: object
          description: This field contains the Samsung Pay certificates and credentials
          nullable: true
        paze:
          type: object
          description: This field contains the Paze certificates and credentials
          nullable: true
        google_pay:
          type: object
          description: This field contains the Google Pay certificates and credentials
          nullable: true
      additionalProperties: false
    Connector:
      type: string
      enum:
        - authipay
        - adyenplatform
        - stripe_billing_test
        - phonypay
        - fauxpay
        - pretendpay
        - stripe_test
        - adyen_test
        - checkout_test
        - paypal_test
        - aci
        - adyen
        - affirm
        - airwallex
        - amazonpay
        - archipel
        - authorizedotnet
        - bambora
        - bamboraapac
        - bankofamerica
        - barclaycard
        - billwerk
        - bitpay
        - bluesnap
        - blackhawknetwork
        - calida
        - boku
        - braintree
        - breadpay
        - cardinal
        - cashtocode
        - celero
        - chargebee
        - checkbook
        - checkout
        - coinbase
        - coingate
        - custombilling
        - cryptopay
        - ctp_mastercard
        - ctp_visa
        - cybersource
        - cybersourcedecisionmanager
        - datatrans
        - deutschebank
        - digitalvirgo
        - dlocal
        - dwolla
        - ebanx
        - envoy
        - elavon
        - facilitapay
        - finix
        - fiserv
        - fiservemea
        - fiservcommercehub
        - fiuu
        - flexiti
        - forte
        - getnet
        - gigadat
        - globalpay
        - globepay
        - gocardless
        - gpayments
        - hipay
        - helcim
        - hyperpg
        - hyperswitch_vault
        - interpayments
        - inespay
        - iatapay
        - imerchantsolutions
        - itaubank
        - jpmorgan
        - juspaythreedsserver
        - klarna
        - loonio
        - mifinity
        - mollie
        - moneris
        - multisafepay
        - netcetera
        - nexinets
        - nexixpay
        - nmi
        - nomupay
        - noon
        - nordea
        - novalnet
        - nuvei
        - opennode
        - paybox
        - payload
        - payme
        - payone
        - paypal
        - paysafe
        - paystack
        - paytm
        - payu
        - peachpayments
        - payjustnow
        - payjustnowinstore
        - phonepe
        - placetopay
        - powertranz
        - prophetpay
        - rapyd
        - razorpay
        - recurly
        - redsys
        - revolv3
        - sanlam
        - santander
        - shift4
        - silverflow
        - square
        - stax
        - stripe
        - stripebilling
        - taxjar
        - threedsecureio
        - tesouro
        - tokenex
        - tokenio
        - trustly
        - truelayer
        - trustpay
        - trustpayments
        - tsys
        - vgs
        - volt
        - wellsfargo
        - wise
        - worldline
        - worldpay
        - worldpayvantiv
        - worldpayxml
        - worldpaymodular
        - signifyd
        - plaid
        - riskified
        - xendit
        - zen
        - zift
        - zsl
    CountryAlpha2:
      type: string
      enum:
        - AF
        - AX
        - AL
        - DZ
        - AS
        - AD
        - AO
        - AI
        - AQ
        - AG
        - AR
        - AM
        - AW
        - AU
        - AT
        - AZ
        - BS
        - BH
        - BD
        - BB
        - BY
        - BE
        - BZ
        - BJ
        - BM
        - BT
        - BO
        - BQ
        - BA
        - BW
        - BV
        - BR
        - IO
        - BN
        - BG
        - BF
        - BI
        - KH
        - CM
        - CA
        - CV
        - KY
        - CF
        - TD
        - CL
        - CN
        - CX
        - CC
        - CO
        - KM
        - CG
        - CD
        - CK
        - CR
        - CI
        - HR
        - CU
        - CW
        - CY
        - CZ
        - DK
        - DJ
        - DM
        - DO
        - EC
        - EG
        - SV
        - GQ
        - ER
        - EE
        - ET
        - FK
        - FO
        - FJ
        - FI
        - FR
        - GF
        - PF
        - TF
        - GA
        - GM
        - GE
        - DE
        - GH
        - GI
        - GR
        - GL
        - GD
        - GP
        - GU
        - GT
        - GG
        - GN
        - GW
        - GY
        - HT
        - HM
        - VA
        - HN
        - HK
        - HU
        - IS
        - IN
        - ID
        - IR
        - IQ
        - IE
        - IM
        - IL
        - IT
        - JM
        - JP
        - JE
        - JO
        - KZ
        - KE
        - KI
        - KP
        - KR
        - KW
        - KG
        - LA
        - LV
        - LB
        - LS
        - LR
        - LY
        - LI
        - LT
        - LU
        - MO
        - MK
        - MG
        - MW
        - MY
        - MV
        - ML
        - MT
        - MH
        - MQ
        - MR
        - MU
        - YT
        - MX
        - FM
        - MD
        - MC
        - MN
        - ME
        - MS
        - MA
        - MZ
        - MM
        - NA
        - NR
        - NP
        - NL
        - NC
        - NZ
        - NI
        - NE
        - NG
        - NU
        - NF
        - MP
        - 'NO'
        - OM
        - PK
        - PW
        - PS
        - PA
        - PG
        - PY
        - PE
        - PH
        - PN
        - PL
        - PT
        - PR
        - QA
        - RE
        - RO
        - RU
        - RW
        - BL
        - SH
        - KN
        - LC
        - MF
        - PM
        - VC
        - WS
        - SM
        - ST
        - SA
        - SN
        - RS
        - SC
        - SL
        - SG
        - SX
        - SK
        - SI
        - SB
        - SO
        - ZA
        - GS
        - SS
        - ES
        - LK
        - SD
        - SR
        - SJ
        - SZ
        - SE
        - CH
        - SY
        - TW
        - TJ
        - TZ
        - TH
        - TL
        - TG
        - TK
        - TO
        - TT
        - TN
        - TR
        - TM
        - TC
        - TV
        - UG
        - UA
        - AE
        - GB
        - UM
        - UY
        - UZ
        - VU
        - VE
        - VN
        - VG
        - VI
        - WF
        - EH
        - YE
        - ZM
        - ZW
        - US
    WebhookSetupCapabilities:
      type: object
      description: Connector details for webhook configuration via hyperswitch API
      required:
        - is_webhook_auto_configuration_supported
      properties:
        is_webhook_auto_configuration_supported:
          type: boolean
          description: Indicates if the connector supports webhooks configuration via API
        requires_webhook_secret:
          type: boolean
          description: >-
            Indicates whether a webhook secret must be collected from the
            merchant for verification
          nullable: true
        config_type:
          allOf:
            - $ref: '#/components/schemas/WebhookConfigType'
          nullable: true
    PaymentMethod:
      type: string
      description: 'Indicates the type of payment method. Eg: ''card'', ''wallet'', etc.'
      enum:
        - card
        - card_redirect
        - pay_later
        - wallet
        - bank_redirect
        - bank_transfer
        - crypto
        - bank_debit
        - reward
        - real_time_payment
        - upi
        - voucher
        - gift_card
        - open_banking
        - mobile_payment
        - network_token
    RequestPaymentMethodTypes:
      type: object
      required:
        - payment_method_type
      properties:
        payment_method_type:
          $ref: '#/components/schemas/PaymentMethodType'
        payment_experience:
          allOf:
            - $ref: '#/components/schemas/PaymentExperience'
          nullable: true
        card_networks:
          type: array
          items:
            $ref: '#/components/schemas/CardNetwork'
          nullable: true
        accepted_currencies:
          allOf:
            - $ref: '#/components/schemas/AcceptedCurrencies'
          nullable: true
        accepted_countries:
          allOf:
            - $ref: '#/components/schemas/AcceptedCountries'
          nullable: true
        minimum_amount:
          allOf:
            - $ref: '#/components/schemas/MinorUnit'
          nullable: true
        maximum_amount:
          allOf:
            - $ref: '#/components/schemas/MinorUnit'
          nullable: true
        recurring_enabled:
          type: boolean
          description: >-
            Indicates whether the payment method supports recurring payments.
            Optional.
          example: false
          nullable: true
        installment_payment_enabled:
          type: boolean
          description: >-
            Indicates whether the payment method is eligible for installment
            payments (e.g., EMI, BNPL). Optional.
          example: true
          nullable: true
    FrmPaymentMethod:
      type: object
      description: >-
        Details of FrmPaymentMethod are mentioned here... it should be passed in
        payment connector create api call, and stored in
        merchant_connector_table
      required:
        - payment_method
      properties:
        payment_method:
          $ref: '#/components/schemas/PaymentMethod'
        payment_method_types:
          type: array
          items:
            $ref: '#/components/schemas/FrmPaymentMethodType'
          description: >-
            payment method types(credit, debit) that can be used in the payment.
            This field is deprecated. It has not been removed to provide
            backward compatibility.
          nullable: true
        flow:
          allOf:
            - $ref: '#/components/schemas/FrmPreferredFlowTypes'
          nullable: true
      additionalProperties: false
    MerchantRecipientData:
      oneOf:
        - type: object
          required:
            - connector_recipient_id
          properties:
            connector_recipient_id:
              type: string
              nullable: true
        - type: object
          required:
            - wallet_id
          properties:
            wallet_id:
              type: string
              nullable: true
        - type: object
          required:
            - account_data
          properties:
            account_data:
              $ref: '#/components/schemas/MerchantAccountData'
    WebhookConfigType:
      oneOf:
        - type: string
          description: >-
            Standard webhook configuration supporting all events hyperswitch
            provides
          enum:
            - AllEvents
        - type: object
          required:
            - CustomEvents
          properties:
            CustomEvents:
              allOf:
                - $ref: '#/components/schemas/EventType'
              nullable: true
      description: Enum to represent the type of webhook configuration
    PaymentMethodType:
      type: string
      description: >-
        Indicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay'
        for wallets.
      enum:
        - ach
        - affirm
        - afterpay_clearpay
        - alfamart
        - ali_pay
        - ali_pay_hk
        - alma
        - amazon_pay
        - paysera
        - apple_pay
        - atome
        - bacs
        - bancontact_card
        - becs
        - benefit
        - bizum
        - blik
        - bluecode
        - boleto
        - bca_bank_transfer
        - bni_va
        - breadpay
        - bri_va
        - bhn_card_network
        - card_redirect
        - cimb_va
        - classic
        - credit
        - crypto_currency
        - cashapp
        - dana
        - danamon_va
        - debit
        - duit_now
        - efecty
        - eft
        - eft_debit_order
        - eps
        - flexiti
        - fps
        - evoucher
        - giropay
        - givex
        - google_pay
        - go_pay
        - gcash
        - ideal
        - interac
        - indomaret
        - klarna
        - kakao_pay
        - local_bank_redirect
        - mandiri_va
        - knet
        - mb_way
        - mobile_pay
        - momo
        - momo_atm
        - multibanco
        - online_banking_thailand
        - online_banking_czech_republic
        - online_banking_finland
        - online_banking_fpx
        - online_banking_poland
        - online_banking_slovakia
        - oxxo
        - pago_efectivo
        - permata_bank_transfer
        - open_banking_uk
        - pay_bright
        - payjustnow
        - paypal
        - paze
        - pix
        - pix_key
        - pix_emv
        - pix_automatico_qr
        - pix_automatico_push
        - pay_safe_card
        - przelewy24
        - prompt_pay
        - pse
        - qris
        - red_compra
        - red_pagos
        - samsung_pay
        - sepa
        - sepa_bank_transfer
        - sepa_guarenteed_debit
        - skrill
        - sofort
        - swish
        - touch_n_go
        - trustly
        - twint
        - upi_collect
        - upi_intent
        - upi_qr
        - vipps
        - viet_qr
        - venmo
        - walley
        - we_chat_pay
        - seven_eleven
        - lawson
        - mini_stop
        - family_mart
        - seicomart
        - pay_easy
        - local_bank_transfer
        - mifinity
        - open_banking_pis
        - direct_carrier_billing
        - instant_bank_transfer
        - instant_bank_transfer_finland
        - instant_bank_transfer_poland
        - revolut_pay
        - indonesian_bank_transfer
        - open_banking
        - network_token
    PaymentExperience:
      type: string
      description: >-
        To indicate the type of payment experience that the customer would go
        through
      enum:
        - redirect_to_url
        - invoke_sdk_client
        - display_qr_code
        - one_click
        - link_wallet
        - invoke_payment_app
        - display_wait_screen
        - collect_otp
    CardNetwork:
      type: string
      description: Indicates the card network.
      enum:
        - Visa
        - Mastercard
        - AmericanExpress
        - JCB
        - DinersClub
        - Discover
        - CartesBancaires
        - UnionPay
        - Interac
        - RuPay
        - Maestro
        - Star
        - Pulse
        - Accel
        - Nyce
    AcceptedCurrencies:
      oneOf:
        - type: object
          required:
            - type
            - list
          properties:
            type:
              type: string
              enum:
                - enable_only
            list:
              type: array
              items:
                $ref: '#/components/schemas/Currency'
        - type: object
          required:
            - type
            - list
          properties:
            type:
              type: string
              enum:
                - disable_only
            list:
              type: array
              items:
                $ref: '#/components/schemas/Currency'
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              enum:
                - all_accepted
      discriminator:
        propertyName: type
    AcceptedCountries:
      oneOf:
        - type: object
          required:
            - type
            - list
          properties:
            type:
              type: string
              enum:
                - enable_only
            list:
              type: array
              items:
                $ref: '#/components/schemas/CountryAlpha2'
        - type: object
          required:
            - type
            - list
          properties:
            type:
              type: string
              enum:
                - disable_only
            list:
              type: array
              items:
                $ref: '#/components/schemas/CountryAlpha2'
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              enum:
                - all_accepted
      description: >-
        Object to filter the customer countries for which the payment method is
        displayed
      discriminator:
        propertyName: type
    MinorUnit:
      type: integer
      format: int64
      description: This Unit struct represents MinorUnit in which core amount works
    FrmPaymentMethodType:
      type: object
      description: >-
        Details of FrmPaymentMethodType are mentioned here... it should be
        passed in payment connector create api call, and stored in
        merchant_connector_table
      required:
        - payment_method_type
        - card_networks
        - flow
        - action
      properties:
        payment_method_type:
          $ref: '#/components/schemas/PaymentMethodType'
        card_networks:
          $ref: '#/components/schemas/CardNetwork'
        flow:
          $ref: '#/components/schemas/FrmPreferredFlowTypes'
        action:
          $ref: '#/components/schemas/FrmAction'
      additionalProperties: false
    FrmPreferredFlowTypes:
      type: string
      enum:
        - pre
        - post
    MerchantAccountData:
      oneOf:
        - type: object
          required:
            - iban
          properties:
            iban:
              type: object
              description: IBAN-based account for international transfers
              required:
                - iban
                - name
              properties:
                iban:
                  type: string
                  description: International Bank Account Number (up to 34 characters)
                name:
                  type: string
                  description: Account holder name
                connector_recipient_id:
                  type: string
                  nullable: true
        - type: object
          required:
            - bacs
          properties:
            bacs:
              type: object
              description: UK BACS payment system
              required:
                - account_number
                - sort_code
                - name
              properties:
                account_number:
                  type: string
                  description: 8-digit UK account number
                sort_code:
                  type: string
                  description: 6-digit UK sort code
                  example: '123456'
                name:
                  type: string
                  description: Account holder name
                connector_recipient_id:
                  type: string
                  nullable: true
        - type: object
          required:
            - faster_payments
          properties:
            faster_payments:
              type: object
              description: UK Faster Payments (instant transfers)
              required:
                - account_number
                - sort_code
                - name
              properties:
                account_number:
                  type: string
                  description: 8-digit UK account number
                sort_code:
                  type: string
                  description: 6-digit UK sort code
                name:
                  type: string
                  description: Account holder name
                connector_recipient_id:
                  type: string
                  nullable: true
        - type: object
          required:
            - sepa
          properties:
            sepa:
              type: object
              description: SEPA payments (Euro zone)
              required:
                - iban
                - name
              properties:
                iban:
                  type: string
                  description: IBAN for SEPA transfers
                  example: FR1420041010050500013M02606
                name:
                  type: string
                  description: Account holder name
                connector_recipient_id:
                  type: string
                  nullable: true
        - type: object
          required:
            - sepa_instant
          properties:
            sepa_instant:
              type: object
              description: SEPA Instant payments (10-second transfers)
              required:
                - iban
                - name
              properties:
                iban:
                  type: string
                  description: IBAN for instant SEPA transfers
                  example: DE89370400440532013000
                name:
                  type: string
                  description: Account holder name
                connector_recipient_id:
                  type: string
                  nullable: true
        - type: object
          required:
            - elixir
          properties:
            elixir:
              type: object
              description: Polish Elixir payment system
              required:
                - account_number
                - iban
                - name
              properties:
                account_number:
                  type: string
                  description: Polish account number (26 digits)
                  example: '12345678901234567890123456'
                iban:
                  type: string
                  description: Polish IBAN (28 chars)
                  example: PL27114020040000300201355387
                name:
                  type: string
                  description: Account holder name
                connector_recipient_id:
                  type: string
                  nullable: true
        - type: object
          required:
            - bankgiro
          properties:
            bankgiro:
              type: object
              description: Swedish Bankgiro system
              required:
                - number
                - name
              properties:
                number:
                  type: string
                  description: Bankgiro number (7-8 digits)
                  example: 5402-9656
                name:
                  type: string
                  description: Account holder name
                  example: Erik Andersson
                connector_recipient_id:
                  type: string
                  nullable: true
        - type: object
          required:
            - plusgiro
          properties:
            plusgiro:
              type: object
              description: Swedish Plusgiro system
              required:
                - number
                - name
              properties:
                number:
                  type: string
                  description: Plusgiro number (2-8 digits)
                  example: 4789-2
                name:
                  type: string
                  description: Account holder name
                  example: Anna Larsson
                connector_recipient_id:
                  type: string
                  nullable: true
    EventType:
      type: string
      enum:
        - payment_succeeded
        - payment_failed
        - payment_processing
        - payment_cancelled
        - payment_cancelled_post_capture
        - payment_authorized
        - payment_partially_authorized
        - payment_captured
        - payment_expired
        - action_required
        - refund_succeeded
        - refund_failed
        - dispute_opened
        - dispute_expired
        - dispute_accepted
        - dispute_cancelled
        - dispute_challenged
        - dispute_won
        - dispute_lost
        - mandate_active
        - mandate_revoked
        - payout_success
        - payout_failed
        - payout_initiated
        - payout_processing
        - payout_cancelled
        - payout_expired
        - payout_reversed
        - invoice_paid
    Currency:
      type: string
      description: >-
        The three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the
        payment amount. This field is mandatory for creating a payment.
      enum:
        - AED
        - AFN
        - ALL
        - AMD
        - ANG
        - AOA
        - ARS
        - AUD
        - AWG
        - AZN
        - BAM
        - BBD
        - BDT
        - BGN
        - BHD
        - BIF
        - BMD
        - BND
        - BOB
        - BRL
        - BSD
        - BTN
        - BWP
        - BYN
        - BZD
        - CAD
        - CDF
        - CHF
        - CLF
        - CLP
        - CNY
        - COP
        - CRC
        - CUC
        - CUP
        - CVE
        - CZK
        - DJF
        - DKK
        - DOP
        - DZD
        - EGP
        - ERN
        - ETB
        - EUR
        - FJD
        - FKP
        - GBP
        - GEL
        - GHS
        - GIP
        - GMD
        - GNF
        - GTQ
        - GYD
        - HKD
        - HNL
        - HRK
        - HTG
        - HUF
        - IDR
        - ILS
        - INR
        - IQD
        - IRR
        - ISK
        - JMD
        - JOD
        - JPY
        - KES
        - KGS
        - KHR
        - KMF
        - KPW
        - KRW
        - KWD
        - KYD
        - KZT
        - LAK
        - LBP
        - LKR
        - LRD
        - LSL
        - LYD
        - MAD
        - MDL
        - MGA
        - MKD
        - MMK
        - MNT
        - MOP
        - MRU
        - MUR
        - MVR
        - MWK
        - MXN
        - MYR
        - MZN
        - NAD
        - NGN
        - NIO
        - NOK
        - NPR
        - NZD
        - OMR
        - PAB
        - PEN
        - PGK
        - PHP
        - PKR
        - PLN
        - PYG
        - QAR
        - RON
        - RSD
        - RUB
        - RWF
        - SAR
        - SBD
        - SCR
        - SDG
        - SEK
        - SGD
        - SHP
        - SLE
        - SLL
        - SOS
        - SRD
        - SSP
        - STD
        - STN
        - SVC
        - SYP
        - SZL
        - THB
        - TJS
        - TMT
        - TND
        - TOP
        - TRY
        - TTD
        - TWD
        - TZS
        - UAH
        - UGX
        - USD
        - UYU
        - UZS
        - VES
        - VND
        - VUV
        - WST
        - XAF
        - XCD
        - XOF
        - XPF
        - YER
        - ZAR
        - ZMW
        - ZWL
    FrmAction:
      type: string
      enum:
        - cancel_txn
        - auto_refund
        - manual_review
  securitySchemes:
    api_key:
      type: apiKey
      in: header
      name: api-key
      description: >-
        Use the API key created under your merchant account from the HyperSwitch
        dashboard. API key is used to authenticate API requests from your
        merchant server only. Don't expose this key on a website or embed it in
        a mobile application.

````