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