Silverflow Create POS Charges API

Create a POS charge.

Business capability
Card Transaction Processing Management BC-1340.70

Operations 1

POST /pos/charges Create Charge [EXPERIMENTAL] #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/silverflow-create-pos-charges-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

silverflow-create-pos-charges-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Silverflow Create POS Charges API
  version: 1.417.0
  contact:
    name: API Support
    email: support@silverflow.com
  license:
    name: Commercial
  description: 'Operations tagged Create POS Charges across 2 of this provider''s published API definitions: silverflow-openapi.yml, silverflow-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://eu-west-1.api.silverflow.com/v1
  description: Production URL for Europe - Equivalent to https://api.silverflow.co/v1
- url: https://us-east-2.api.silverflow.com/v1
  description: Production URL for North America
- url: https://eu-west-1.api-sbx.silverflow.com/v1
  description: Sandbox URL - Equivalent to https://api-sbx.silverflow.co/v1
security:
- ApiKey: []
- BearerToken: []
tags:
- name: Create POS Charges
  description: Create a POS charge.
paths:
  /pos/charges:
    servers:
    - url: https://devices.eu-west-1.api.silverflow.com/v1
      description: Production environment
    post:
      operationId: createPosCharge
      summary: Create Charge [EXPERIMENTAL]
      security:
      - MutualTLS: []
      description: '> **Notice:** This endpoint has different server URLs and authorization method than the rest of the API.


        Create a new POS charge.

        '
      parameters:
      - $ref: '#/components/parameters/IdempotencyKey'
      tags:
      - Create POS Charges
      requestBody:
        description: Create a new POS charge.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateChargeRequest'
      responses:
        '201':
          description: The created charge
          headers:
            Location:
              description: The URL of the newly created charge
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateChargeResponse'
              examples:
                onlinePin:
                  $ref: '#/components/examples/OnlinePinResponse'
                manualEntry:
                  $ref: '#/components/examples/ManualEntryResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/openapi_components-schemas-InvalidInputErrorDetails'
                - $ref: '#/components/schemas/schemas-InvalidRequestErrorDetails'
              examples:
                InvalidInputErrorExample:
                  $ref: '#/components/examples/components-examples-InvalidInputErrorExample'
                InvalidRequestErrorExample:
                  $ref: '#/components/examples/InvalidRequestErrorExample'
        '401':
          $ref: '#/components/responses/openapi_components-responses-UnauthorizedError'
        '403':
          $ref: '#/components/responses/components-responses-ForbiddenError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ReferencedEntityNotFoundErrorDetails'
                - $ref: '#/components/schemas/CannotDetermineCardNetworkErrorDetails'
                - $ref: '#/components/schemas/IncompatibleCardNetworkForOperation'
                - $ref: '#/components/schemas/schemas-IncompatibleCardNetworkErrorDetails'
                - $ref: '#/components/schemas/BlockedMerchantAcceptorErrorDetails'
                - $ref: '#/components/schemas/NonMatchingIdempotentRequestErrorDetails'
                - $ref: '#/components/schemas/MissingPosAddressErrorDetails'
                - $ref: '#/components/schemas/UnexpectedMessageSystem'
                - $ref: '#/components/schemas/IncompatibleCardErrorDetails'
                - $ref: '#/components/schemas/IdempotentRequestIsStillBeingProcessedErrorDetails'
                - $ref: '#/components/schemas/UnexpectedCurrencyErrorDetails'
              examples:
                ReferencedEntityNotFoundErrorExample:
                  $ref: '#/components/examples/components-examples-ReferencedEntityNotFoundErrorExample'
                CannotDetermineCardNetworkErrorExample:
                  $ref: '#/components/examples/CannotDetermineCardNetworkErrorExample'
                IncompatibleCardNetworkForOperationErrorExample:
                  $ref: '#/components/examples/IncompatibleCardNetworkForOperationExample'
                IncompatibleCardNetworkErrorExample:
                  $ref: '#/components/examples/examples-IncompatibleCardNetworkErrorExample'
                BlockedMerchantAcceptorErrorExample:
                  $ref: '#/components/examples/BlockedMerchantAcceptorErrorExample'
                BlockedBinErrorExample:
                  $ref: '#/components/examples/BlockedBinErrorExample'
                NonMatchingIdempotentRequestErrorExample:
                  $ref: '#/components/examples/NonMatchingIdempotentRequestErrorExample'
                MissingPosAddressProblemExample:
                  $ref: '#/components/examples/MissingPosAddressErrorExample'
                UnexpectedMessageSystemExample:
                  $ref: '#/components/examples/UnexpectedMessageSystemExample'
                IncompatibleCardErrorDetails:
                  $ref: '#/components/examples/IncompatibleCardErrorExample'
                IdempotentRequestIsStillBeingProcessedErrorExample:
                  $ref: '#/components/examples/IdempotentRequestIsStillBeingProcessedExample'
                UnexpectedCurrencyErrorDetails:
                  $ref: '#/components/examples/UnexpectedCurrencyErrorExample'
        '429':
          $ref: '#/components/responses/components-responses-TooManyRequestsError'
        '500':
          $ref: '#/components/responses/responses-InternalServerError'
