openapi: 3.2.0 info: title: Silverflow Create Recurring API version: 1.417.0 contact: name: API Support email: support@silverflow.com license: name: Commercial description: 'Operations tagged Create Recurring 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 Recurring description: Create different types of recurring charges. paths: /charges/{initialChargeKey}/mit: post: operationId: createChargeMitFromInitialCharge summary: Create MIT Charge from Initial Charge description: 'Create a new charge that was initiated by the merchant, without the presence of the cardholder. The request body can remain fully empty; this means the subsequent charge has the same type, amount and card data. If transaction data changes for the subsequent charges, the relevant data can be modified by providing new values. For example, the recurring amount could change monthly. Diners support is EXPERIMENTAL. Requires `charges:Create` permission. ' parameters: - $ref: '#/components/parameters/initialChargeKey' - $ref: '#/components/parameters/IdempotencyKey' tags: - Create Recurring requestBody: description: 'Create a charge. ' required: true content: application/json: schema: $ref: '#/components/schemas/CreateMitChargeFromInitialChargeRequest' examples: chargeMit: $ref: '#/components/examples/mit-from-initial-charge_Request' 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/MitChargeFromInitialChargeResponse' examples: chargeMit: $ref: '#/components/examples/mit-from-initial-charge_Response' '400': description: Bad Request content: application/json: schema: oneOf: - $ref: '#/components/schemas/openapi_components-schemas-InvalidInputErrorDetails' - $ref: '#/components/schemas/schemas-InvalidRequestErrorDetails' - $ref: '#/components/schemas/UnexpectedSequenceErrorDetails' examples: InvalidInputErrorExample: $ref: '#/components/examples/components-examples-InvalidInputErrorExample' InvalidRequestErrorExample: $ref: '#/components/examples/InvalidRequestErrorExample' UnexpectedSequenceErrorExample: $ref: '#/components/examples/UnexpectedSequenceErrorExample' '401': $ref: '#/components/responses/openapi_components-responses-UnauthorizedError' '403': $ref: '#/components/responses/components-responses-ForbiddenError' '404': $ref: '#/components/responses/EntityNotFoundError' '409': description: Conflict content: application/json: schema: oneOf: - $ref: '#/components/schemas/ReferencedEntityNotFoundErrorDetails' - $ref: '#/components/schemas/BlockedMerchantAcceptorErrorDetails' - $ref: '#/components/schemas/NonMatchingIdempotentRequestErrorDetails' - $ref: '#/components/schemas/IncompatibleCardNetworkForOperation' - $ref: '#/components/schemas/IncompatibleCardErrorDetails' - $ref: '#/components/schemas/IdempotentRequestIsStillBeingProcessedErrorDetails' - $ref: '#/components/schemas/UnexpectedCurrencyErrorDetails' - $ref: '#/components/schemas/MissingNetworkReferenceErrorDetails' examples: ReferencedEntityNotFoundErrorExample: $ref: '#/components/examples/components-examples-ReferencedEntityNotFoundErrorExample' BlockedMerchantAcceptorErrorExample: $ref: '#/components/examples/BlockedMerchantAcceptorErrorExample' BlockedBinErrorExample: $ref: '#/components/examples/BlockedBinErrorExample' NonMatchingIdempontentRequestErrorExample: $ref: '#/components/examples/NonMatchingIdempontentRequestErrorExample' IncompatibleCardNetworkForOperationErrorExample: $ref: '#/components/examples/IncompatibleCardNetworkForOperationExample' IncompatibleCardErrorDetails: $ref: '#/components/examples/IncompatibleCardErrorExample' IdempotentRequestIsStillBeingProcessedErrorExample: $ref: '#/components/examples/IdempotentRequestIsStillBeingProcessedExample' UnexpectedCurrencyErrorDetails: $ref: '#/components/examples/UnexpectedCurrencyErrorExample' MissingNetworkReferenceErrorExample: $ref: '#/components/examples/MissingNetworkReferenceErrorExample' '429': $ref: '#/components/responses/components-responses-TooManyRequestsError' '500': $ref: '#/components/responses/responses-InternalServerError' 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 /charges/mit: post: operationId: createChargeMit summary: Create MIT Charge description: "Create a new charge that was initiated by the merchant, without the presence of the cardholder.\n\nThis endpoint can be used by clients that want to be responsible of storing the card credentials themselves. \nIf you want to rely on Silverflow to store the card credentials, refer to the [Create a MIT Charge from Initial Charge endpoint](#operation/createChargeMitFromInitialCharge) .\n\nDiners support is EXPERIMENTAL.\n\nRequires `charges:Create` permission.\n" parameters: - $ref: '#/components/parameters/IdempotencyKey' tags: - Create Recurring requestBody: description: 'Create a charge. ' required: true content: application/json: schema: $ref: '#/components/schemas/CreateMitChargeRequest' examples: Visa: $ref: '#/components/examples/visa_Request' Mastercard: $ref: '#/components/examples/mastercard_Request' NetworkToken: $ref: '#/components/examples/mastercard-network-token_Request' 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/MitChargeResponse' examples: Visa: $ref: '#/components/examples/visa_Response' Mastercard: $ref: '#/components/examples/mastercard_Response' NetworkToken: $ref: '#/components/examples/mastercard-network-token_Response' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/openapi_components-schemas-InvalidInputErrorDetails' examples: InvalidInputErrorExample: $ref: '#/components/examples/components-examples-InvalidInputErrorExample' '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/BlockedMerchantAcceptorErrorDetails' - $ref: '#/components/schemas/NonMatchingIdempotentRequestErrorDetails' - $ref: '#/components/schemas/CannotDetermineCardNetworkErrorDetails' - $ref: '#/components/schemas/IncompatibleCardNetworkForOperation' - $ref: '#/components/schemas/schemas-IncompatibleCardNetworkErrorDetails' - $ref: '#/components/schemas/IncompatibleCardErrorDetails' - $ref: '#/components/schemas/IdempotentRequestIsStillBeingProcessedErrorDetails' - $ref: '#/components/schemas/UnexpectedCurrencyErrorDetails' examples: ReferencedEntityNotFoundErrorExample: $ref: '#/components/examples/components-examples-ReferencedEntityNotFoundErrorExample' IncompatibleCardNetworkForOperationErrorExample: $ref: '#/components/examples/IncompatibleCardNetworkForOperationExample' IncompatibleCardNetworkErrorExample: $ref: '#/components/examples/examples-IncompatibleCardNetworkErrorExample' BlockedMerchantAcceptorErrorExample: $ref: '#/components/examples/BlockedMerchantAcceptorErrorExample' BlockedBinErrorExample: $ref: '#/components/examples/BlockedBinErrorExample' NonMatchingIdempontentRequestErrorExample: $ref: '#/components/examples/NonMatchingIdempontentRequestErrorExample' CannotDetermineCardNetworkErrorExample: $ref: '#/components/examples/CannotDetermineCardNetworkErrorExample' 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' 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 /charges/mitFunding: post: operationId: createChargeMitFunding summary: Create MIT Funding Charge description: 'Create a new funding charge that was initiated by the merchant, without the presence of the cardholder. For more information on use-cases, [see here](https://docs.silverflow.com/guides/payouts-and-funding#tag/Funding). Mastercard support is EXPERIMENTAL. Visa DMS support is EXPERIMENTAL. Requires the `charges:CreateMitFunding` permission. ' tags: - Create Recurring parameters: - $ref: '#/components/parameters/IdempotencyKey' requestBody: description: 'Create a MIT funding charge. ' required: true content: application/json: schema: $ref: '#/components/schemas/MitFundingChargeRequest' examples: funding: $ref: '#/components/examples/mit-funding-visa_Request' responses: '201': description: The created MIT funding charge headers: Location: description: The URL of the newly created charge schema: type: string content: application/json: schema: $ref: '#/components/schemas/MitFundingChargeResponse' examples: funding: $ref: '#/components/examples/mit-funding-visa_Response' '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/BlockedMerchantAcceptorErrorDetails' - $ref: '#/components/schemas/NonMatchingIdempotentRequestErrorDetails' - $ref: '#/components/schemas/CannotDetermineCardNetworkErrorDetails' - $ref: '#/components/schemas/IncompatibleCardNetworkForOperation' - $ref: '#/components/schemas/schemas-IncompatibleCardNetworkErrorDetails' - $ref: '#/components/schemas/IncompatibleCardErrorDetails' - $ref: '#/components/schemas/IncompatibleMccErrorDetails' - $ref: '#/components/schemas/IdempotentRequestIsStillBeingProcessedErrorDetails' examples: ReferencedEntityNotFoundErrorExample: $ref: '#/components/examples/components-examples-ReferencedEntityNotFoundErrorExample' BlockedMerchantAcceptorErrorExample: $ref: '#/components/examples/BlockedMerchantAcceptorErrorExample' BlockedBinErrorExample: $ref: '#/components/examples/BlockedBinErrorExample' NonMatchingIdempontentRequestErrorExample: $ref: '#/components/examples/NonMatchingIdempontentRequestErrorExample' CannotDetermineCardNetworkErrorExample: $ref: '#/components/examples/CannotDetermineCardNetworkErrorExample' IncompatibleCardNetworkForOperationErrorExample: $ref: '#/components/examples/IncompatibleCardNetworkForOperationExample' IncompatibleCardNetworkErrorExample: $ref: '#/components/examples/examples-IncompatibleCardNetworkErrorExample' IncompatibleCardErrorDetails: $ref: '#/components/examples/IncompatibleCardErrorExample' IncompatibleMccErrorExample: $ref: '#/components/examples/IncompatibleMccErrorExample' IdempotentRequestIsStillBeingProcessedErrorExample: $ref: '#/components/examples/IdempotentRequestIsStillBeingProcessedExample' '429': $ref: '#/components/responses/components-responses-TooManyRequestsError' '500': $ref: '#/components/responses/responses-InternalServerError' 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 /charges/{initialChargeKey}/wip: post: operationId: createChargeWip summary: Create WIP Charge description: "Create a new Wallet Initiated Payment (\"WIP\") charge with the Bancontact network. WIP charges allows Bancontact PAN-based e-commerce transactions to be performed without the need for Strong Customer Authentication. There are two use cases for WIP charges:\n\n - One click express checkout\n - Recurring payments\n\nIf transaction data changes for the subsequent charges, the relevant data can be modified by providing new values. For example, the recurring amount could change monthly.\n\n**From November 22, 2026, if a valid card is not found using `card.number` in the request, the response will be a 409 with type `/silverflow/problems/card/invalid`.**\n" tags: - Create Recurring parameters: - $ref: '#/components/parameters/initialChargeKey' - $ref: '#/components/parameters/IdempotencyKey' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WipChargeRequest' examples: wip: $ref: '#/components/examples/wip_Request' 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/WipChargeResponse' examples: wip: $ref: '#/components/examples/wip_Response' '400': $ref: '#/components/responses/responses-InvalidInputError' '401': $ref: '#/components/responses/openapi_components-responses-UnauthorizedError' '409': description: Conflict content: application/json: schema: oneOf: - $ref: '#/components/schemas/ReferencedEntityNotFoundErrorDetails' - $ref: '#/components/schemas/IncompatibleCardNetworkForOperation' - $ref: '#/components/schemas/BlockedMerchantAcceptorErrorDetails' - $ref: '#/components/schemas/NonMatchingIdempotentRequestErrorDetails' - $ref: '#/components/schemas/IdempotentRequestIsStillBeingProcessedErrorDetails' examples: ReferencedEntityNotFoundErrorExample: $ref: '#/components/examples/components-examples-ReferencedEntityNotFoundErrorExample' IncompatibleCardNetworkForOperationExample: $ref: '#/components/examples/IncompatibleCardNetworkForOperationExample' BlockedMerchantAcceptorErrorExample: $ref: '#/components/examples/BlockedBinErrorExample' NonMatchingIdempotentRequestErrorExample: $ref: '#/components/examples/NonMatchingIdempontentRequestErrorExample' IdempotentRequestIsStillBeingProcessedErrorExample: $ref: '#/components/examples/IdempotentRequestIsStillBeingProcessedExample' '429': $ref: '#/components/responses/components-responses-TooManyRequestsError' '500': $ref: '#/components/responses/responses-InternalServerError' 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 components: schemas: mitFundingSca: oneOf: - $ref: '#/components/schemas/MitFundingThreeDsAuthentication' - $ref: '#/components/schemas/ScaBEP' - $ref: '#/components/schemas/AuthenticationOutOfScope' - $ref: '#/components/schemas/AuthenticationExempt' - $ref: '#/components/schemas/ScaMit' authorizationIsoFields: description: Object containing the raw values from the ISO8583 response message received from the network. oneOf: - $ref: '#/components/schemas/authorizationIsoFieldsAmericanExpress' - $ref: '#/components/schemas/authorizationIsoFieldsBancontact' - $ref: '#/components/schemas/authorizationIsoFieldsDiners' - $ref: '#/components/schemas/authorizationIsoFieldsDiscover' - $ref: '#/components/schemas/authorizationIsoFieldsMastercard' - $ref: '#/components/schemas/authorizationIsoFieldsVisa' components-schemas-expiryYear: type: integer description: 'The year the card expires including the century ' minimum: 1950 maximum: 2200 ForeignRetailerDisabled: type: object description: Transaction does not involve a foreign retailer required: - indicator additionalProperties: false properties: indicator: type: boolean enum: - false description: Specifies if end seller in the transaction is a foreign retailer AuthorizationStatus: type: string description: Authorization status of the charge. enum: - none - approved - approved-partial - declined - reversed example: approved WipType: type: object additionalProperties: false required: - intent - cardEntry - order properties: intent: type: string enum: - purchase cardEntry: type: string enum: - card-on-file order: type: string enum: - one-click - recurring complianceReasonBEP: description: 'Indicates the reason for the SCA compliance. ' type: string enum: - mandated TransactionType: type: string enum: - cryptocurrency - high-risk-securities - central-bank-digital-currency - stablecoin - blockchain-native-coin - non-fungible-token description: 'In case of a special transaction type, this allows you to specify which one. `type.intent` needs to be `purchase`. - `cryptocurrency`: A transaction involving the purchasing of cryptocurrencies. Use this for Visa only if specific type of digital asset cannot be determined. - `high-risk-securities`: A transaction involving the purchasing of high-risk securities. Only supported for Mastercard. - `central-bank-digital-currency`: A transaction involving purchase of a Central Bank Digital Currency (CBDC). Only supported for Visa. - `stablecoin`: A transaction involving purchase of stablecoins. - `blockchain-native-coin`: A transaction involving purchase of a non fiat backed blockchain coin. Only supported for Visa. - `non-fungible-token`: A transaction involving purchase of a Non Fungible Token (NFT). Only supported for Visa. Not supported for Diners. ' FundingAddressInputForReceiver: type: object required: - countryCode additionalProperties: false description: 'A physical postal address. ' properties: countryCode: oneOf: - $ref: '#/components/schemas/components-schemas-CountryCodeAlpha3' - $ref: '#/components/schemas/components-schemas-CountryCodeAlpha2' - $ref: '#/components/schemas/components-schemas-CountryCodeNumeric' stateOrProvince: $ref: '#/components/schemas/openapi_components-schemas-stateOrProvince' city: $ref: '#/components/schemas/openapi_components-schemas-city' line1: $ref: '#/components/schemas/openapi_components-schemas-line1' line2: $ref: '#/components/schemas/openapi_components-schemas-line2' postalCode: $ref: '#/components/schemas/openapi_components-schemas-postalCode' openapi_components-schemas-stateOrProvince: type: string pattern: ^[\w -,\.\-\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]+$ minLength: 1 maxLength: 120 description: 'The state (US) or province (non-US) of the address. ' example: NH MitChargeType: type: object description: 'Describes the kind of charge the merchant wants to submit. ' required: - intent - cardEntry - order properties: intent: $ref: '#/components/schemas/MitChargeIntent' cardEntry: $ref: '#/components/schemas/MitCardEntry' order: $ref: '#/components/schemas/MitChargeOrder' isoFieldResponseCodeDescription: type: string description: The description of the `responseCode` example: Approved schemas-foreignRetailer: description: 'Used for transactions fulfilled partly or fully by end seller that is in a different country than the Marketplace or Ramp Provider. VISA EXPERIMENTAL ' oneOf: - $ref: '#/components/schemas/ForeignRetailerDisabled' - $ref: '#/components/schemas/ForeignRetailerEnabled' FundingReceiverInput: type: object description: Details of the recipient of the funds. required: - firstName - lastName - accountNumber - address properties: type: allOf: - description: The type of the receiver. **Mastercard only.** EXPERIMENTAL - $ref: '#/components/schemas/SenderReceiverType' organizationName: allOf: - description: 'The name of the organization. Required when the `receiver.type = "organization"`. **Mastercard only.** EXPERIMENTAL ' - $ref: '#/components/schemas/SenderReceiverOrganizationName' firstName: allOf: - description: Recipient's first name. - $ref: '#/components/schemas/schemas-NameOfPeopleAndPlaces' middleName: allOf: - description: Recipient's middle name. - $ref: '#/components/schemas/schemas-NameOfPeopleAndPlaces' lastName: allOf: - description: Recipient's last name. - $ref: '#/components/schemas/schemas-NameOfPeopleAndPlaces' accountNumber: allOf: - description: The account number of the recipient. - $ref: '#/components/schemas/AccountNumber' accountNumberType: allOf: - description: The type of the `accountNumber`. This property is required if the `fundingType` is `account-to-account` or `person-to-person`. - $ref: '#/components/schemas/AccountNumberType' address: description: The address of the recipient. $ref: '#/components/schemas/FundingAddressInputForReceiver' MastercardInitialTransactionReference: title: Mastercard type: object required: - initialTraceId additionalProperties: false properties: initialTraceId: type: string description: The trace ID of the initial transaction minLength: 1 maxLength: 15 example: MCSPMLCC30807 transactionLinkId: type: string description: Mastercard generated Transaction Link Identifier (TLID). This value comes from the field 105 subelement 001 of the original transaction response. minLength: 1 maxLength: 22 example: qtQRrYlsSvSecPJDBzrzYA schemas-ResolverByAcceptorKey: type: object additionalProperties: false required: - merchantAcceptorKey description: 'Used to select a merchant acceptor by key. ' properties: merchantAcceptorKey: $ref: '#/components/schemas/components-schemas-acceptorKeyRef' ScaWip: type: object required: - compliance - complianceReason - method properties: method: type: string enum: - none compliance: type: string enum: - exemption complianceReason: type: string enum: - wip result: type: string clearingMode: type: string enum: - auto - manual description: 'The clearing method for the charge. - `auto`: The charge is cleared automatically as soon as possible. To delay clearing, provide a `clearAfter` timestamp. - `manual`: The charge must be manually cleared later. ' default: auto MitChargeResponse: type: object required: - key - merchantAcceptorRef - card - amount - type - status - authentication - localTransactionDateTime - authorizationIsoFields - created - version description: The created charge. additionalProperties: false properties: key: $ref: '#/components/schemas/chargeKey' merchantAcceptorRef: $ref: '#/components/schemas/components-schemas-AcceptorRef' card: $ref: '#/components/schemas/OutputCard' amount: $ref: '#/components/schemas/common_Amount' type: $ref: '#/components/schemas/MitResponseChargeType' status: $ref: '#/components/schemas/Status' authentication: $ref: '#/components/schemas/ChargeAuthenticationMit' localTransactionDateTime: $ref: '#/components/schemas/localTransactionDateTime' authorizationIsoFields: $ref: '#/components/schemas/authorizationIsoFields' transactionType: $ref: '#/components/schemas/TransactionType' transactionReference: $ref: '#/components/schemas/transactionReference' clearingMode: $ref: '#/components/schemas/clearingMode' clearAfter: $ref: '#/components/schemas/clearAfter' dynamicDescriptor: $ref: '#/components/schemas/schemas-DynamicDescriptor' foreignRetailer: $ref: '#/components/schemas/schemas-foreignRetailer' subMerchant: $ref: '#/components/schemas/subMerchantResponse' tokenDetails: allOf: - description: If `type.cardEntry` is `token-on-file` then this property can be optionally used to specify a network token cryptogram different from the one in the original authorization or a digital wallet cryptogram. - $ref: '#/components/schemas/StoredTokenDetails' allowPartialApproval: $ref: '#/components/schemas/allowPartialApproval' lastModified: $ref: '#/components/schemas/components-schemas-lastModified' created: $ref: '#/components/schemas/openapi_components-schemas-created' version: $ref: '#/components/schemas/schemas-version' MitFundingCardEntry: type: string description: 'The method used to capture the card details. ' enum: - card-on-file - token-on-file purposeOfPayment: type: string minLength: 1 maxLength: 12 description: 'A code that describes the purpose of payment to classify and report the nature and purpose of the transaction. Refer to Visa documentation for country specific requirements for this field. ' openapi_components-schemas-city: type: string pattern: ^[\w -,\.\-\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]+$ minLength: 1 maxLength: 120 description: 'The city of the address. ' example: Amsterdam DinersInitialTransactionReference: title: Diners type: object required: - originalNetworkReferenceId - originalRetrievalReferenceNumber - originalAmountValue additionalProperties: false properties: originalNetworkReferenceId: type: string description: The Network Reference ID of the original transaction. This value comes from field 123 in the original transaction response. minLength: 1 maxLength: 15 originalRetrievalReferenceNumber: type: string description: The Retrieval Reference Number of the original transaction. This value comes from field 37 in the original transaction response. minLength: 12 maxLength: 12 originalAmountValue: type: integer format: int64 minimum: 0 maximum: 999999999999 description: 'The amount in minor units from the original transaction (from field 4). ' example: 2599 AuthenticationOutOfScope: type: object required: - compliance - complianceReason - method properties: method: type: string enum: - none compliance: type: string enum: - out-of-scope complianceReason: type: string enum: - none - moto - one-leg - anonymous-prepaid - recurring StatusWithoutPartialApproval: type: object required: - authentication - authorization - clearing description: 'The status property provides a high-level representation of the lifecycle of a charge. For a complete history, the actions should be used. ' properties: authentication: $ref: '#/components/schemas/AuthenticationStatus' authorization: $ref: '#/components/schemas/AuthorizationStatusWithoutPartialApproval' clearing: $ref: '#/components/schemas/ClearingStatus' complianceBEP: description: 'Indicates SCA compliance of the charges ' type: string enum: - mandated components-schemas-CountryCodeAlpha3: type: object required: - alpha3 additionalProperties: false properties: alpha3: $ref: '#/components/schemas/schemas-countryCodeAlpha3' openapi_components-schemas-created: type: string description: The date and time this object was created format: iso-8601-date-time readOnly: true schemas-countryCodeAlpha2: type: string pattern: ^[A-Z]+$ minLength: 2 maxLength: 2 externalDocs: description: Find more info here. url: https://www.iso.org/iso-3166-country-codes.html example: NL isoFieldResponseCode: type: string description: Contents of field 39 example: '00' subMerchant: description: 'Submerchant information used in the Payment Facilitator set-up. If present, will override any subMerchant information present on the Merchant Acceptor. DISCOVER MASTERCARD VISA ' type: object additionalProperties: false properties: id: type: string description: Unique ID assigned to the subMerchant. When provided, overrides `merchantAcceptor.subMerchantId`. minLength: 1 maxLength: 15 example: SUB123456 address: $ref: '#/components/schemas/schemas-AddressInput' description: Physical address of the subMerchant. When provided, overrides `merchantAcceptor.subMerchantAddress`. AuthenticationExempt: type: object required: - compliance - complianceReason - method properties: method: type: string enum: - none compliance: type: string enum: - exemption complianceReason: type: string enum: - whitelist - auto - mit - tra - recurring - low-value - delegation - scp - wip avsResult: description: The result of the AVS verification type: string enum: - none - match - partial-match - no-match - not-processed FundingIntent: description: 'The intention of the cardholder ' type: string enum: - funding sca: oneOf: - $ref: '#/components/schemas/ThreeDsAuthentication' - $ref: '#/components/schemas/ScaBEP' - $ref: '#/components/schemas/AuthenticationOutOfScope' - $ref: '#/components/schemas/AuthenticationExempt' - $ref: '#/components/schemas/ScaMit' components-schemas-Address: type: object required: - countryCode - city - line1 - postalCode additionalProperties: false description: 'A physical postal address ' properties: countryCode: $ref: '#/components/schemas/schemas-CountryCode' stateOrProvince: $ref: '#/components/schemas/openapi_components-schemas-stateOrProvince' city: $ref: '#/components/schemas/openapi_components-schemas-city' line1: $ref: '#/components/schemas/openapi_components-schemas-line1' line2: $ref: '#/components/schemas/openapi_components-schemas-line2' postalCode: $ref: '#/components/schemas/openapi_components-schemas-postalCode' 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' MitFromInitialChargeOrder: type: string description: The method used to place the order. enum: - recurring - ucof - installment - standing-order IncompatibleMccErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/merchant-acceptor/incompatible-mcc title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Incompatible Merchant Category Code status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 409 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' authorizationIsoFieldsVisa: allOf: - $ref: '#/components/schemas/commonIsoFields' - type: object required: - networkCode - systemTraceAuditNumber - retrievalReferenceNumber - eci - networkSpecificFields properties: authorizationCode: $ref: '#/components/schemas/isoFieldAuthorizationCode' networkCode: $ref: '#/components/schemas/isoFieldNetworkCode' systemTraceAuditNumber: $ref: '#/components/schemas/isoFieldSystemTraceAuditNumber' retrievalReferenceNumber: $ref: '#/components/schemas/isoFieldRetrievalReferenceNumber' eci: $ref: '#/components/schemas/isoFieldEciVisa' networkSpecificFields: $ref: '#/components/schemas/visaSpecificFields' AccountNumber: type: string description: The account number. pattern: ^[a-zA-Z0-9 !#$%&'()*+,./:;<=>?@^_`{|}~"\-\[\]\\]+$ minLength: 1 maxLength: 50 example: '5286940020000007' schemas-countryCodeNumeric: type: string pattern: ^[0-9]+$ minLength: 3 maxLength: 3 externalDocs: description: Find more info here. url: https://www.iso.org/iso-3166-country-codes.html example: '528' StoredTokenDetailsNetwork: type: object required: - type properties: type: type: string description: Details about a token from one of the card networks enum: - network eci: $ref: '#/components/schemas/schemas-eci' openapi_components-schemas-postalCode: type: string pattern: ^[A-Z0-9]+( [A-Z0-9]*)?$ minLength: 1 maxLength: 10 description: 'The postal code of the address, allowing a single separating space. ' example: 1234BC components-schemas-amountValue: type: integer format: int64 minimum: 0 maximum: 999999999999 description: 'The amount in minor units. For example `$12.34` should be encoded as `1234`. Note that not all currencies have 2 minor units. Some have three or zero. ' example: 2599 MitFundingThreeDsAuthenticationResultResponse: type: object readOnly: true description: Object containing the information of a 3DS transaction. properties: directoryServerTransId: type: string description: Transaction ID retrieved from the Directory Server example: 5340af8a-5505-4bf6-abcd-123412341234 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. ' ScaMit: type: object required: - compliance - complianceReason - method properties: method: type: string enum: - none compliance: type: string enum: - mit complianceReason: type: string enum: - installment - ucof threeDsCryptogram: type: string description: The 3DS cryptogram provided by the digital wallet. It must be encoded in base64 format (40 bytes). minLength: 28 maxLength: 28 pattern: ^[\w\/+=]+$ example: 112233445566778899001122334= isoFieldRetrievalReferenceNumber: type: string description: Contents of field 37 example: '131608123456' threeDsComplianceReason: description: 'Indicates the reason for the SCA compliance. ' type: string enum: - mandated - none - ucof - recurring - installment - incremental - delayed-charges - no-show - reauthorization - resubmission - whitelist - auto - mit - tra - low-value - delegation - scp 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' ChargeAuthenticationWip: type: object required: - sca - cvc - avs description: 'Object container for authentication. If present, contains Strong Customer Authentication (SCA) information, but also indicates whether CVC and AVS was used. ' properties: sca: $ref: '#/components/schemas/ScaWip' cvc: description: The result of cvc verification enum: - none avs: description: The result of the AVS verification enum: - none MitFromInitialChargeType: description: 'Describes the kind of charge the merchant wants to submit. ' type: object required: - intent - cardEntry - order properties: intent: $ref: '#/components/schemas/MitChargeIntent' cardEntry: $ref: '#/components/schemas/MitFromInitialChargeCardEntry' order: $ref: '#/components/schemas/MitFromInitialChargeOrder' AmexInitialTransactionReference: title: American Express type: object required: - originalTransactionIdentifier additionalProperties: false properties: originalTransactionIdentifier: type: string description: The transaction identifier of the original transaction. This value comes from data field 31 (Acquirer Reference Data) of the original transaction response. pattern: ^[0-9]+$ minLength: 15 maxLength: 15 example: 008386585389302 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' riskAssessmentKey: type: string description: 'Key that was returned by the transaction risk assessment. ' pattern: ^rak-[a-zA-Z0-9]+$ minLength: 5 maxLength: 120 example: rak-1e1dAHhgstYTUhlphPzZ UnexpectedSequenceErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/charge/unexpected-sequence title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Unexpected Sequence status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 400 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' 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-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-cvc: type: string description: 'The CVC of the card For Mastercard, Visa, Discover, Bancontact, and Diners the length must be 3. For American Express the length must be 4. ' pattern: ^\d+$ minLength: 3 maxLength: 4 example: '123' AuthorizationStatusWithoutPartialApproval: type: string description: Authorization status of the charge. enum: - none - approved - declined - reversed example: approved authenticationValue3ds: type: string description: Base64 encoded result value from the 3DS transaction. Note that Mastercard and Visa use a different underlying format. pattern: ^[\w\/+=]+$ minLength: 1 maxLength: 28 example: kANBCCDDYJYjadADpka8KoQMqS openapi_components-schemas-line1: type: string pattern: ^[\w -,\.\-\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]+$ minLength: 1 maxLength: 120 description: 'Address line 1 ' example: Langtown Road EnhancedDataShippingAddress: type: object description: Must be provided if shipment is involved and captured on the invoice properties: postalCode: allOf: - description: Shipping postal code. - $ref: '#/components/schemas/openapi_components-schemas-postalCode' schemas-CountryCode: type: object required: - alpha3 - alpha2 - numeric properties: alpha3: $ref: '#/components/schemas/schemas-countryCodeAlpha3' alpha2: $ref: '#/components/schemas/schemas-countryCodeAlpha2' numeric: $ref: '#/components/schemas/schemas-countryCodeNumeric' clearAfter: type: string description: 'If provided, clearing will not occur before this point in time. If no timezone is included, it is assumed to be UTC. The value may be at most 6 months in the future from when the charge was created. ' format: iso-8601-date-time MitFundingChargeRequest: type: object required: - merchantAcceptorResolver - card - amount - type - initialTransactionReferences - receiver additionalProperties: false description: 'Create a MIT funding charge. ' properties: merchantAcceptorResolver: $ref: '#/components/schemas/schemas-AcceptorResolver' card: $ref: '#/components/schemas/schemas-Card' amount: $ref: '#/components/schemas/common_Amount' type: $ref: '#/components/schemas/MitFundingChargeTypeInput' initialTransactionReferences: description: Network-specific identifiers from the original authorization. oneOf: - $ref: '#/components/schemas/MastercardInitialTransactionReference' - $ref: '#/components/schemas/VisaInitialTransactionReference' threeDsAuthenticationResult: $ref: '#/components/schemas/MitFundingThreeDsAuthenticationResult' localTransactionDateTime: $ref: '#/components/schemas/localTransactionDateTime' transactionType: $ref: '#/components/schemas/FundingTransactionType' transactionReference: $ref: '#/components/schemas/transactionReference' receiver: $ref: '#/components/schemas/FundingReceiverInput' sender: $ref: '#/components/schemas/FundingSenderInput' purposeOfPayment: $ref: '#/components/schemas/purposeOfPayment' clearingMode: allOf: - description: 'The clearing method for the charge. - `auto`: The charge is cleared automatically as soon as possible. To delay clearing, provide a `clearAfter` timestamp. - `manual`: The charge must be manually cleared later. Only supported for MASTERCARD. ' - $ref: '#/components/schemas/clearingMode' clearAfter: allOf: - description: 'If provided, clearing will not occur before this point in time. The value may be at most 6 months in the future from when the charge was created. Only supported for MASTERCARD. ' - $ref: '#/components/schemas/clearAfter' riskAssessmentKey: $ref: '#/components/schemas/riskAssessmentKey' foreignRetailer: $ref: '#/components/schemas/schemas-foreignRetailer' subMerchant: $ref: '#/components/schemas/subMerchant' allowPartialApproval: allOf: - 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. Currently, only Visa and Mastercard are supported. It will be ignored for other card networks. ' - $ref: '#/components/schemas/allowPartialApproval' MissingNetworkReferenceErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/charge/missing-network-reference title: $ref: '#/components/schemas/errorTitle' status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 409 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' schemas-holderName: type: string description: 'The name of the cardholder. In case of AVS, it will be truncated by the scheme if longer than 26 characters (Visa) or 22 characters (Mastercard). More information here: [Cardholder name restrictions](charges.html#section/Appendix-A-Cardholder-Name-Restrictions) ' pattern: ^[\x20-\x7E\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]+$ minLength: 1 maxLength: 120 example: Joe Cardholder components-schemas-CountryCodeNumeric: type: object required: - numeric additionalProperties: false properties: numeric: $ref: '#/components/schemas/schemas-countryCodeNumeric' SenderReceiverOrganizationName: allOf: - description: The name of the organization. - minLength: 1 - maxLength: 140 - $ref: '#/components/schemas/schemas-NameOfPeopleAndPlaces' 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. isoFieldEciMastercard: type: string description: Contents of field 48, subelement 42, subfield 1, also known as "UCAF Collection Indicator". example: '2' ChargeAuthenticationMit: type: object required: - sca - cvc - avs description: 'Object container for authentication. If present, contains Strong Customer Authentication (SCA) information, but also indicates whether CVC and AVS was used. ' properties: sca: $ref: '#/components/schemas/sca' cvc: description: The result of cvc verification enum: - none avs: $ref: '#/components/schemas/avsResult' 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' schemas-CardByProcessorTokenKey: type: object title: Processor Token Key required: - processorTokenKey properties: processorTokenKey: $ref: '#/components/schemas/schemas-processorTokenKey' cvc: allOf: - description: 'The CVC of the card. If a CVC is provided here, it takes precedence over the one stored in the Processor Tokenization. For Mastercard, Visa, Discover, Bancontact, and Diners the length must be 3. For American Express the length must be 4. ' - $ref: '#/components/schemas/schemas-cvc' components-schemas-acceptorKeyRef: description: 'Uniquely identifies a merchant acceptor. ' type: string pattern: ^mac-[a-zA-Z0-9]+$ minLength: 5 maxLength: 120 example: mac-1eOdAHhgstYTUhlphPFf charges-funding_Identification: description: Identification used to verify sender or receiver. type: object required: - value - type properties: type: description: 'Type of identification. ' type: string enum: - date-of-birth value: description: 'The value used for identification. For `type` `date-of-birth`, the value should be provided in the [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601). ' type: string minLength: 1 maxLength: 35 MitChargeFromInitialChargeResponse: type: object description: The created MIT charge additionalProperties: false required: - key - merchantAcceptorRef - card - amount - type - status - authentication - clearingMode - localTransactionDateTime - fraudLiability - authorizationIsoFields - created - version properties: key: $ref: '#/components/schemas/chargeKey' initialChargeKey: $ref: '#/components/schemas/initialChargeKey' merchantAcceptorRef: $ref: '#/components/schemas/components-schemas-AcceptorRef' card: $ref: '#/components/schemas/OutputCard' amount: $ref: '#/components/schemas/common_Amount' type: $ref: '#/components/schemas/MitFromInitialChargeResponseChargeType' clearingMode: $ref: '#/components/schemas/clearingMode' status: $ref: '#/components/schemas/Status' authentication: $ref: '#/components/schemas/ChargeAuthentication' localTransactionDateTime: $ref: '#/components/schemas/localTransactionDateTime' fraudLiability: $ref: '#/components/schemas/fraudLiability' authorizationIsoFields: $ref: '#/components/schemas/authorizationIsoFields' transactionReference: $ref: '#/components/schemas/transactionReference' cardholderBillingAmount: $ref: '#/components/schemas/CardholderBillingAmount' billingAddress: $ref: '#/components/schemas/BillingAddress' clearAfter: $ref: '#/components/schemas/clearAfter' dynamicDescriptor: $ref: '#/components/schemas/schemas-DynamicDescriptor' foreignRetailer: $ref: '#/components/schemas/schemas-foreignRetailer' allowPartialApproval: $ref: '#/components/schemas/allowPartialApproval' lastModified: $ref: '#/components/schemas/components-schemas-lastModified' created: $ref: '#/components/schemas/openapi_components-schemas-created' version: $ref: '#/components/schemas/schemas-version' example: 1 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' ChargeAuthentication: type: object required: - sca - cvc - avs description: 'Object container for authentication. If present, contains Strong Customer Authentication (SCA) information, but also indicates whether CVC and AVS was used. ' properties: sca: $ref: '#/components/schemas/sca' cvc: $ref: '#/components/schemas/cvcResult' avs: $ref: '#/components/schemas/avsResult' VisaInitialTransactionReference: title: Visa type: object required: - initialTransactionIdentifier additionalProperties: false properties: initialTransactionIdentifier: type: string description: The Visa transaction identifier of the initial transaction pattern: ^[0-9]+$ minLength: 1 maxLength: 15 example: '303219322378732' 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' avs: type: boolean description: 'Specifies whether AVS authentication should be used for the charge. When `true`, `billingAddress` is required. Not supported for Diners. ' MitResponseChargeType: type: object description: 'Describes the kind of charge the merchant wants to submit. ' required: - intent - cardEntry - order properties: intent: $ref: '#/components/schemas/MitChargeIntent' cardEntry: $ref: '#/components/schemas/MitCardEntry' order: $ref: '#/components/schemas/MitChargeOrder' sequence: allOf: - description: 'This endpoint only allows subsequent transaction of an initial charge. The property is kept for backwards compatibility and will default to `subsequent`. ' - $ref: '#/components/schemas/MitFromInitialChargeSequence' dinersSpecificFields: type: object description: Diners specific ISO8583 raw values required: - network properties: network: type: string description: Card network providing these fields enum: - diners cvvIndicator: type: string description: Contents field 44, subfield 2 networkReferenceId: type: string description: Contents field 123 FundingSenderInput: type: object description: 'The details of the sender of the funds. **Must be provided for Visa transactions.** ' required: - firstName - lastName - address properties: type: allOf: - description: The type of the sender. **Mastercard only.** EXPERIMENTAL - $ref: '#/components/schemas/SenderReceiverType' organizationName: allOf: - description: 'The name of the organization. Required when the `sender.type` = `"organization"`. **Mastercard only.** EXPERIMENTAL ' - $ref: '#/components/schemas/SenderReceiverOrganizationName' firstName: allOf: - description: Sender's first name. - $ref: '#/components/schemas/schemas-NameOfPeopleAndPlaces' middleName: allOf: - description: Sender's middle name. - $ref: '#/components/schemas/schemas-NameOfPeopleAndPlaces' lastName: allOf: - description: Sender's last name. - $ref: '#/components/schemas/schemas-NameOfPeopleAndPlaces' accountNumber: allOf: - description: The account number of the sender. This property is required if the `fundingType` is `account-to-account`. - $ref: '#/components/schemas/AccountNumber' accountNumberType: $ref: '#/components/schemas/AccountNumberType' address: allOf: - description: The address of the sender. - $ref: '#/components/schemas/schemas-AddressInput' identification: allOf: - description: Identification used to verify the sender. - $ref: '#/components/schemas/charges-funding_Identification' nationality: oneOf: - $ref: '#/components/schemas/components-schemas-CountryCodeAlpha3' - $ref: '#/components/schemas/components-schemas-CountryCodeAlpha2' - $ref: '#/components/schemas/components-schemas-CountryCodeNumeric' 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 MitFundingThreeDsAuthentication: type: object required: - compliance - complianceReason - method - result description: 'Object container for strong customer authentication. ' properties: method: $ref: '#/components/schemas/method' compliance: type: string enum: - mandated - mit - exemption complianceReason: $ref: '#/components/schemas/threeDsComplianceReason' result: $ref: '#/components/schemas/MitFundingThreeDsAuthenticationResultResponse' authorizationIsoFieldsMastercard: allOf: - $ref: '#/components/schemas/commonIsoFields' - type: object required: - networkCode - systemTraceAuditNumber - retrievalReferenceNumber - eci - networkSpecificFields properties: authorizationCode: $ref: '#/components/schemas/isoFieldAuthorizationCode' networkCode: $ref: '#/components/schemas/isoFieldNetworkCode' systemTraceAuditNumber: $ref: '#/components/schemas/isoFieldSystemTraceAuditNumber' retrievalReferenceNumber: $ref: '#/components/schemas/isoFieldRetrievalReferenceNumber' eci: $ref: '#/components/schemas/isoFieldEciMastercard' networkSpecificFields: $ref: '#/components/schemas/mastercardSpecificFields' MitFundingChargeTypeInput: type: object description: Describes the kind of charge the merchant wants to submit. required: - intent - cardEntry - order - fundingType properties: intent: $ref: '#/components/schemas/FundingIntent' cardEntry: $ref: '#/components/schemas/MitFundingCardEntry' order: $ref: '#/components/schemas/MitFundingOrder' fundingType: $ref: '#/components/schemas/FundingType' MitChargeIntent: description: 'The intention of the cardholder. To perform an `account-status` for AMEX, `avs` has to be set to `true`. ' type: string enum: - purchase - reservation - account-status 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' BillingAddress: type: object required: - postalCode additionalProperties: false description: 'The billing address of the cardholder ' properties: countryCode: $ref: '#/components/schemas/schemas-CountryCode' stateOrProvince: $ref: '#/components/schemas/openapi_components-schemas-stateOrProvince' city: $ref: '#/components/schemas/openapi_components-schemas-city' line1: $ref: '#/components/schemas/openapi_components-schemas-line1' line2: $ref: '#/components/schemas/openapi_components-schemas-line2' postalCode: $ref: '#/components/schemas/openapi_components-schemas-postalCode' TokenDetails: description: 'Further details about the token that was used. Required if `type.cardEntry` is `token` or `token-on-file`. ' oneOf: - $ref: '#/components/schemas/TokenDetailsNetwork' - $ref: '#/components/schemas/TokenDetailsDigitalWallet' TokenDetailsDigitalWallet: allOf: - $ref: '#/components/schemas/StoredTokenDetailsDigitalWallet' - type: object required: - threeDsCryptogram properties: threeDsCryptogram: $ref: '#/components/schemas/threeDsCryptogram' AccountNumberType: description: The type of the `accountNumber`. type: string enum: - card-account - iban-bank-account - bic-bank-account - rtn-bank-account - email - phone-number - wallet-id - social-network-id schemas-EntityNotFoundErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/entity-not-found title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Not Found status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 404 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' MitFundingThreeDsAuthenticationResult: type: object required: - authenticationValue - directoryServerTransId description: 'A 3DS result from either the [3DS Authentication endpoint](#operation/create3dsAuthentication) or an external party. ' properties: authenticationValue: $ref: '#/components/schemas/authenticationValue3ds' directoryServerTransId: type: string description: Transaction ID retrieved from the Directory Server (DS). pattern: ^[\w +-=.,:;!?$@()]+$ minLength: 1 maxLength: 36 example: 5340af8a-5505-4bf6-abcd-123412341234 eci: type: string description: 'ECI value from the 3DS provider. Use this to explicitly override the ECI value in Visa authorization messages. This field has no impact for any other network. VISA ' pattern: ^\d+$ minLength: 2 maxLength: 2 example: '05' isoFieldEciAmex: type: string description: E-commerce Indicator FundingType: type: string description: "Describes the type of funding charge.\n - `account-to-account`: Transfer funds to a specific type of account. This can be specified in the `receiver`.\n - `general-funds-disbursement`: Funding transaction used to enable a payout disbursement for various use cases.\n - `liquid-assets`: Funding type used for direct acquisition of liquid and cryptocurrency assets or to prefund a wallet primarily used for such assets (e.g., stocks, shares, foreign currency exchange, or cryptocurrency). Currently only supported for **Visa.**\n - `wallet-transfer`: Transfer funds to a wallet. Currently only supported for **Visa.**\n - `person-to-person`: Transaction that uses funds from the sender’s account to fund a subsequent and linked transaction to the receiver's account. Currently only supported for **Mastercard.**\n - `me-to-me`: Transaction that debits a card account of a consumer or organization for the purpose of transferring funds to the same consumer or organization. Currently only supported for **Mastercard.** EXPERIMENTAL\n - `me-to-me-debit-prepaid`: Transaction that debits a card account of a consumer or organization for the purpose of transferring funds to a Debit or Prepaid account of the same consumer or organization. Currently only supported for **Mastercard.** EXPERIMENTAL\n" enum: - account-to-account - general-funds-disbursement - liquid-assets - wallet-transfer - person-to-person - me-to-me - me-to-me-debit-prepaid schemas-ResolverByMerchant: type: object additionalProperties: false required: - merchantKey description: 'Used to select a merchant acceptor by merchant key and an optional route. ' properties: merchantKey: $ref: '#/components/schemas/schemas-merchantKey' route: $ref: '#/components/schemas/schemas-acceptorRoute' schemas-AddressInput: type: object required: - countryCode - city - line1 - postalCode additionalProperties: false description: 'A physical postal address. ' properties: countryCode: oneOf: - $ref: '#/components/schemas/components-schemas-CountryCodeAlpha3' - $ref: '#/components/schemas/components-schemas-CountryCodeAlpha2' - $ref: '#/components/schemas/components-schemas-CountryCodeNumeric' stateOrProvince: $ref: '#/components/schemas/openapi_components-schemas-stateOrProvince' city: $ref: '#/components/schemas/openapi_components-schemas-city' line1: $ref: '#/components/schemas/openapi_components-schemas-line1' line2: $ref: '#/components/schemas/openapi_components-schemas-line2' postalCode: $ref: '#/components/schemas/openapi_components-schemas-postalCode' TokenDetailsNetwork: allOf: - $ref: '#/components/schemas/StoredTokenDetailsNetwork' - type: object required: - tokenCryptogram properties: tokenCryptogram: $ref: '#/components/schemas/tokenCryptogram' ThreeDsAuthentication: type: object required: - compliance - complianceReason - method - result description: 'Object container for strong customer authentication. ' properties: method: $ref: '#/components/schemas/method' compliance: type: string enum: - mandated - mit - exemption complianceReason: $ref: '#/components/schemas/threeDsComplianceReason' result: $ref: '#/components/schemas/ThreeDsAuthenticationResultResponse' isoFieldEciDiners: type: string description: E-commerce Indicator ThreeDsAuthenticationResult: type: object required: - authenticationValue - directoryServerTransId description: 'A 3DS result from either the [3DS Authentication endpoint](#operation/create3dsAuthentication) or an external party. ' properties: version: description: 'The 3DS protocol version which has been used to perform 3DS. **Required for American Express transactions.** ' type: string enum: - 2.2.0 authenticationValue: $ref: '#/components/schemas/authenticationValue3ds' directoryServerTransId: type: string description: Transaction ID retrieved from the Directory Server (DS). pattern: ^[\w +-=.,:;!?$@()]+$ minLength: 1 maxLength: 36 example: 5340af8a-5505-4bf6-abcd-123412341234 eci: type: string description: 'ECI value from the 3DS provider. Use this to explicitly override the ECI value in Visa authorization messages. This field has no impact for any other network. VISA ' pattern: ^\d+$ minLength: 2 maxLength: 2 example: '05' MitFundingChargeType: type: object description: Describes the kind of charge the merchant wants to submit. required: - intent - cardEntry - order - sequence - fundingType properties: intent: $ref: '#/components/schemas/FundingIntent' cardEntry: type: string enum: - card-on-file - token-on-file order: $ref: '#/components/schemas/MitFundingOrder' sequence: type: string enum: - subsequent fundingType: $ref: '#/components/schemas/FundingType' authorizationIsoFieldsBancontact: 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: type: string enum: - none systemTraceAuditNumber: $ref: '#/components/schemas/isoFieldSystemTraceAuditNumber' retrievalReferenceNumber: $ref: '#/components/schemas/isoFieldRetrievalReferenceNumber' eci: type: string enum: - none networkSpecificFields: $ref: '#/components/schemas/bancontactSpecificFields' BlockedMerchantAcceptorErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/merchant-acceptor/blocked title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Blocked Merchant Acceptor status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 409 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' IdempotentRequestIsStillBeingProcessedErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/idempotency/request-is-still-being-processed title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Request Is Still Being Processed status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 409 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' ScaBEP: type: object required: - compliance - complianceReason - method - result description: 'Object container for strong customer authentication. ' properties: method: $ref: '#/components/schemas/methodBEP' compliance: $ref: '#/components/schemas/complianceBEP' complianceReason: $ref: '#/components/schemas/complianceReasonBEP' result: $ref: '#/components/schemas/BEPAuthenticationResult' schemas-Card: description: "This field represents the card or token information. \nThe card credentials can either be passed directly in the request or be referenced using a `key`. " oneOf: - $ref: '#/components/schemas/CardInput' - $ref: '#/components/schemas/schemas-CardByProcessorTokenKey' bancontactSpecificFields: type: object description: Bancontact specific ISO8583 raw values properties: iban: type: string description: The International Bank Account Number (IBAN) returned from the bancontact authorization response. isoFieldEciVisa: type: string description: E-commerce Indicator example: '5' WipChargeRequest: type: object additionalProperties: false required: - walletDetails properties: amount: $ref: '#/components/schemas/AmountInEuro' type: $ref: '#/components/schemas/WipType' transactionReference: $ref: '#/components/schemas/transactionReference' walletDetails: $ref: '#/components/schemas/WalletDetails' EnhancedDataLineItem: type: object required: - commodityCode - description - discountAmount - productCode - quantity - unitOfMeasure - unitPrice - taxAmount - taxRate - totalAmount properties: commodityCode: type: string minLength: 1 maxLength: 12 description: Commodity classification code (e.g. UNSPSC, NAICS). Required for Visa Fleet transactions. description: type: string minLength: 2 maxLength: 26 description: Product or service description. discountAmount: type: integer format: int64 minimum: 0 maximum: 999999999999 description: Discount applied to this line item in minor currency units. productCode: type: string minLength: 1 maxLength: 12 description: Product code for the item. quantity: type: integer format: int64 minimum: 0 maximum: 999999999999 description: Quantity of items purchased. Includes 4 implied decimal places (e.g. 1.23 kg = 12300) unitOfMeasure: type: string minLength: 1 maxLength: 12 description: The unit of measurement for an item. unitPrice: type: integer format: int64 minimum: 0 maximum: 999999999999 description: Price per unit. Includes 4 implied decimal places (e.g. 1.23$ = 12300). taxAmount: type: integer format: int64 minimum: 0 maximum: 999999999999 description: Tax amount for the line item in minor currency units. taxRate: type: integer format: int64 minimum: 0 maximum: 10000 description: Tax rate percentage for the line item. Includes 2 implied decimal places (e.g. 1.23% = 123) totalAmount: type: integer format: int64 minimum: 0 maximum: 999999999999 description: Total amount for the line item in minor currency units. ForeignRetailerEnabled: type: object description: Transaction involves a foreign retailer required: - indicator additionalProperties: false properties: indicator: type: boolean enum: - true description: Specifies if end seller in the transaction is a foreign retailer amount: type: integer format: int64 minimum: 1 maximum: 999999999999 description: Specifies the exact amount corresponding to the foreign retailer. Cannot be more than the total charge amount (amount.value). example: 1000 charges-funding_FundingReceiver: type: object description: Required when `type.intent` is `funding`. Details of the recipient of the funds. required: - firstName - lastName - accountNumber - address properties: type: allOf: - description: The type of the receiver. - $ref: '#/components/schemas/SenderReceiverType' organizationName: allOf: - description: The name of the organization. - $ref: '#/components/schemas/SenderReceiverOrganizationName' firstName: allOf: - description: Recipient's first name. - $ref: '#/components/schemas/schemas-NameOfPeopleAndPlaces' middleName: allOf: - description: Recipient's middle name. - $ref: '#/components/schemas/schemas-NameOfPeopleAndPlaces' lastName: allOf: - description: Recipient's last name. - $ref: '#/components/schemas/schemas-NameOfPeopleAndPlaces' accountNumber: allOf: - description: The masked account number of the recipient. - $ref: '#/components/schemas/MaskedAccountNumber' accountNumberType: $ref: '#/components/schemas/AccountNumberType' address: allOf: - description: The address of the recipient. - $ref: '#/components/schemas/FundingAddress' UnauthorizedErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/authentication-required title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Authentication Required status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 401 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' CreateMitChargeFromInitialChargeRequest: type: object properties: amount: $ref: '#/components/schemas/common_Amount' type: $ref: '#/components/schemas/MitFromInitialChargeType' clearingMode: $ref: '#/components/schemas/clearingMode' clearAfter: $ref: '#/components/schemas/clearAfter' transactionReference: $ref: '#/components/schemas/transactionReference' localTransactionDateTime: $ref: '#/components/schemas/localTransactionDateTime' billingAddress: $ref: '#/components/schemas/BillingAddressInput' avs: $ref: '#/components/schemas/avs' threeDsAuthenticationResult: $ref: '#/components/schemas/ThreeDsAuthenticationResult' riskAssessmentKey: $ref: '#/components/schemas/riskAssessmentKey' dynamicDescriptor: $ref: '#/components/schemas/schemas-DynamicDescriptor' foreignRetailer: $ref: '#/components/schemas/schemas-foreignRetailer' allowPartialApproval: allOf: - 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. Currently, only Visa and Mastercard are supported. It will be ignored for other card networks. ' - $ref: '#/components/schemas/allowPartialApproval' enhancedData: $ref: '#/components/schemas/enhancedDataInput' MitChargeOrder: type: string description: The method used to place the order. enum: - recurring - ucof - installment - standing-order components-schemas-acceptorKey: description: Uniquely identifies a merchant acceptor. type: string pattern: ^mac-[a-zA-Z0-9]+$ minLength: 5 maxLength: 120 example: mac-1eOdAHhgstYTUhlphPFf 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/schemas-ResolverByAcceptorKey' - $ref: '#/components/schemas/schemas-ResolverByMerchant' BEPAuthenticationResult: type: object required: - trm readOnly: true description: 'Object containing the information of a BEP transaction. ' properties: trm: description: The method of initiating the BEP authentication. Stands for Transaction Routing Means. type: string enum: - '50' - '51' example: '50' ClearingStatus: type: string description: Clearing status of the charge enum: - none - manual - pending - completed - cancelled - abandoned example: pending DiscoverInitialTransactionReference: title: Discover type: object required: - originalNetworkReferenceId - originalAmountValue additionalProperties: false properties: originalNetworkReferenceId: type: string description: The network reference ID from the original transaction coming from the 0110 in field 48 pos 11-25. minLength: 1 maxLength: 15 originalAmountValue: type: integer format: int64 minimum: 0 maximum: 999999999999 description: 'The amount in minor units from the original transaction (from field 4). ' example: 2599 ThreeDsAuthenticationResultResponse: type: object readOnly: true description: Object containing the information of a 3DS transaction. properties: version: description: 'The 3DS protocol version which has been used to perform 3DS. This information is only available when it has been provided in the request. ' type: string enum: - 2.2.0 directoryServerTransId: type: string description: Transaction ID retrieved from the Directory Server example: 5340af8a-5505-4bf6-abcd-123412341234 isoFieldEciDiscover: type: string description: E-commerce Indicator transactionReference: type: string description: 'Unique ID assigned by the merchant or payment service provider for the transaction. Used to identify the transaction. ' pattern: ^[a-zA-Z0-9()+,\-.:=@;$_!*\/?|]+$ minLength: 1 maxLength: 120 example: Dz3dIzE74EfH1HeTInyE AmountInEuro: type: object required: - value - currency additionalProperties: false description: 'The amount encoded as an object with a `value` in minor units and a `currency` code. Only EUR currency is supported. ' properties: value: $ref: '#/components/schemas/components-schemas-amountValue' currency: type: string enum: - EUR visaSpecificFields: type: object required: - transactionIdentifier description: Visa specific ISO8583 raw values properties: transactionIdentifier: type: string description: Contents of field 62, subfield 2 example: '238210000026090' cvv2ResultCode: type: string description: Contents of field 44, subfield 10 example: M avsResultCode: type: string description: Contents of field 44, subfield 2 example: Y paymentAccountReference: type: string description: Contents of field 56, dataset 1, tag 1 example: 50020EHB2QT3YBD5KU6OFMSN6BHLU aniResults: type: object description: Contents of field 34, dataset 4. Result of Visa Account Name Inquiry (ANI) check. To request ANI set `type.intent` = `account-status` and provide `card.holderName` required: - status properties: status: type: string description: Contents of field 34, dataset 4, tag C0 fullNameMatch: type: string description: Contents of field 34, dataset 4, tag C4 firstNameMatch: type: string description: Contents of field 34, dataset 4, tag CA middleNameMatch: type: string description: Contents of field 34, dataset 4, tag C9 lastNameMatch: type: string description: Contents of field 34, dataset 4, tag C8 vaaiScore: type: string description: Contents of field 104, dataset 5b, tag 85 example: '01' tokenRequestorId: type: string description: Contents of field 123, dataset 68, tag 03. Identifies the Token Requestor Id (TRID) example: '40000000000' MitFundingOrder: type: string enum: - recurring - ucof - standing-order MaskedAccountNumber: type: string description: The masked account number. pattern: ^[a-zA-Z0-9 !#$%&'()*+,./:;<=>?@^_`{|}~"\-\[\]\\]+$ minLength: 1 maxLength: 50 example: '************0007' authorizationIsoFieldsDiners: allOf: - $ref: '#/components/schemas/commonIsoFields' - type: object required: - networkCode - systemTraceAuditNumber - retrievalReferenceNumber - eci - networkSpecificFields properties: authorizationCode: $ref: '#/components/schemas/isoFieldAuthorizationCode' networkCode: type: string example: not-applicable systemTraceAuditNumber: $ref: '#/components/schemas/isoFieldSystemTraceAuditNumber' retrievalReferenceNumber: $ref: '#/components/schemas/isoFieldRetrievalReferenceNumber' eci: $ref: '#/components/schemas/isoFieldEciDiners' networkSpecificFields: $ref: '#/components/schemas/dinersSpecificFields' WipChargeResponse: type: object additionalProperties: false required: - key - created - status - type - localTransactionDateTime - merchantAcceptorRef - card - amount - fraudLiability - authorizationIsoFields - authentication - version description: 'A charge ' properties: key: $ref: '#/components/schemas/chargeKey' merchantAcceptorRef: $ref: '#/components/schemas/components-schemas-AcceptorRef' card: $ref: '#/components/schemas/OutputCard' amount: $ref: '#/components/schemas/AmountInEuro' type: $ref: '#/components/schemas/WipTypeResponse' clearingMode: type: string enum: - auto status: $ref: '#/components/schemas/StatusWithoutPartialApproval' authentication: $ref: '#/components/schemas/ChargeAuthenticationWip' localTransactionDateTime: $ref: '#/components/schemas/localTransactionDateTime' transactionReference: $ref: '#/components/schemas/transactionReference' fraudLiability: $ref: '#/components/schemas/fraudLiability' authorizationIsoFields: $ref: '#/components/schemas/authorizationIsoFieldsBancontact' billingAddress: description: The billing address of the Agent $ref: '#/components/schemas/BillingAddress' created: $ref: '#/components/schemas/openapi_components-schemas-created' lastModified: $ref: '#/components/schemas/components-schemas-lastModified' version: $ref: '#/components/schemas/schemas-version' example: 1 MitFromInitialChargeResponseChargeType: description: 'Describes the kind of charge the merchant wants to submit. ' type: object required: - intent - cardEntry - order properties: intent: $ref: '#/components/schemas/MitChargeIntent' cardEntry: $ref: '#/components/schemas/MitFromInitialChargeCardEntry' order: $ref: '#/components/schemas/MitFromInitialChargeOrder' sequence: $ref: '#/components/schemas/MitFromInitialChargeSequence' schemas-eci: type: string description: Zero-padded e-commerce indicator. minLength: 2 maxLength: 2 pattern: ^\d+$ example: '05' CreateMitChargeRequest: type: object additionalProperties: false required: - merchantAcceptorResolver - card - type - amount - initialTransactionReferences properties: merchantAcceptorResolver: $ref: '#/components/schemas/schemas-AcceptorResolver' card: allOf: - description: 'This field represents the card or token information. The card credentials can either be passed directly in the request or be referenced using a `key`. Alternatively, if `type.cardEntry` is `token-on-file`, this property should contain the token credentials instead. ' - $ref: '#/components/schemas/schemas-Card' type: $ref: '#/components/schemas/MitChargeType' amount: $ref: '#/components/schemas/common_Amount' initialTransactionReferences: description: Network-specific identifiers from the original authorization. Diners support is EXPERIMENTAL. oneOf: - $ref: '#/components/schemas/AmexInitialTransactionReference' - $ref: '#/components/schemas/DiscoverInitialTransactionReference' - $ref: '#/components/schemas/MastercardInitialTransactionReference' - $ref: '#/components/schemas/VisaInitialTransactionReference' - $ref: '#/components/schemas/DinersInitialTransactionReference' tokenDetails: allOf: - description: If `type.cardEntry` is `token-on-file` then this property can be optionally used to specify a network token cryptogram different from the one in the original authorization or a digital wallet cryptogram. - $ref: '#/components/schemas/TokenDetails' transactionType: $ref: '#/components/schemas/TransactionType' transactionReference: $ref: '#/components/schemas/transactionReference' localTransactionDateTime: $ref: '#/components/schemas/localTransactionDateTime' threeDsAuthenticationResult: $ref: '#/components/schemas/ThreeDsAuthenticationResult' clearingMode: $ref: '#/components/schemas/clearingMode' clearAfter: $ref: '#/components/schemas/clearAfter' billingAddress: $ref: '#/components/schemas/BillingAddressInput' avs: $ref: '#/components/schemas/avs' dynamicDescriptor: $ref: '#/components/schemas/schemas-DynamicDescriptor' riskAssessmentKey: $ref: '#/components/schemas/riskAssessmentKey' foreignRetailer: $ref: '#/components/schemas/schemas-foreignRetailer' subMerchant: $ref: '#/components/schemas/subMerchant' enhancedData: $ref: '#/components/schemas/enhancedDataInput' allowPartialApproval: allOf: - 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. Currently, only Visa and Mastercard are supported. It will be ignored for other card networks. ' - $ref: '#/components/schemas/allowPartialApproval' schemas-NameOfPeopleAndPlaces: type: string pattern: ^[\w -,\.\-\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]+$ minLength: 1 maxLength: 120 example: Name InternalServerErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/internal-server-error title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Internal Server Error status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 500 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' cvcResult: description: The result of cvc verification type: string enum: - none - match - no-match - not-processed StoredTokenDetails: description: 'Further details about the token that was used. Required if `type.cardEntry` is `token` or `token-on-file`. ' oneOf: - $ref: '#/components/schemas/StoredTokenDetailsNetwork' - $ref: '#/components/schemas/StoredTokenDetailsDigitalWallet' tokenCryptogram: type: string description: The token cryptogram. It must be encoded in base64 format (40 bytes). minLength: 28 maxLength: 28 pattern: ^[\w\/+=]+$ example: 112233445566778899001122334= FundingAddress: type: object required: - countryCode additionalProperties: false description: 'A physical postal address ' properties: countryCode: $ref: '#/components/schemas/schemas-CountryCode' stateOrProvince: $ref: '#/components/schemas/openapi_components-schemas-stateOrProvince' city: $ref: '#/components/schemas/openapi_components-schemas-city' line1: $ref: '#/components/schemas/openapi_components-schemas-line1' line2: $ref: '#/components/schemas/openapi_components-schemas-line2' postalCode: $ref: '#/components/schemas/openapi_components-schemas-postalCode' IncompatibleCardNetworkForOperation: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/charge/incompatible-card-network-for-operation title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Incompatible Network For Operation status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 409 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' initialChargeKey: type: string allOf: - $ref: '#/components/schemas/chargeKey' description: 'Key of the initial charge in case of a recurring or installment transaction. ' example: chg-4UHjnjyeijYUH7DewdW openapi_components-schemas-InvalidInputErrorDetails: type: object required: - type - title - status - detail - instance - validationErrors properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/invalid-input title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Invalid Input status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 400 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' validationErrors: type: array items: $ref: '#/components/schemas/ValidationError' description: A list of validation errors. fraudLiability: description: Which party is liable in case of fraud. type: string enum: - acquirer - issuer WalletDetails: type: object description: The values to send to Bancontact to perform a Wallet Initiated Payment. The fields are in hexadecimal format as described by the Bancontact specifications. additionalProperties: false required: - merchantAuthMethod - merchantWipToken - walletProviderId properties: merchantAuthMethod: type: string description: Indicates how the cardholder was authenticated by the Merchant Wallet for transaction initiation. A bitmap representing the authentication method. maxLength: 2 minLength: 2 pattern: ^[0-9A-F]+$ merchantWipToken: type: string description: Static token is assigned by Bancontact to the given Merchant Wallet. maxLength: 16 minLength: 16 pattern: ^[0-9A-F]+$ walletProviderId: type: string description: This is the Payment Scheme Manager issued identifier assigned to wallets elligible to perform WIP transactions. maxLength: 6 minLength: 6 pattern: ^71[0-9]+$ MitFundingChargeAuthentication: type: object required: - sca - cvc - avs description: 'Object container for authentication. If present, contains Strong Customer Authentication (SCA) information, but also indicates whether CVC and AVS was used. ' properties: sca: $ref: '#/components/schemas/mitFundingSca' cvc: $ref: '#/components/schemas/cvcResult' avs: $ref: '#/components/schemas/avsResult' schemas-merchantKey: description: Uniquely identifies a merchant. type: string pattern: ^mct-[a-zA-Z0-9]+$ minLength: 5 maxLength: 120 example: mct-1234abcdef123 StoredTokenDetailsDigitalWallet: type: object required: - type properties: type: type: string description: Details about a token from Apple Pay or Google Pay enum: - apple-pay - google-pay eci: allOf: - description: 'Zero-padded e-commerce indicator. Only supported for VISA MASTERCARD AMEX. ' - $ref: '#/components/schemas/schemas-eci' errorInstance: type: string description: 'A reference that identifies the specific occurrence of the error. The instance is unique for every error. ' components-schemas-AcceptorRef: type: object description: Reference key and status of the acceptor required: - key - version properties: key: $ref: '#/components/schemas/components-schemas-acceptorKey' version: $ref: '#/components/schemas/schemas-version' schemas-countryCodeAlpha3: type: string pattern: ^[A-Z]+$ minLength: 3 maxLength: 3 externalDocs: description: Find more info here. url: https://www.iso.org/iso-3166-country-codes.html example: NLD BillingAddressInput: type: object required: - postalCode additionalProperties: false description: The billing address of the cardholder properties: countryCode: oneOf: - $ref: '#/components/schemas/components-schemas-CountryCodeAlpha3' - $ref: '#/components/schemas/components-schemas-CountryCodeAlpha2' - $ref: '#/components/schemas/components-schemas-CountryCodeNumeric' stateOrProvince: $ref: '#/components/schemas/openapi_components-schemas-stateOrProvince' city: $ref: '#/components/schemas/openapi_components-schemas-city' line1: $ref: '#/components/schemas/openapi_components-schemas-line1' line2: $ref: '#/components/schemas/openapi_components-schemas-line2' postalCode: $ref: '#/components/schemas/openapi_components-schemas-postalCode' localTransactionDateTime: type: string format: iso-8601-date-time description: Date and time of the transaction in the local timezone. authorizationIsoFieldsDiscover: allOf: - $ref: '#/components/schemas/commonIsoFields' - type: object required: - networkCode - systemTraceAuditNumber - retrievalReferenceNumber - eci - networkSpecificFields properties: authorizationCode: $ref: '#/components/schemas/isoFieldAuthorizationCode' networkCode: $ref: '#/components/schemas/isoFieldNetworkCode' systemTraceAuditNumber: $ref: '#/components/schemas/isoFieldSystemTraceAuditNumber' retrievalReferenceNumber: $ref: '#/components/schemas/isoFieldRetrievalReferenceNumber' eci: $ref: '#/components/schemas/isoFieldEciDiscover' networkSpecificFields: $ref: '#/components/schemas/discoverSpecificFields' errorStatus: type: integer format: int32 description: 'The HTTP status code generated by the origin server for this occurrence of the problem. ' components-schemas-CountryCodeAlpha2: type: object required: - alpha2 additionalProperties: false properties: alpha2: $ref: '#/components/schemas/schemas-countryCodeAlpha2' MitCardEntry: type: string description: 'The method used to capture the card details. ' enum: - card-on-file - token-on-file schemas-processorTokenKey: type: string description: The key to a card tokenized in the [Processor Tokenization](#tag/Processor-Tokenization). pattern: ^ptk-[a-zA-Z0-9]+$ minLength: 5 maxLength: 120 methodBEP: description: 'Indicates the method that was used to comply to SCA. ' type: string enum: - bep common_Amount: type: object required: - value - currency additionalProperties: false description: 'The amount encoded as an object with a `value` in minor units and a `currency` code. ' properties: value: $ref: '#/components/schemas/components-schemas-amountValue' currency: $ref: '#/components/schemas/common_currencyCode' MitFundingChargeResponse: type: object required: - merchantAcceptorRef - card - key - amount - localTransactionDateTime - type - receiver - status - fraudLiability - created - version - authentication - authorizationIsoFields description: 'Create a MIT funding charge. ' properties: key: $ref: '#/components/schemas/chargeKey' merchantAcceptorRef: $ref: '#/components/schemas/components-schemas-AcceptorRef' card: $ref: '#/components/schemas/OutputCard' amount: $ref: '#/components/schemas/common_Amount' type: $ref: '#/components/schemas/MitFundingChargeType' localTransactionDateTime: $ref: '#/components/schemas/localTransactionDateTime' transactionType: $ref: '#/components/schemas/FundingTransactionType' transactionReference: $ref: '#/components/schemas/transactionReference' receiver: $ref: '#/components/schemas/charges-funding_FundingReceiver' sender: $ref: '#/components/schemas/charges-funding_FundingSender' fraudLiability: $ref: '#/components/schemas/fraudLiability' status: $ref: '#/components/schemas/Status' authentication: $ref: '#/components/schemas/MitFundingChargeAuthentication' authorizationIsoFields: $ref: '#/components/schemas/authorizationIsoFields' purposeOfPayment: $ref: '#/components/schemas/purposeOfPayment' clearingMode: type: string enum: - none - auto - manual description: The clearing mode of the charge. clearAfter: $ref: '#/components/schemas/clearAfter' foreignRetailer: $ref: '#/components/schemas/schemas-foreignRetailer' subMerchant: $ref: '#/components/schemas/subMerchantResponse' allowPartialApproval: $ref: '#/components/schemas/allowPartialApproval' created: $ref: '#/components/schemas/openapi_components-schemas-created' lastModified: $ref: '#/components/schemas/components-schemas-lastModified' version: $ref: '#/components/schemas/schemas-version' TooManyRequestsErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/too-many-requests title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Too Many Requests status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 429 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' MitFromInitialChargeCardEntry: type: string description: The method used to capture the card details. enum: - card-on-file errorDetail: type: string description: 'A human readable explanation specific to this occurrence of the problem. ' AuthenticationStatus: type: string description: Strong Customer Authentication (SCA) status of the charge enum: - none - authenticated - non-authenticated example: authenticated MitFromInitialChargeSequence: type: string description: 'This endpoint only allows subsequent transaction of an initial charge which can be created through the `/charges` endpoint. ' enum: - subsequent CardholderBillingAmount: allOf: - $ref: '#/components/schemas/common_Amount' - type: object required: - conversionRate properties: conversionRate: type: object required: - cardholderBillingConversionRate - decimalIndicator properties: cardholderBillingConversionRate: type: number decimalIndicator: type: number commonIsoFields: type: object required: - responseCode - responseCodeDescription properties: responseCode: $ref: '#/components/schemas/isoFieldResponseCode' responseCodeDescription: $ref: '#/components/schemas/isoFieldResponseCodeDescription' WipTypeResponse: type: object required: - intent - cardEntry - order - sequence properties: intent: type: string enum: - purchase cardEntry: type: string enum: - card-on-file order: type: string enum: - one-click - recurring sequence: type: string enum: - subsequent schemas-DynamicDescriptor: type: object minProperties: 1 additionalProperties: false description: 'Field supports the merchant customizing the DBA name and city on a per-transaction basis, to allow the cardholder to recognize the business name and city on their card or bank statement. ' properties: merchantName: type: string pattern: ^[a-zA-Z0-9-\.!\*=_ ]+$ description: Recognizable business name that will appear on the customer's card or bank statement. example: Acme Inc. minLength: 1 maxLength: 22 merchantCity: type: string description: City from which the transaction originated example: Amsterdam pattern: ^[a-zA-Z0-9-\.!\*=_ ]+$ minLength: 1 maxLength: 13 charges-funding_FundingSender: type: object description: Details of the sender of the funds. required: - firstName - lastName - address properties: type: allOf: - description: The type of the sender. - $ref: '#/components/schemas/SenderReceiverType' organizationName: allOf: - description: The name of the organization. - $ref: '#/components/schemas/SenderReceiverOrganizationName' firstName: allOf: - description: Sender's first name. - $ref: '#/components/schemas/schemas-NameOfPeopleAndPlaces' middleName: allOf: - description: Sender's middle name. - $ref: '#/components/schemas/schemas-NameOfPeopleAndPlaces' lastName: allOf: - description: Sender's last name. - $ref: '#/components/schemas/schemas-NameOfPeopleAndPlaces' accountNumber: allOf: - description: The masked account number of the sender. - $ref: '#/components/schemas/MaskedAccountNumber' accountNumberType: $ref: '#/components/schemas/AccountNumberType' address: allOf: - description: The address of the sender. - $ref: '#/components/schemas/components-schemas-Address' identification: allOf: - description: Identification used to verify the sender. - $ref: '#/components/schemas/charges-funding_Identification' nationality: allOf: - description: The nationality of the sender. Only relevant for Visa transactions. - $ref: '#/components/schemas/schemas-CountryCode' SenderReceiverType: type: string enum: - consumer - organization - not-applicable CardInput: type: object title: Card Input 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' cvc: $ref: '#/components/schemas/schemas-cvc' holderName: $ref: '#/components/schemas/schemas-holderName' common_currencyCode: type: string enum: - AED - AFN - ALL - AMD - AOA - ARS - AUD - AWG - AZN - BAM - BBD - BDT - BHD - BIF - BMD - BND - BOB - BRL - BSD - BTN - BWP - BYN - BZD - CAD - CDF - CHF - 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 - 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 - SOS - SRD - SSP - STN - SYP - SZL - THB - TJS - TMT - TND - TOP - TRY - TTD - TWD - TZS - UAH - UGX - USD - UYU - UZS - VES - VND - VUV - WST - XAF - XCD - XCG - XOF - XPF - YER - ZAR - ZMW - ZWL description: An alphabetic ISO-4217 currency code. externalDocs: description: Find more info here. url: https://www.iso.org/iso-4217-currency-codes.html example: EUR Status: type: object required: - authentication - authorization - clearing description: 'The status property provides a high-level representation of the lifecycle of a charge. For a complete history, the actions should be used. ' properties: authentication: $ref: '#/components/schemas/AuthenticationStatus' authorization: $ref: '#/components/schemas/AuthorizationStatus' clearing: $ref: '#/components/schemas/ClearingStatus' EnhancedDataDestinationAddressInput: type: object description: Must be provided if shipment is involved and captured on the invoice properties: countryCode: oneOf: - $ref: '#/components/schemas/components-schemas-CountryCodeAlpha3' - $ref: '#/components/schemas/components-schemas-CountryCodeAlpha2' - $ref: '#/components/schemas/components-schemas-CountryCodeNumeric' postalCode: allOf: - description: Destination postal code. - $ref: '#/components/schemas/openapi_components-schemas-postalCode' errorType: type: string description: 'A relative URI reference, this property can be used to perform automated error handling. ' isoFieldNetworkCode: type: string description: Contents of field 63, subfield 1 example: '0000' openapi_components-schemas-line2: type: string pattern: ^[\w -,\.\-\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]+$ minLength: 1 maxLength: 120 description: 'Address line 2 ' example: '4200' UnexpectedCurrencyErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/bin/unexpected-currency title: $ref: '#/components/schemas/errorTitle' status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 409 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' method: description: 'Indicates the method that was used to comply to SCA. ' type: string enum: - 3ds1 - 3ds2 - device authorizationIsoFieldsAmericanExpress: allOf: - $ref: '#/components/schemas/commonIsoFields' - type: object required: - networkCode - systemTraceAuditNumber - retrievalReferenceNumber - eci - networkSpecificFields properties: authorizationCode: $ref: '#/components/schemas/isoFieldAuthorizationCode' networkCode: type: string description: Not applicable for American Express transactions. enum: - not-applicable systemTraceAuditNumber: $ref: '#/components/schemas/isoFieldSystemTraceAuditNumber' retrievalReferenceNumber: $ref: '#/components/schemas/isoFieldRetrievalReferenceNumber' eci: $ref: '#/components/schemas/isoFieldEciAmex' networkSpecificFields: $ref: '#/components/schemas/amexSpecificFields' enhancedDataInput: type: object additionalProperties: false description: An optional object for submitting Level 2 (tax and order references) and Level 3 (granular line-item details) payment data. Providing this data can qualify transactions for reduced interchange rates. VISA MASTERCARD EXPERIMENTAL required: - taxAmount properties: taxAmount: type: integer format: int64 minimum: 0 maximum: 999999999999 description: Total amount of Sales Tax or Value Added Tax (VAT) collected in minor units. Enter 0 if no tax is collected. example: 300 customerCode: type: string minLength: 1 maxLength: 25 description: A code used to identify the customer or consumer. example: REF12345 customerTaxId: type: string minLength: 1 maxLength: 13 description: Customer's tax registration or VAT number. destinationAddress: $ref: '#/components/schemas/EnhancedDataDestinationAddressInput' discountAmount: type: integer format: int64 minimum: 0 maximum: 999999999999 description: Total amount of discount at invoice level in minor units. Excludes any discount amounts defined at line item level. example: 50 invoiceNumber: type: string minLength: 1 maxLength: 25 description: Invoice number for the transaction. orderDate: type: string format: date description: Date the order was placed. example: '2026-05-01' purchaseOrderNumber: type: string minLength: 1 maxLength: 13 description: Purchase order number for the transaction. shippingAddress: $ref: '#/components/schemas/EnhancedDataShippingAddress' timeOfPurchase: type: string pattern: ^([0-1][0-9]|2[0-3])[0-5][0-9]$ minLength: 4 maxLength: 4 description: Local transaction time in HHMM format. example: '1402' lineItems: type: array minItems: 1 maxItems: 100 description: Array of line items. items: $ref: '#/components/schemas/EnhancedDataLineItem' subMerchantResponse: description: 'Submerchant information used in the Payment Facilitator set-up. This overrides any subMerchant information present on the Merchant Acceptor. ' type: object additionalProperties: false properties: id: type: string description: Unique ID assigned to the subMerchant. minLength: 1 maxLength: 15 example: SUB123456 address: $ref: '#/components/schemas/components-schemas-Address' description: Physical address of the subMerchant. FundingTransactionType: type: string enum: - cryptocurrency - central-bank-digital-currency - stablecoin - blockchain-native-coin - non-fungible-token description: 'In case of a special transaction type, this allows you to specify which one. EXPERIMENTAL - `cryptocurrency`: A transaction involving the purchasing of cryptocurrencies. Use this for Visa only if specific type of digital asset cannot be determined. Use this for Mastercard only when `fundingType` is `account-to-account`. VISAMASTERCARD - `central-bank-digital-currency`: A transaction involving purchase of a Central Bank Digital Currency (CBDC). VISA - `stablecoin`: A transaction involving purchase of stablecoins. VISA - `blockchain-native-coin`: A transaction involving purchase of a non fiat backed blockchain coin. VISA - `non-fungible-token`: A transaction involving purchase of a Non Fungible Token (NFT). VISA ' isoFieldAuthorizationCode: type: string description: Contents of field 38 example: 4A4316 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 nameValidationResult: type: string description: Contents of field 108, subelement 08, subfield 02. Result of Mastercard name validation check. To request name validation set `type.intent` = `account-status` and provide `card.holderName`. example: A 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 digitalCommerceProgramType: type: string description: Contents of field 48, subelement 48, subfield 2. Identifies the specific digital commerce program used. example: '1' onBehalfServices: type: array description: Contents of field 48, subelement 71. items: type: object required: - onBehalfService - onBehalfResult1 - onBehalfResult2 properties: onBehalfService: type: string description: Contents of field 48, subelement 71, subfield 1. example: '61' onBehalfResult1: type: string description: Contents of field 48, subelement 71, subfield 2. example: V onBehalfResult2: type: string description: Contents of field 48, subelement 71, subfield 3. example: T examples: wip_Request: summary: Create a wallet initiated charge value: type: intent: purchase cardEntry: card-on-file order: one-click amount: value: 100 currency: EUR walletDetails: merchantAuthMethod: '01' merchantWipToken: 434948032DF0C237 walletProviderId: '719901' components-examples-InternalServerErrorExample: value: type: /silverflow/problems/internal-server-error title: Internal Server Error status: 500 detail: The server encountered an unexpected condition. instance: /silverflow/b045229d-f66d-4ef7-9f5d-d48064a2aa39 CannotDetermineCardNetworkErrorExample: value: type: /silverflow/problems/charge/cannot-determine-card-network-by-card-number title: Cannot Determine Card Network By Card Number status: 409 detail: Could not determine a card network for the provided `cardNumber`. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e mit-from-initial-charge_Request: summary: Create a MIT/recurring charge from an initial charge value: type: intent: purchase cardEntry: card-on-file order: recurring amount: value: 2599 currency: EUR clearingMode: auto InvalidRequestErrorExample: value: type: /silverflow/problems/charge/invalid-request title: Invalid Request status: 400 detail: Cannot create the charge due to one or more errors in the charge request. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e components-examples-ReferencedEntityNotFoundErrorExample: value: type: /silverflow/problems/referenced-entity-not-found title: Referenced Entity Not Found status: 409 detail: The referenced acceptor with key 'mac-1eOdAHhgstYTUhlphPFf' was not found. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e BlockedMerchantAcceptorErrorExample: value: type: /silverflow/problems/merchant-acceptor/blocked title: Blocked Merchant Acceptor status: 409 detail: The merchant acceptor with key 'mac-1eOdAHhgstYTUhlphPFf' is blocked from creating charges. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e examples-AuthenticationRequiredExample: value: type: /silverflow/problems/authentication-required title: Authentication Required status: 401 detail: Authentication Required instance: /silverflow/8e445b2e-d745-4b38-a38d-781fc998e442 NonMatchingIdempontentRequestErrorExample: value: type: /silverflow/problems/idempotency/request-mismatch title: Idempotent Request Mismatch status: 409 detail: The retried request does not have the same body or URL as the initial request. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e examples-EntityNotFoundErrorExample: value: type: /silverflow/problems/entity-not-found title: Not Found status: 404 detail: The charge with key 'chg-124gasduIEAFDS2boU1f3' was not found. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e mastercard_Response: summary: Create a MIT Mastercard charge value: key: chg-1e1dAHhgstYTUhlphPzZ merchantAcceptorRef: key: mac-1eOdAHhgstYTUhlphPFf version: 1 card: maskedNumber: 52869400****0205 amount: value: 2000 currency: EUR type: intent: purchase cardEntry: card-on-file order: recurring sequence: subsequent status: authentication: none authorization: approved clearing: pending authentication: sca: compliance: out-of-scope complianceReason: moto method: none cvc: none avs: none localTransactionDateTime: '2023-08-24T14:15:22Z' authorizationIsoFields: responseCode: '00' responseCodeDescription: Approved authorizationCode: 4A4316 networkCode: '0000' systemTraceAuditNumber: '413453' retrievalReferenceNumber: '531658122456' eci: '0' networkSpecificFields: traceId: MCSPMLCC30807 banknetReference: NZB8NR created: '2023-08-24T14:15:22Z' version: 1 IdempotentRequestIsStillBeingProcessedExample: value: type: /silverflow/problems/idempotency/request-is-still-being-processed title: Request Is Still Being Processed status: 409 detail: The previous request with idempotency key '28gKCluIEKp8jVboUyr2' is still being processed. Please retry. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e wip_Response: summary: Create a wallet initiated charge value: key: chg-3sCufE2sig8Oa96QJEgS merchantAcceptorRef: key: mac-2Esunkn6IobroE2cJxuw version: 9 card: maskedNumber: 42003500****9998 amount: value: 100 currency: EUR type: intent: purchase cardEntry: card-on-file order: one-click sequence: subsequent clearingMode: auto status: authentication: none authorization: approved clearing: pending authentication: sca: method: none compliance: exemption complianceReason: wip cvc: none avs: none localTransactionDateTime: '2023-10-13T13:52:11.632+00:00' transactionReference: trx-1234567109 fraudLiability: issuer authorizationIsoFields: responseCode: '000' responseCodeDescription: Approved authorizationCode: PY962K systemTraceAuditNumber: '614176' retrievalReferenceNumber: '328613614176' eci: none networkCode: none networkSpecificFields: iban: BE68539007547034 created: '2023-10-13T13:52:11.633Z' version: 1 MissingNetworkReferenceErrorExample: value: type: /silverflow/problems/charge/missing-network-reference title: Missing Network Reference in Initial Charge status: 409 detail: The initial charge with key 'chg-1e8gKCluVboUyr2' is missing a network reference. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e IncompatibleCardNetworkForOperationExample: value: type: /silverflow/problems/charge/incompatible-card-network-for-operation title: Incompatible Network For Operation status: 409 detail: Operation 'reverse' is not supported for network 'bancontact' instance: /silverflow/b045229d-f66d-4ef7-9f5d-d48064a2aa39 mit-funding-visa_Response: summary: Create a MIT funding charge value: merchantAcceptorRef: key: mac-3rCoHlIyxYkhLa0YRTzT version: 1 key: chg-3sBWL1ZGCvgzMufWEjMy card: maskedNumber: 47610700****0905 amount: value: 200 currency: EUR type: intent: funding cardEntry: card-on-file order: recurring sequence: subsequent fundingType: account-to-account localTransactionDateTime: '2023-10-13T12:24:08.501Z' transactionReference: FR1 receiver: firstName: Joe lastName: Cardholder accountNumber: '**0801' accountNumberType: card-account address: countryCode: alpha2: NL alpha3: NLD numeric: '528' stateOrProvince: NL city: Amsterdam line1: Entrada 300 postalCode: 1114AA sender: firstName: Joy lastName: Cardholder accountNumber: '**0035' accountNumberType: card-account address: countryCode: alpha2: NL alpha3: NLD numeric: '528' stateOrProvince: NL city: Amsterdam line1: Entrada 300 postalCode: 1114AA status: authentication: none authorization: approved clearing: none fraudLiability: acquirer authentication: sca: compliance: out-of-scope complianceReason: none method: none cvc: none avs: none authorizationIsoFields: responseCode: '00' responseCodeDescription: Approved systemTraceAuditNumber: '669292' retrievalReferenceNumber: '328612669292' eci: none networkCode: '0000' networkSpecificFields: transactionIdentifier: unknown clearingMode: none created: '2023-10-13T12:24:08.502Z' version: 1 examples-ForbiddenErrorExample: value: type: /silverflow/problems/forbidden title: Forbidden status: 403 detail: 'Authenticated user ''apk-33GjasQdWl4781OsErvi'' is missing the following permission(s): charges:Create.' instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e UnexpectedSequenceErrorExample: value: type: /silverflow/problems/charge/unexpected-sequence title: Unexpected Sequence status: 400 detail: The initial charge with key 'chg-4R5t0h2Z1ll7tV5AMAS4' was expected to have a 'type.sequence' of 'initial'. To have that, it needs to have a 'type.order' of 'ucof', 'recurring', 'installment', or 'standing-order'. instance: /silverflow/27cc70fa-05f3-4757-932b-ecda1999d01d components-examples-InvalidInputErrorExample: value: type: /silverflow/problems/invalid-input title: Invalid Input status: 400 detail: The request does not adhere to the defined API schema. instance: /silverflow/b4cc37a0-ab24-46b4-aa8c-cc2d6eddf1b6 validationErrors: - path: /body/card/number message: must have required property 'number' errorCode: required.openapi.validation visa_Response: summary: Create a MIT Visa charge value: key: chg-1e1dAHhgstYTUhlphPzZ merchantAcceptorRef: key: mac-1eOdAHhgstYTUhlphPFf version: 1 card: maskedNumber: 47610700****0905 amount: value: 2000 currency: EUR type: intent: purchase cardEntry: card-on-file order: recurring sequence: subsequent status: authentication: none authorization: approved clearing: pending authentication: sca: compliance: out-of-scope complianceReason: moto method: none cvc: none avs: none localTransactionDateTime: '2023-08-24T14:15:22Z' authorizationIsoFields: responseCode: '00' responseCodeDescription: Approved authorizationCode: 4A4316 networkCode: '0000' systemTraceAuditNumber: '145156' retrievalReferenceNumber: '131608123456' eci: '0' networkSpecificFields: transactionIdentifier: '303221314991645' created: '2023-08-24T14:15:22Z' version: 1 IncompatibleCardErrorExample: value: type: /silverflow/problems/charge/incompatible-card title: Incompatible Card status: 409 detail: The country code of both the merchant and the card is 'NLD', but the card is a cross-border-only card. instance: /silverflow/b045229d-f66d-4ef7-9f5d-d48064a2aa39 UnexpectedCurrencyErrorExample: value: type: /silverflow/problems/bin/unexpected-currency title: Unexpected Currency status: 409 detail: Bin 'bin-1iXRhbDjrT2Yxvo0mSZN' only supports currency 'EUR', but the charge request provides 'USD' as 'amount.currency'. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e examples-IncompatibleCardNetworkErrorExample: value: type: /silverflow/problems/bin/unexpected-network title: Incompatible Card Network status: 409 detail: The provided card number is not compatible with the merchant acceptor, expected card number to be of network 'visa'. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e BlockedBinErrorExample: value: type: /silverflow/problems/merchant-acceptor/blocked title: Blocked Merchant Acceptor status: 409 detail: This BIN is not permitted to submit charges. instance: /silverflow/a1451a9d-f66d-4ef7-8f5d-d48564a2bb3a mit-funding-visa_Request: summary: Create a MIT funding charge value: merchantAcceptorResolver: merchantAcceptorKey: mac-1eOdAHhgstYTUhlphPFf card: number: '4761070000000905' expiryYear: 2030 expiryMonth: 12 holderName: Joe Cardholder amount: value: 200 currency: EUR type: intent: funding cardEntry: card-on-file order: recurring fundingType: account-to-account initialTransactionReferences: initialTransactionIdentifier: '303221314991645' receiver: firstName: Joe lastName: Cardholder accountNumber: '4200350000000801' accountNumberType: card-account address: line1: Entrada 300 city: Amsterdam stateOrProvince: NL postalCode: 1114AA countryCode: alpha2: NL sender: firstName: Joy lastName: Cardholder accountNumber: '4761340000000035' accountNumberType: card-account address: line1: Entrada 600 city: Amsterdam stateOrProvince: NL postalCode: 1114AA countryCode: alpha2: NL transactionReference: FR1 IncompatibleMccErrorExample: value: type: /silverflow/problems/merchant-acceptor/incompatible-mcc title: Incompatible Merchant Category Code status: 409 detail: The merchant acceptor with key 'mac-g4EaiVHfd2qwAVuS6Gv' has MCC '8398', but expected '7995'. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e mastercard-network-token_Request: summary: Create a MIT Mastercard charge with a network token value: merchantAcceptorResolver: merchantAcceptorKey: mac-1eOdAHhgstYTUhlphPFf card: number: '5286940020000205' expiryYear: 2030 expiryMonth: 12 holderName: Joe Cardholder tokenDetails: type: network tokenCryptogram: 112233445566778899001122334= type: intent: purchase cardEntry: token-on-file order: recurring amount: value: 2000 currency: EUR initialTransactionReferences: initialTraceId: MCSPMLCC30807 mit-from-initial-charge_Response: summary: Create a MIT/recurring charge from an initial charge value: key: chg-3llBLAFLn7pDlTd4lOIS merchantAcceptorRef: key: mac-3d4d3jOhg5GcI9ebskOP version: 1 card: maskedNumber: 52869400****0205 amount: value: 2599 currency: EUR type: intent: purchase cardEntry: card-on-file order: recurring sequence: subsequent clearingMode: auto status: authentication: none authorization: approved clearing: pending authentication: sca: compliance: out-of-scope complianceReason: none method: none cvc: none avs: none localTransactionDateTime: '2023-08-23T13:02:18.087Z' fraudLiability: acquirer authorizationIsoFields: responseCode: '00' responseCodeDescription: Approved authorizationCode: A2B1E6 systemTraceAuditNumber: '657599' retrievalReferenceNumber: '323513657599' eci: '0' networkCode: MCS networkSpecificFields: traceId: 'MCS5047710527 ' banknetReference: '504771' initialChargeKey: chg-3llBJMLweDpJu98qYrim created: '2023-08-23T13:02:18.088Z' version: 1 TooManyRequestsErrorExample: value: type: /silverflow/problems/too-many-requests title: Too Many Requests status: 429 detail: You have exceeded the rate limit. Please try again after the specified delay. instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e mastercard_Request: summary: Create a MIT Mastercard charge value: merchantAcceptorResolver: merchantAcceptorKey: mac-1eOdAHhgstYTUhlphPFf card: number: '5286940020000205' expiryYear: 2030 expiryMonth: 12 type: intent: purchase cardEntry: card-on-file order: recurring amount: value: 2000 currency: EUR initialTransactionReferences: initialTraceId: MCSPMLCC30807 visa_Request: summary: Create a MIT Visa charge value: merchantAcceptorResolver: merchantAcceptorKey: mac-1eOdAHhgstYTUhlphPFf card: number: '4761070000000905' expiryYear: 2030 expiryMonth: 12 type: intent: purchase cardEntry: card-on-file order: recurring amount: value: 2000 currency: EUR initialTransactionReferences: initialTransactionIdentifier: '303221314991645' mastercard-network-token_Response: summary: Create a MIT Mastercard charge with a network token value: key: chg-3sbRZxBZFXqvLHmyl0d9 merchantAcceptorRef: key: mac-3d4d3jOhg5GcI9ebskOP version: 1 card: maskedNumber: 52869400****0205 amount: value: 2000 currency: EUR type: intent: purchase cardEntry: token-on-file order: recurring sequence: subsequent clearingMode: auto status: authentication: none authorization: approved clearing: pending authentication: sca: compliance: exemption complianceReason: recurring method: none cvc: none avs: none localTransactionDateTime: '2023-10-10T13:33:48.335Z' authorizationIsoFields: responseCode: '00' responseCodeDescription: Approved authorizationCode: D279EC systemTraceAuditNumber: '826894' retrievalReferenceNumber: '328313826894' eci: '0' networkCode: MCS networkSpecificFields: traceId: 'MCS7500800527 ' banknetReference: '750080' created: '2023-10-10T13:33:48.336Z' version: 1 responses: responses-InvalidInputError: description: The request body was malformed content: application/json: schema: $ref: '#/components/schemas/openapi_components-schemas-InvalidInputErrorDetails' examples: InvalidInputErrorExample: $ref: '#/components/examples/components-examples-InvalidInputErrorExample' EntityNotFoundError: description: The requested resource was not found content: application/json: schema: $ref: '#/components/schemas/schemas-EntityNotFoundErrorDetails' examples: EntityNotFoundErrorExample: $ref: '#/components/examples/examples-EntityNotFoundErrorExample' components-responses-TooManyRequestsError: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/TooManyRequestsErrorDetails' examples: TooManyRequestsErrorExample: $ref: '#/components/examples/TooManyRequestsErrorExample' components-responses-ForbiddenError: description: The authenticated client is forbidden to make the request for the resource identified. content: application/json: schema: $ref: '#/components/schemas/ForbiddenErrorDetails' examples: ForbiddenErrorExample: $ref: '#/components/examples/examples-ForbiddenErrorExample' openapi_components-responses-UnauthorizedError: description: Authentication information is missing or invalid headers: WWW_Authenticate: schema: type: string content: application/json: schema: $ref: '#/components/schemas/UnauthorizedErrorDetails' examples: AuthenticationRequired: $ref: '#/components/examples/examples-AuthenticationRequiredExample' responses-InternalServerError: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/InternalServerErrorDetails' examples: InternalServerErrorExample: $ref: '#/components/examples/components-examples-InternalServerErrorExample' parameters: initialChargeKey: name: initialChargeKey in: path required: true description: 'Uniquely identifies the initial charge in the case of a recurring sequence. ' schema: $ref: '#/components/schemas/chargeKey' IdempotencyKey: in: header name: Idempotency-Key schema: type: string description: 'This key is used to deduplicate requests that are retried. For more information see the section on [Idempotency](https://docs.silverflow.com/guides/idempotency). ' minLength: 1 example: 28gKCluIEKp8jVboUyr2 required: false securitySchemes: ApiKey: description: "The primary method of authenticating to the Silverflow API is through API keys.\n\nAPI keys can be created by calling the [createApiKey](#operation/createApiKey) endpoint. You can create up to 40 API keys and also update and delete them, allowing for _credential rotation_.\n\nThe _Agent Activation_ process will generate an initial API Key for you. See [Activate Agent](#section/Getting-Started).\n\nA call to the [createApiKey](#operation/createApiKey) endpoint will return the following structure:\n\n```json\n{\n \"key\": \"apk-1wtRxni5IsPsSpBLWpwr\",\n \"status\": \"active\",\n \"agentKey\": \"cgt-1wtRvFLIjDOyyUR5Q2LB\",\n \"description\": \"Data lake API key\",\n \"permissions\": [\n \"charges:List\",\n \"reports:All\"\n ],\n \"created\": \"2021-06-22T11:21:45.115Z\",\n \"secret\": \"FWtnOOHAjbD6rNxWWEeVOCj7JXSEPGJQ\",\n \"version\": 1\n}\n```\n\n> **Important:** The `secret` is only returned once in the response to the `createApiKey` call.\n\nOnce created, the `key` and `secret` fields from the API key must be used in the HTTP `Authorization` header using the `Basic` scheme.\nThe Basic scheme requires a **username** and **password** to be specified, separated by a `:` (colon) and Base64 encoded.\n\nUse the following values from the API key to construct a Basic authentication header:\n\n| Basic field | API key field | Example |\n| ----------- | ------------- | ------- |\n| username | `key` | `apk-1wtRxni5IsPsSpBLWpwr` |\n| password | `secret` | `FWtnOOHAjbD6rNxWWEeVOCj7JXSEPGJQ` |\n\nIn pseudo-code a valid HTTP Basic Authentication header would be constructed as follows:\n\n```ts\nconst apiKeyId = \"apk-1wtRxni5IsPsSpBLWpwr\";\nconst apiKeySecret = \"FWtnOOHAjbD6rNxWWEeVOCj7JXSEPGJQ\";\nconst authnValue = \"Basic \" + base64Encode(apiKeyId + \":\" + apiKeySecret);\nrequest.setHeader(\"Authorization\", authnValue);\n```\n\nUsing the values from the example a valid HTTP request would look like the following:\n\n```http\nGET /v1/agents/current HTTP/1.1\nAccept: application/json\nAuthorization: Basic YXBrLTF3dFJ4bmk1SXNQc1NwQkxXcHdyOkZXdG5PT0hBamJENnJOeFdXRWVWT0NqN0pYU0VQR0pR\n```\n\nMore information on the Basic scheme can be found in [RFC-7617 - The 'Basic' HTTP Authentication Scheme](https://datatracker.ietf.org/doc/html/rfc7617)." type: http scheme: basic BearerToken: description: 'Bearer tokens are temporary security credentials that can be used to authorize ''third parties'' (bearers) access to the Silverflow API on behalf of the agent. These tokens are created by calling the [createAgentBearerToken](#operation/createAgentBearerToken) endpoint. Once created the `token` field must be used in the HTTP `Authorization` header using the `Bearer` scheme. Here''s an example of an HTTP request with a bearer token: ```http GET /v1/merchants/mct-1hPdFhmgaBzMS191nIbJ HTTP/1.1 Accept: application/json Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...40EFOgxf_3I6mPZ16bXqHd5tUyApgl0mNOAXPm5AhnA ``` More information on the Bearer scheme can be found in [RFC-6750 - The OAuth 2.0 Authorization Framework: Bearer Token Usage](https://datatracker.ietf.org/doc/html/rfc6750).' type: http scheme: bearer bearerFormat: JWT MutualTLS: type: apiKey in: header name: '-' description: 'The client must set up mTLS connection with a valid X.509 client certificate signed by a customer-provided CA (certificate authority) that is registered to a specific agent. The customer-provided CA certificate must be shared and added to Silverflow''s trust store prior to calling endpoints. Certificate validation happens at the transport layer during TLS handshake. Tenant verification is performed by matching the agent key embedded in the client certificate against the agent key embedded in the trusted CA. ' x-refined-from: - silverflow-openapi.yml - silverflow-openapi.yml x-tagGroups: - name: '' tags: - Introduction - Release Notes - name: Accounts tags: - Agents - API Keys - Bins - Merchants - Merchant Acceptors - Enrollments - Screenings - name: Event Notifications tags: - Event Subscriptions - Charges Events - Disputes Events - Fraud Notification Events - Processor Tokens Events - Network Tokens Events - Report Events - Distribution Events - AMMF Submission Events - Reconciliation Events - Clearing Events - name: 3DS Authentication tags: - 3DS Authentication - name: BEP Authentication tags: - BEP Authentication - name: Tokenization tags: - Processor Tokenization - Network Tokenization - name: Charges tags: - Create Charges - Create Recurring - Retrieve Charges - Charge Actions - name: Terminal-To-Cloud tags: - Create POS Charges - Retrieve POS Charges - POS Charge Actions - name: Card Management tags: - Card Management - name: Disputes tags: - Disputes - Documents - name: Fraud Notifications tags: - Fraud Notifications - name: Card Info tags: - Card Info - name: Currency Conversion Rates tags: - Currency Conversion Rates - name: Fees tags: - Fees - name: Reconciliation tags: - Reconciliation Details - Network Funds Transfers - name: Reports tags: - Reconciliation Reports - Settlement Reports - Card Network Reports - Dispute Reports - Fraud Notifications Reports - Charges Reports - Scheme Fee Reports - Retrieve Reports - Report Scheduling - Distributions - name: Transaction Risk Assessment tags: - Transaction Risk Assessment - name: File Subscriptions tags: - File Subscriptions