components:
  schemas:
    BaseTerminal:
      type: object
      required:
      - id
      - attended
      properties:
        id:
          type: string
          description: Terminal's ID
          pattern: ^[a-zA-Z0-9]+$
          minLength: 1
          maxLength: 8
          example: AAFF
        attended:
          type: boolean
          description: Whether the terminal is attended or not.
    POS:
      allOf:
      - type: object
        required:
        - type
        properties:
          type:
            type: string
            enum:
            - pos
      - $ref: '#/components/schemas/BaseTerminal'
      - type: object
        required:
        - capabilities
        properties:
          capabilities:
            type: array
            description: 'The capabilities of the terminal. This can be one or multiple, and if more than one is specified it means that it is capable of all of those things.


              #### Restrictions


              If `capabilities` include `keyEntry` or `signature` then `attended` must be set to `true`.

              '
            items:
              $ref: '#/components/schemas/TerminalCapability'
            example:
            - contactChip
            - contactlessChip
            - contactMagStripe
            - oneTap
    components-schemas-expiryYear:
      type: integer
      description: 'The year the card expires including the century

        '
      minimum: 1950
      maximum: 2200
    SoftPOS:
      allOf:
      - type: object
        required:
        - type
        properties:
          type:
            type: string
            enum:
            - softpos
      - $ref: '#/components/schemas/BaseTerminal'
      - type: object
        required:
        - attended
        - capabilities
        properties:
          attended:
            type: boolean
            enum:
            - true
          capabilities:
            type: array
            description: 'The capabilities of the terminal. This can be one or multiple, and if more than one is specified it means that it is capable of all of those things.

              '
            items:
              $ref: '#/components/schemas/softPosTerminalCapability'
            example:
            - onlinePin
            - contactlessChip
            - noCvm
            - oneTap
    schemas-ClearingStatus:
      type: string
      description: Clearing status of the charge
      enum:
      - none
      - manual
      - pending
      - completed
      - canceled
      - abandoned
      example: pending
    CreateChargeRequest:
      type: object
      additionalProperties: false
      required:
      - merchantAcceptorResolver
      - card
      - amount
      - type
      - terminal
      description: 'Create a charge request

        '
      properties:
        merchantAcceptorResolver:
          $ref: '#/components/schemas/components-schemas-AcceptorResolver'
        card:
          $ref: '#/components/schemas/schemas-CardInput'
        amount:
          $ref: '#/components/schemas/RequestAmount'
        type:
          $ref: '#/components/schemas/schemas-ChargeType'
        localTransactionDateTime:
          $ref: '#/components/schemas/localTransactionDateTime'
        transactionReference:
          $ref: '#/components/schemas/transactionReference'
        track2Data:
          $ref: '#/components/schemas/track2Data'
        emvData:
          $ref: '#/components/schemas/emvData'
        cardSequenceNumber:
          $ref: '#/components/schemas/cardSequenceNumber'
        pinBlock:
          $ref: '#/components/schemas/components-schemas-PinBlock'
        terminal:
          $ref: '#/components/schemas/Terminal'
        allowPartialApproval:
          $ref: '#/components/schemas/allowPartialApproval'
        clearAfter:
          $ref: '#/components/schemas/schemas-clearAfter'
    isoFieldResponseCodeDescription:
      type: string
      description: The description of the `responseCode`
      example: Approved
    newEmvData:
      type: string
      description: 'This field contains integrated circuit card (ICC) related binary data that is transmitted from the card issuer to the ICC. This field is formatted as 510 hexadecimal characters, which translates to 255 bytes.


        If this field is present in the response message, it should be passed without modification to the ICC.

        '
      pattern: ^[A-Fa-f0-9]+$
      minLength: 1
      maxLength: 510
      example: 5F2A0209785F34010082027C008407A0000000093510950500000080009A031104119C01009F02060000000043149F090200029F10120210A780030400009F2100000000000000FF9F1A0202509F26082E3EAB17CEEC500C9F2701809F330360A0409F34034403029F3501229F360200169F3704BC75E9B39F4005A00090F0019F4C089F21B02E0EEAC454
    schemas-ChargeType:
      description: Describes the kind of POS charge the merchant wants to submit.
      type: object
      required:
      - intent
      - cardEntry
      - order
      - terminalEntryMode
      properties:
        intent:
          $ref: '#/components/schemas/components-schemas-intent'
        cardEntry:
          $ref: '#/components/schemas/components-schemas-cardEntry'
        order:
          $ref: '#/components/schemas/schemas-order'
        terminalEntryMode:
          $ref: '#/components/schemas/schemas-terminalEntryMode'
        sequence:
          $ref: '#/components/schemas/schemas-sequence'
    PinBlockDataIso4:
      type: string
      title: ISO-4 Block
      description: 'Contains encrypted PIN information, formatted as an `ISO-4` block of 32 hexadecimal characters.

        '
      pattern: ^[A-Fa-f0-9]+$
      minLength: 32
      maxLength: 32
      example: 32CF86E514CB24FE32CF86E514CB24FE
    schemas-PinBlockIso4:
      type: object
      title: ISO-4 PIN Block
      description: PIN block related data in `ISO-4` format.
      additionalProperties: false
      required:
      - block
      - format
      - zoneId
      - keyId
      properties:
        format:
          type: string
          description: Indicates the type of PIN block format used.
          enum:
          - ISO-4
        block:
          $ref: '#/components/schemas/PinBlockDataIso4'
        zoneId:
          $ref: '#/components/schemas/PinBlockZoneId'
        keyId:
          $ref: '#/components/schemas/schemas-PinBlockKeyId'
    schemas-BaseAmountBreakdown:
      type: object
      required:
      - baseAmount
      description: 'A breakdown of the transaction `value`.


        All provided amounts must exactly add up to `value`.

        Providing a breakdown is only required if any other amounts besides the `baseAmount` are included.

        '
      properties:
        baseAmount:
          allOf:
          - description: 'The base transaction value in minor units. For example `$12.34` should be encoded as `1234`.

              '
          - $ref: '#/components/schemas/openapi_components-schemas-amountValue'
    schemas-CardInput:
      type: object
      required:
      - number
      - expiryMonth
      - expiryYear
      additionalProperties: false
      description: Card data
      properties:
        number:
          $ref: '#/components/schemas/components-schemas-pan'
        expiryMonth:
          $ref: '#/components/schemas/expiryMonth'
        expiryYear:
          $ref: '#/components/schemas/components-schemas-expiryYear'
        createProcessorToken:
          type: boolean
          default: false
          description: 'When set to `true`, Silverflow will [create a processor token](https://docs.silverflow.com/guides/card-tokenization) for the provided `card` and return a processor token key in the response field `card.processorTokenKey`. <a class="experimental-tag-link" href="https://docs.silverflow.com/guides/api-lifecycle#tag/EXPERIMENTAL-Tag"><span class="tag experimental-tag">EXPERIMENTAL</span></a>


            **This flag is non-blocking.** When failing to create a processor token, the authorization will take place as usual and no `card.processorTokenKey` will be returned.

            '
    schemas-ResponseAmount:
      type: object
      required:
      - value
      - currency
      additionalProperties: false
      description: 'The amount encoded as an object with a `value` in minor units and a `currency` code.


        An optional `breakdown` can be provided to indicate specific sub-amounts.

        '
      properties:
        value:
          allOf:
          - description: 'The full transaction amount in minor units. For example `$12.34` should be encoded as `1234`.


              If a `breakdown` is provided, it must exactly add up to this `value`.

              '
          - $ref: '#/components/schemas/openapi_components-schemas-amountValue'
        currency:
          $ref: '#/components/schemas/openapi_components-schemas-currencyCode-2'
        breakdown:
          $ref: '#/components/schemas/schemas-ResponseAmountBreakdown'
    softPosTerminalCapability:
      type: string
      enum:
      - contactlessChip
      - onlinePin
      - signature
      - noCvm
      - oneTap
    emvData:
      type: string
      description: 'This field contains integrated circuit card (ICC) related binary data that is transmitted from the ICC to the card issuer and from the card issuer to the ICC. This field is formatted as 510 hexadecimal characters, which translates to 255 bytes.

        '
      pattern: ^[A-Fa-f0-9]+$
      minLength: 1
      maxLength: 510
      example: 5F2A0209785F34010082027C008407A0000000093510950500000080009A031104119C01009F02060000000043149F090200029F10120210A780030400009F2100000000000000FF9F1A0202509F26082E3EAB17CEEC500C9F2701809F330360A0409F34034403029F3501229F360200169F3704BC75E9B39F4005A00090F0019F4C089F21B02E0EEAC454
    openapi_components-schemas-created:
      type: string
      description: The date and time this object was created
      format: iso-8601-date-time
      readOnly: true
    isoFieldResponseCode:
      type: string
      description: Contents of field 39
      example: '00'
    components-schemas-AcceptorResolver:
      type: object
      description: 'The resolver is used to select the appropriate merchant acceptor for creating the charge.

        It can accept either a `merchantAcceptorKey` or a combination of `merchantKey` and an optional `route`. If the optional property for `route` is not provided

        the default one generated when creating an acceptor will be used.

        '
      oneOf:
      - $ref: '#/components/schemas/components-schemas-ResolverByAcceptorKey'
      - $ref: '#/components/schemas/schemas-ResolverByMerchant'
    schemas-mastercardSpecificFields:
      type: object
      required:
      - banknetReference
      - traceId
      description: Mastercard specific ISO8583 raw values
      properties:
        banknetReference:
          type: string
          description: Contents of field 63, subfield 2
          example: ATSGHX
        traceId:
          type: string
          description: 'The trace ID can be used to refer to the original authorization for subsequent transactions (e.g., reversals, MITs).


            The value is constructed from the contents of field 63, subfield 1, field 63, subfield 2, and field 15. The value intentionally ends with two spaces.

            '
        merchantAdviceCode:
          type: string
          description: Contents of field 48, subelement 84
          example: '01'
        cvcResult:
          type: string
          description: Contents of field 48, subelement 87
          example: M
        avsResponse:
          type: string
          description: Contents of field 48, subelement 83
          example: A
        paymentAccountReference:
          type: string
          description: Contents of field 56, subelement 1, subfield 1
          example: 50020EHB2QT3YBD5KU6OFMSN6BHLU
        transactionLinkId:
          type: string
          description: Contents of field 105, subelement 1
          example: qtQRrYlsSvSecPJDBzrzYA
    ValidationError:
      type: object
      required:
      - path
      - message
      properties:
        path:
          type: string
          description: A relative path to the error location within the request body.
        errorCode:
          type: string
          description: A code that identifies the error.
        message:
          type: string
          description: A brief description of the validation error.
    ReferencedEntityNotFoundErrorDetails:
      type: object
      required:
      - type
      - title
      - status
      - detail
      - instance
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/errorType'
          - enum:
            - /silverflow/problems/referenced-entity-not-found
        title:
          allOf:
          - $ref: '#/components/schemas/errorTitle'
          - enum:
            - Referenced Entity Not Found
        status:
          allOf:
          - $ref: '#/components/schemas/errorStatus'
          - enum:
            - 409
        detail:
          $ref: '#/components/schemas/errorDetail'
        instance:
          $ref: '#/components/schemas/errorInstance'
    openapi_components-schemas-amountValue:
      type: integer
      format: int64
      minimum: 1
      maximum: 999999999999
      description: 'An amount in minor units. For example `$12.34` should be encoded as `1234`.

        '
      example: 2599
    components-schemas-intent:
      description: The intention of the cardholder
      type: string
      enum:
      - purchase
      - reservation
      - refund
    allowPartialApproval:
      type: boolean
      default: false
      description: 'Indicates whether to allow partial approvals for this charge.

        If set to `true` the charge''s and the authorization action''s `amount` field will contain the approved amount.

        It is only implemented for Visa and Mastercard. It will be ignored for other card networks.

        '
    isoFieldRetrievalReferenceNumber:
      type: string
      description: Contents of field 37
      example: '131608123456'
    schemas-version:
      type: integer
      description: The version of this object
      format: int64
      example: 1
      readOnly: true
    components-schemas-pan:
      type: string
      description: Full digits of a card
      pattern: ^\d+$
      minLength: 12
      maxLength: 19
      format: password
      example: '4761070000000905'
    components-schemas-lastModified:
      type: string
      description: The date and time this object was last modified
      format: iso-8601-date-time
      readOnly: true
    NonMatchingIdempotentRequestErrorDetails:
      type: object
      required:
      - type
      - title
      - status
      - detail
      - instance
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/errorType'
          - enum:
            - /silverflow/problems/idempotency/request-mismatch
        title:
          allOf:
          - $ref: '#/components/schemas/errorTitle'
          - enum:
            - Idempotent Request Mismatch
        status:
          allOf:
          - $ref: '#/components/schemas/errorStatus'
          - enum:
            - 409
        detail:
          $ref: '#/components/schemas/errorDetail'
        instance:
          $ref: '#/components/schemas/errorInstance'
    terminalAction:
      description: Indicates if the issuer requests a PIN in Single Tap mode, or switching interface.
      type: string
      enum:
      - requestPin
      - switchInterface
    IncompatibleCardErrorDetails:
      type: object
      required:
      - type
      - title
      - status
      - detail
      - instance
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/errorType'
          - enum:
            - /silverflow/problems/charge/incompatible-card
        title:
          allOf:
          - $ref: '#/components/schemas/errorTitle'
          - enum:
            - Incompatible Card
        status:
          allOf:
          - $ref: '#/components/schemas/errorStatus'
          - enum:
            - 409
        detail:
          $ref: '#/components/schemas/errorDetail'
        instance:
          $ref: '#/components/schemas/errorInstance'
    errorTitle:
      type: string
      description: 'A short, human-readable summary of the problem type. It does not change from occurrence to occurrence of the error.

        '
    schemas-AuthorizationIsoFields:
      type: object
      required:
      - responseCode
      - responseCodeDescription
      - networkCode
      - systemTraceAuditNumber
      - retrievalReferenceNumber
      - eci
      - networkSpecificFields
      description: Object containing the raw values from the ISO8583 response message received from the network.
      properties:
        responseCode:
          $ref: '#/components/schemas/isoFieldResponseCode'
        responseCodeDescription:
          $ref: '#/components/schemas/isoFieldResponseCodeDescription'
        authorizationCode:
          $ref: '#/components/schemas/isoFieldAuthorizationCode'
        networkCode:
          $ref: '#/components/schemas/isoFieldNetworkCode'
        systemTraceAuditNumber:
          $ref: '#/components/schemas/isoFieldSystemTraceAuditNumber'
        retrievalReferenceNumber:
          $ref: '#/components/schemas/isoFieldRetrievalReferenceNumber'
        eci:
          type: string
          enum:
          - '00'
        networkSpecificFields:
          oneOf:
          - $ref: '#/components/schemas/amexSpecificFields'
          - $ref: '#/components/schemas/discoverSpecificFields'
          - $ref: '#/components/schemas/schemas-mastercardSpecificFields'
          - $ref: '#/components/schemas/schemas-visaSpecificFields'
    schemas-acceptorRoute:
      type: string
      pattern: ^(^$|^[a-zA-Z0-9-_:;.,]+$)
      minLength: 0
      maxLength: 255
      description: 'Route key used to uniquely reference an acceptor when used in combination

        with its card network and merchant key.

        '
    schemas-RequestAmountBreakdown:
      allOf:
      - $ref: '#/components/schemas/schemas-BaseAmountBreakdown'
      - type: object
        properties:
          cashback:
            allOf:
            - description: 'The cashback amount included in the total transaction `value` in minor units.

                For example `$12.34` should be encoded as `1234`.


                The following requirements apply:

                - `amount.breakdown.cashback` is greater than 0.

                - `type.intent` must be `purchase`.

                - `emvData` must be present and include valid data for tag `9F03`.

                - `partialApproval` is not requested.


                **Currently only supported for Visa and Mastercard.**

                '
            - $ref: '#/components/schemas/openapi_components-schemas-amountValue'
          gratuity:
            allOf:
            - description: 'An optional field specifying the explicit tip or gratuity amount.


                The following requirements apply:

                - `amount.breakdown.gratuity` is greater than 0.

                - `type.intent` must be `purchase`.

                '
            - $ref: '#/components/schemas/openapi_components-schemas-amountValue'
    isoFieldSystemTraceAuditNumber:
      type: string
      description: Contents of field 11
      example: '123456'
    discoverSpecificFields:
      type: object
      description: Discover specific ISO8583 raw values
      required:
      - network
      properties:
        network:
          type: string
          description: Card network providing these fields
          enum:
          - discover
        avsResponseCode:
          type: string
          description: Contents field 44, usage 2, position 1.
        cidResultCode:
          type: string
          description: Contents field 44, usage 2, position 2.
        networkReferenceId:
          type: string
          description: Contents field 48, position 11-25.
    TerminalCapability:
      type: string
      enum:
      - contactChip
      - contactlessChip
      - contactMagStripe
      - contactlessMagStripe
      - offlineEncipheredPin
      - offlinePlaintextPin
      - onlinePin
      - signature
      - keyEntry
      - noCvm
      - oneTap
    schemas-InvalidRequestErrorDetails:
      type: object
      required:
      - type
      - title
      - status
      - detail
      - instance
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/errorType'
          - enum:
            - /silverflow/problems/charge/invalid-request
        title:
          $ref: '#/components/schemas/errorTitle'
        status:
          allOf:
          - $ref: '#/components/schemas/errorStatus'
          - enum:
            - 400
        detail:
          $ref: '#/components/schemas/errorDetail'
        instance:
          $ref: '#/components/schemas/errorInstance'
    track2Data:
      type: string
      description: 'The information encoded on track 2 of the card magnetic stripe as defined in the ISO 7813 specification, including data element separator but excluding the beginning and ending sentinels and the LRC (Longitudinal Redundancy Check) character.

        This property is mandatory when the `terminalEntryMode` is `chip`, `contactless`,`magstripe` or `magstripe-fallback`.

        '
      pattern: ^[A-Fa-f0-9]+$
      minLength: 1
      maxLength: 37
      example: 6799995700000004054D25122010875408456
    MissingPosAddressErrorDetails:
      type: object
      required:
      - type
      - title
      - status
      - detail
      - instance
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/errorType'
          - enum:
            - /silverflow/problems/merchant-acceptor/missing-pos-address
        title:
          allOf:
          - $ref: '#/components/schemas/errorTitle'
          - enum:
            - Missing Point of Sale Address
        status:
          allOf:
          - $ref: '#/components/schemas/errorStatus'
          - enum:
            - 409
        detail:
          $ref: '#/components/schemas/errorDetail'
        instance:
          $ref: '#/components/schemas/errorInstance'
    schemas-order:
      description: The method used to place the order.
      type: string
      enum:
      - counter
    schemas-IncompatibleCardNetworkErrorDetails:
      type: object
      required:
      - type
      - title
      - status
      - detail
      - instance
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/errorType'
          - enum:
            - /silverflow/problems/bin/unexpected-network
        title:
          $ref: '#/components/schemas/errorTitle'
        status:
          allOf:
          - $ref: '#/components/schemas/errorStatus'
          - enum:
            - 409
        detail:
          $ref: '#/components/schemas/errorDetail'
        instance:
          $ref: '#/components/schemas/errorInstance'
    chargeKey:
      description: Uniquely identifies a charge.
      type: string
      pattern: ^chg-[a-zA-Z0-9]+$
      minLength: 5
      maxLength: 120
      example: chg-1e1dAHhgstYTUhlphPzZ
    ForbiddenErrorDetails:
      type: object
      required:
      - type
      - title
      - status
      - detail
      - instance
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/errorType'
          - enum:
            - /silverflow/problems/forbidden
        title:
          allOf:
          - $ref: '#/components/schemas/errorTitle'
          - enum:
            - Forbidden
        status:
          allOf:
          - $ref: '#/components/schemas/errorStatus'
          - enum:
            - 403
        detail:
          $ref: '#/components/schemas/errorDetail'
        instance:
          $ref: '#/components/schemas/errorInstance'
    expiryMonth:
      type: integer
      description: 'The month the card expires. January is 1

        '
      minimum: 1
      maximum: 12
    OutputCard:
      type: object
      required:
      - maskedNumber
      additionalProperties: false
      description: 'Card data

        '
      properties:
        maskedNumber:
          type: string
          description: 'The card number used to create this charge, masked according to PCI standards. For card numbers with 16 or more digits, the first 8 and the last 4 digits are visible. For card numbers with 13-15 digits, the first 6 and the last 4 digits are visible. For cards numbers with less than 13 digits, the first 6 and last 2 digits are visible.

            '
        processorTokenKey:
          $ref: '#/components/schemas/schemas-processorTokenKey'
    amexSpecificFields:
      type: object
      required:
      - acquirerReferenceData
      description: American Express-specific ISO8583 raw values
      properties:
        acquirerReferenceData:
          type: string
          description: Contents of field 31.
        cvcResult:
          type: string
          description: Contents of field 44, first byte.
          example: Y
        avsResult:
          type: string
          description: Contents of field 44, second byte.
          example: Y
    schemas-clearingMode:
      type: string
      enum:
      - auto
      - manual
      description: 'The clearing method for the charge. Charges with `clearingMode` set to `manual` must be manually cleared later.

        '
      default: auto
    components-schemas-ResolverByAcceptorKey:
      type: object
      additionalProperties: false
      required:
      - merchantAcceptorKey
      description: 'Used to select a merchant acceptor by key.

        '
      properties:
        merchantAcceptorKey:
          $ref: '#/components/schemas/components-schemas-acceptorKey'
    CannotDetermineCardNetworkErrorDetails:
      type: object
      required:
      - type
      - title
      - status
      - detail
      - instance
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/errorType'
          - enum:
            - /silverflow/problems/charge/cannot-determine-card-network-by-card-number
        title:
          allOf:
          - $ref: '#/components/schemas/errorTitle'
          - enum:
            - Cannot Determine Card Network By Card Number
        status:
          allOf:
          - $ref: '#/components/schemas/errorStatus'
          - enum:
            - 409
        detail:
          $ref: '#/components/schemas/errorDetail'
        instance:
          $ref: '#/components/schemas/errorInstance'
    components-schemas-cardEntry:
      description: The method used to capture the card details.
      type: string
      enum:
      - terminal
      example: terminal
    sch

# --- truncated at 32 KB (69 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/silverflow/refs/heads/main/openapi/silverflow-create-pos-charges-api-openapi.yml