openapi: 3.2.0 info: title: Silverflow Create Charges API version: 1.417.0 contact: name: API Support email: support@silverflow.com license: name: Commercial description: 'Operations tagged Create Charges across 2 of this provider''s published API definitions: silverflow-openapi.yml, silverflow-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://eu-west-1.api.silverflow.com/v1 description: Production URL for Europe - Equivalent to https://api.silverflow.co/v1 - url: https://us-east-2.api.silverflow.com/v1 description: Production URL for North America - url: https://eu-west-1.api-sbx.silverflow.com/v1 description: Sandbox URL - Equivalent to https://api-sbx.silverflow.co/v1 security: - ApiKey: [] - BearerToken: [] tags: - name: Create Charges description: Create different types of charges. paths: /charges: post: operationId: createCharge summary: Create Charge description: 'Create a new charge. Optionally providing a 3DS result is supported in case 3DS was done using the [3DS Authentication endpoint](#operation/create3dsAuthentication) or with an external party. Diners support is EXPERIMENTAL. Requires the `charges:Create` permission. ' tags: - Create Charges parameters: - $ref: '#/components/parameters/IdempotencyKey' requestBody: description: 'Create a charge. ' required: true content: application/json: schema: $ref: '#/components/schemas/ChargeRequest' examples: moto: $ref: '#/components/examples/examples-Request' 3dsprovided: $ref: '#/components/examples/3ds-provided_Request' avs: $ref: '#/components/examples/avs_Request' recurring: $ref: '#/components/examples/recurring_Request' reservation: $ref: '#/components/examples/reservation_Request' googlePay: $ref: '#/components/examples/google-pay_Request' networkToken: $ref: '#/components/examples/network-token_Request' networkToken3ds: $ref: '#/components/examples/network-token-3ds_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/ChargeResponse' examples: moto: $ref: '#/components/examples/moto_Response' 3dsprovided: $ref: '#/components/examples/3ds-provided_Response' avs: $ref: '#/components/examples/avs_Response' recurring: $ref: '#/components/examples/recurring_Response' reservation: $ref: '#/components/examples/reservation_Response' googlePay: $ref: '#/components/examples/google-pay_Response' networkToken: $ref: '#/components/examples/network-token_Response' networkToken3ds: $ref: '#/components/examples/network-token-3ds_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/CannotDetermineCardNetworkErrorDetails' - $ref: '#/components/schemas/schemas-IncompatibleCardNetworkErrorDetails' - $ref: '#/components/schemas/BlockedMerchantAcceptorErrorDetails' - $ref: '#/components/schemas/NonMatchingIdempotentRequestErrorDetails' - $ref: '#/components/schemas/UnexpectedMessageSystem' - $ref: '#/components/schemas/IncompatibleCardNetworkForOperation' - $ref: '#/components/schemas/IncompatibleCardErrorDetails' - $ref: '#/components/schemas/IdempotentRequestIsStillBeingProcessedErrorDetails' - $ref: '#/components/schemas/UnexpectedCurrencyErrorDetails' examples: ReferencedEntityNotFoundErrorExample: $ref: '#/components/examples/components-examples-ReferencedEntityNotFoundErrorExample' CannotDetermineCardNetworkErrorExample: $ref: '#/components/examples/CannotDetermineCardNetworkErrorExample' IncompatibleCardNetworkErrorExample: $ref: '#/components/examples/examples-IncompatibleCardNetworkErrorExample' BlockedMerchantAcceptorErrorExample: $ref: '#/components/examples/BlockedMerchantAcceptorErrorExample' BlockedBinErrorExample: $ref: '#/components/examples/BlockedBinErrorExample' NonMatchingIdempontentRequestErrorExample: $ref: '#/components/examples/NonMatchingIdempontentRequestErrorExample' UnexpectedMessageSystemExample: $ref: '#/components/examples/UnexpectedMessageSystemExample' IncompatibleCardNetworkForOperationErrorExample: $ref: '#/components/examples/IncompatibleCardNetworkForOperationExample' 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/bep: post: operationId: createChargeBep summary: Create BEP Charge description: 'Create a new charge for an existing and complete BEP authentication. This will also initiate the [finalization](#operation/finalizeBep) of the BEP authentication flow. **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`.** Requires `charges:Create` permission. ' tags: - Create Charges parameters: - $ref: '#/components/parameters/IdempotencyKey' requestBody: description: 'Create a charge. ' required: true content: application/json: schema: $ref: '#/components/schemas/ChargeCreateBEPRequest' 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/ChargeCreateBEPResponse' '400': $ref: '#/components/responses/responses-InvalidInputError' '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/IncompatibleAuthenticationStatus' - $ref: '#/components/schemas/UnexpectedMessageSystem' - $ref: '#/components/schemas/IncompatibleCardNetworkForOperation' - $ref: '#/components/schemas/BlockedMerchantAcceptorErrorDetails' - $ref: '#/components/schemas/NonMatchingIdempotentRequestErrorDetails' - $ref: '#/components/schemas/IdempotentRequestIsStillBeingProcessedErrorDetails' examples: ReferencedEntityNotFoundErrorExample: $ref: '#/components/examples/components-examples-ReferencedEntityNotFoundErrorExample' IncompatibleAuthenticationStatusExample: $ref: '#/components/examples/IncompatibleAuthenticationStatusExample' UnexpectedMessageSystemExample: $ref: '#/components/examples/UnexpectedMessageSystemExample' IncompatibleCardNetworkForOperationErrorExample: $ref: '#/components/examples/IncompatibleCardNetworkForOperationExample' BlockedBinErrorExample: $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 /charges/funding: post: operationId: createChargeFunding summary: Create Funding Charge description: 'Create a new funding charge. For more information on use-cases, [see here](https://docs.silverflow.com/guides/payouts-and-funding#tag/Funding). Visa DMS support is EXPERIMENTAL. **NOTE**: This endpoint requires configuration on a per client basis and may be subject to additional approvals and implementation with the card schemes. Contact your Silverflow representative before integrating with this endpoint. Requires `charges:Create` permission. ' tags: - Create Charges parameters: - $ref: '#/components/parameters/IdempotencyKey' requestBody: description: 'Create a funding charge. ' required: true content: application/json: schema: $ref: '#/components/schemas/FundingChargeRequest' examples: funding: $ref: '#/components/examples/funding_Request' responses: '201': description: The created funding charge headers: Location: description: The URL of the newly created charge schema: type: string content: application/json: schema: $ref: '#/components/schemas/FundingChargeResponse' examples: funding: $ref: '#/components/examples/funding_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/NonMatchingIdempotentRequestErrorDetails' - $ref: '#/components/schemas/CannotDetermineCardNetworkErrorDetails' - $ref: '#/components/schemas/IncompatibleCardNetworkForOperation' - $ref: '#/components/schemas/schemas-IncompatibleCardNetworkErrorDetails' - $ref: '#/components/schemas/BlockedMerchantAcceptorErrorDetails' - $ref: '#/components/schemas/IncompatibleCardErrorDetails' - $ref: '#/components/schemas/IncompatibleMccErrorDetails' - $ref: '#/components/schemas/IdempotentRequestIsStillBeingProcessedErrorDetails' examples: ReferencedEntityNotFoundErrorExample: $ref: '#/components/examples/components-examples-ReferencedEntityNotFoundErrorExample' NonMatchingIdempontentRequestErrorExample: $ref: '#/components/examples/NonMatchingIdempontentRequestErrorExample' CannotDetermineCardNetworkErrorExample: $ref: '#/components/examples/CannotDetermineCardNetworkErrorExample' IncompatibleCardNetworkErrorExample: $ref: '#/components/examples/examples-IncompatibleCardNetworkErrorExample' IncompatibleCardNetworkForOperationErrorExample: $ref: '#/components/examples/IncompatibleCardNetworkForOperationExample' BlockedMerchantAcceptorErrorExample: $ref: '#/components/examples/BlockedMerchantAcceptorErrorExample' BlockedBinErrorExample: $ref: '#/components/examples/BlockedBinErrorExample' 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/payout: post: operationId: createChargePayout summary: Create Payout Charge description: 'Create a new payout charge. For more information on use-cases, [see here](https://docs.silverflow.com/guides/payouts-and-funding#tag/Payouts). **NOTE:** This endpoint requires configuration on a per client basis and may be subject to additional approvals and implementation with the card schemes. Contact your Silverflow representative before integrating with this endpoint. **Currently only supported for Visa and Mastercard.** Requires the `charges:CreatePayout` or `charges:Create` permission. ' tags: - Create Charges parameters: - $ref: '#/components/parameters/IdempotencyKey' requestBody: description: 'Create a charge. ' required: true content: application/json: schema: $ref: '#/components/schemas/PayoutChargeRequest' examples: chargePayoutGamingResponse: $ref: '#/components/examples/payout_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/PayoutChargeResponse' examples: chargePayoutGamingResponse: $ref: '#/components/examples/payout_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/CannotDetermineCardNetworkErrorDetails' - $ref: '#/components/schemas/BlockedMerchantAcceptorErrorDetails' - $ref: '#/components/schemas/NonMatchingIdempotentRequestErrorDetails' - $ref: '#/components/schemas/IncompatibleCardNetworkForOperation' - $ref: '#/components/schemas/schemas-IncompatibleCardNetworkErrorDetails' - $ref: '#/components/schemas/IncompatibleMccErrorDetails' - $ref: '#/components/schemas/IncompatibleCardErrorDetails' - $ref: '#/components/schemas/IdempotentRequestIsStillBeingProcessedErrorDetails' examples: ReferencedEntityNotFoundErrorExample: $ref: '#/components/examples/components-examples-ReferencedEntityNotFoundErrorExample' CannotDetermineCardNetworkErrorExample: $ref: '#/components/examples/CannotDetermineCardNetworkErrorExample' IncompatibleCardNetworkForOperationErrorExample: $ref: '#/components/examples/IncompatibleCardNetworkForOperationExample' IncompatibleCardNetworkErrorExample: $ref: '#/components/examples/examples-IncompatibleCardNetworkErrorExample' BlockedMerchantAcceptorErrorExample: $ref: '#/components/examples/BlockedMerchantAcceptorErrorExample' BlockedBinErrorExample: $ref: '#/components/examples/BlockedBinErrorExample' NonMatchingIdempontentRequestErrorExample: $ref: '#/components/examples/NonMatchingIdempontentRequestErrorExample' IncompatibleMccErrorExample: $ref: '#/components/examples/IncompatibleMccErrorExample' IncompatibleCardErrorDetails: $ref: '#/components/examples/IncompatibleCardErrorExample' 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/pos: post: operationId: createChargePos summary: Create POS Charge description: 'Create a new card-present charge. Requires one of the following permissions: * `charges:Create` * `charges:CreatePos` ' parameters: - $ref: '#/components/parameters/IdempotencyKey' tags: - Create Charges requestBody: description: Create a new POS charge. required: true content: application/json: schema: $ref: '#/components/schemas/ChargeCreatePos' examples: onlinePin: $ref: '#/components/examples/online-pin_Request' manualEntry: $ref: '#/components/examples/manual-entry_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/ChargeCreatePosResponse' examples: onlinePin: $ref: '#/components/examples/examples-Response' manualEntry: $ref: '#/components/examples/manual-entry_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/CannotDetermineCardNetworkErrorDetails' - $ref: '#/components/schemas/IncompatibleCardNetworkForOperation' - $ref: '#/components/schemas/schemas-IncompatibleCardNetworkErrorDetails' - $ref: '#/components/schemas/BlockedMerchantAcceptorErrorDetails' - $ref: '#/components/schemas/NonMatchingIdempotentRequestErrorDetails' - $ref: '#/components/schemas/MissingPosAddressErrorDetails' - $ref: '#/components/schemas/UnexpectedMessageSystem' - $ref: '#/components/schemas/IncompatibleCardErrorDetails' - $ref: '#/components/schemas/IdempotentRequestIsStillBeingProcessedErrorDetails' - $ref: '#/components/schemas/UnexpectedCurrencyErrorDetails' examples: ReferencedEntityNotFoundErrorExample: $ref: '#/components/examples/components-examples-ReferencedEntityNotFoundErrorExample' CannotDetermineCardNetworkErrorExample: $ref: '#/components/examples/CannotDetermineCardNetworkErrorExample' IncompatibleCardNetworkForOperationErrorExample: $ref: '#/components/examples/IncompatibleCardNetworkForOperationExample' IncompatibleCardNetworkErrorExample: $ref: '#/components/examples/examples-IncompatibleCardNetworkErrorExample' BlockedMerchantAcceptorErrorExample: $ref: '#/components/examples/BlockedMerchantAcceptorErrorExample' BlockedBinErrorExample: $ref: '#/components/examples/BlockedBinErrorExample' NonMatchingIdempontentRequestErrorExample: $ref: '#/components/examples/NonMatchingIdempontentRequestErrorExample' MissingPosAddressProblemExample: $ref: '#/components/examples/MissingPosAddressErrorExample' UnexpectedMessageSystemExample: $ref: '#/components/examples/UnexpectedMessageSystemExample' IncompatibleCardErrorDetails: $ref: '#/components/examples/IncompatibleCardErrorExample' IdempotentRequestIsStillBeingProcessedErrorExample: $ref: '#/components/examples/IdempotentRequestIsStillBeingProcessedExample' UnexpectedCurrencyErrorDetails: $ref: '#/components/examples/UnexpectedCurrencyErrorExample' '429': $ref: '#/components/responses/components-responses-TooManyRequestsError' '500': $ref: '#/components/responses/responses-InternalServerError' 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/atm: post: operationId: createChargeAtm summary: Create ATM Charge [EXPERIMENTAL] description: 'Create a new ATM withdrawal charge. Requires one of the following permissions: * `charges:Create` * `charges:CreateAtm` ' parameters: - $ref: '#/components/parameters/IdempotencyKey' tags: - Create Charges requestBody: description: Create a new ATM charge. required: true content: application/json: schema: $ref: '#/components/schemas/ChargeCreateAtm' responses: '201': description: The created ATM charge headers: Location: description: The URL of the newly created charge schema: type: string content: application/json: schema: $ref: '#/components/schemas/ChargeCreateAtmResponse' '400': description: Bad Request content: application/json: schema: oneOf: - $ref: '#/components/schemas/openapi_components-schemas-InvalidInputErrorDetails' - $ref: '#/components/schemas/schemas-InvalidRequestErrorDetails' examples: InvalidInputErrorExample: $ref: '#/components/examples/components-examples-InvalidInputErrorExample' InvalidRequestErrorExample: $ref: '#/components/examples/InvalidRequestErrorExample' '401': $ref: '#/components/responses/openapi_components-responses-UnauthorizedError' '403': $ref: '#/components/responses/components-responses-ForbiddenError' '409': description: Conflict content: application/json: schema: oneOf: - $ref: '#/components/schemas/ReferencedEntityNotFoundErrorDetails' - $ref: '#/components/schemas/CannotDetermineCardNetworkErrorDetails' - $ref: '#/components/schemas/IncompatibleCardNetworkForOperation' - $ref: '#/components/schemas/schemas-IncompatibleCardNetworkErrorDetails' - $ref: '#/components/schemas/BlockedMerchantAcceptorErrorDetails' - $ref: '#/components/schemas/NonMatchingIdempotentRequestErrorDetails' - $ref: '#/components/schemas/MissingPosAddressErrorDetails' - $ref: '#/components/schemas/IncompatibleMccErrorDetails' - $ref: '#/components/schemas/IncompatibleCardErrorDetails' - $ref: '#/components/schemas/IdempotentRequestIsStillBeingProcessedErrorDetails' examples: ReferencedEntityNotFoundErrorExample: $ref: '#/components/examples/components-examples-ReferencedEntityNotFoundErrorExample' CannotDetermineCardNetworkErrorExample: $ref: '#/components/examples/CannotDetermineCardNetworkErrorExample' IncompatibleCardNetworkForOperationExample: $ref: '#/components/examples/IncompatibleCardNetworkForOperationExample' IncompatibleCardNetworkErrorExample: $ref: '#/components/examples/examples-IncompatibleCardNetworkErrorExample' BlockedMerchantAcceptorErrorExample: $ref: '#/components/examples/BlockedMerchantAcceptorErrorExample' NonMatchingIdempontentRequestErrorExample: $ref: '#/components/examples/NonMatchingIdempontentRequestErrorExample' MissingPosAddressProblemExample: $ref: '#/components/examples/MissingPosAddressErrorExample' IncompatibleMccErrorExample: $ref: '#/components/examples/IncompatibleMccErrorExample' IncompatibleCardErrorExample: $ref: '#/components/examples/IncompatibleCardErrorExample' 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: PinBlockIso4: type: object title: ISO-4 PIN Block description: PIN block related data in `ISO-4` format. additionalProperties: false required: - block - format - zoneId - keyId properties: format: type: string description: Indicates the type of PIN block format used. enum: - ISO-4 block: $ref: '#/components/schemas/PinBlockDataIso4' zoneId: $ref: '#/components/schemas/PinBlockZoneId' keyId: $ref: '#/components/schemas/PinBlockKeyId' 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 terminalEntryMode: description: "This field indicates the method used for PAN entry on \nthe terminal to initiate the transaction.\n" type: string enum: - contactless - manual-entry - chip - magstripe - magstripe-fallback newEmvData: type: string description: 'This field contains integrated circuit card (ICC) related binary data that is transmitted from the card issuer to the ICC. This field is formatted as 510 hexadecimal characters, which translates to 255 bytes. If this field is present in the response message, it should be passed without modification to the ICC. ' pattern: ^[A-Fa-f0-9]+$ minLength: 1 maxLength: 510 example: 5F2A0209785F34010082027C008407A0000000093510950500000080009A031104119C01009F02060000000043149F090200029F10120210A780030400009F2100000000000000FF9F1A0202509F26082E3EAB17CEEC500C9F2701809F330360A0409F34034403029F3501229F360200169F3704BC75E9B39F4005A00090F0019F4C089F21B02E0EEAC454 PinBlockDataIso4: type: string title: ISO-4 Block description: 'Contains encrypted PIN information, formatted as an `ISO-4` block of 32 hexadecimal characters. ' pattern: ^[A-Fa-f0-9]+$ minLength: 32 maxLength: 32 example: 32CF86E514CB24FE32CF86E514CB24FE schemas-ResolverByAcceptorKey: type: object additionalProperties: false required: - merchantAcceptorKey description: 'Used to select a merchant acceptor by key. ' properties: merchantAcceptorKey: $ref: '#/components/schemas/components-schemas-acceptorKeyRef' softPosTerminalCapability: type: string enum: - contactlessChip - onlinePin - signature - noCvm - oneTap 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. ' AtmTerminal: type: object description: Details about the ATM terminal. required: - id - capabilities additionalProperties: false properties: id: type: string description: ATM terminal's ID pattern: ^[a-zA-Z0-9]+$ minLength: 1 maxLength: 8 example: ATM001 capabilities: type: array description: 'The capabilities of the ATM terminal. This can be one or multiple. ' minItems: 1 items: $ref: '#/components/schemas/AtmTerminalCapability' example: - contactChip - contactlessChip - contactMagStripe - contactlessMagStripe charges-pos_PosAuthorizationIsoFields: type: object required: - responseCode - responseCodeDescription - networkCode - systemTraceAuditNumber - retrievalReferenceNumber - eci - networkSpecificFields description: Object containing the raw values from the ISO8583 response message received from the network. properties: responseCode: $ref: '#/components/schemas/isoFieldResponseCode' responseCodeDescription: $ref: '#/components/schemas/isoFieldResponseCodeDescription' authorizationCode: $ref: '#/components/schemas/isoFieldAuthorizationCode' networkCode: $ref: '#/components/schemas/isoFieldNetworkCode' systemTraceAuditNumber: $ref: '#/components/schemas/isoFieldSystemTraceAuditNumber' retrievalReferenceNumber: $ref: '#/components/schemas/isoFieldRetrievalReferenceNumber' eci: type: string enum: - '00' networkSpecificFields: oneOf: - $ref: '#/components/schemas/amexSpecificFields' - $ref: '#/components/schemas/discoverSpecificFields' - $ref: '#/components/schemas/mastercardSpecificFields' - $ref: '#/components/schemas/visaSpecificFields' RequestAmountBreakdown: allOf: - $ref: '#/components/schemas/BaseAmountBreakdown' - type: object properties: cashback: allOf: - description: 'The cashback amount included in the total transaction `value` in minor units. For example `$12.34` should be encoded as `1234`. The following requirements apply: - `amount.breakdown.cashback` is greater than 0. - `type.intent` must be `purchase`. - `emvData` must be present and include valid data for tag `9F03`. - `partialApproval` is not requested. **Currently only supported for Visa and Mastercard.** ' - $ref: '#/components/schemas/posAmountValue' emvData: type: string description: 'This field contains integrated circuit card (ICC) related binary data that is transmitted from the ICC to the card issuer and from the card issuer to the ICC. This field is formatted as 510 hexadecimal characters, which translates to 255 bytes. ' pattern: ^[A-Fa-f0-9]+$ minLength: 1 maxLength: 510 example: 5F2A0209785F34010082027C008407A0000000093510950500000080009A031104119C01009F02060000000043149F090200029F10120210A780030400009F2100000000000000FF9F1A0202509F26082E3EAB17CEEC500C9F2701809F330360A0409F34034403029F3501229F360200169F3704BC75E9B39F4005A00090F0019F4C089F21B02E0EEAC454 expiryMonthOptional: allOf: - $ref: '#/components/schemas/expiryMonth' description: 'The month the card expires. January is 1. Must be provided together with `expiryYear`, or omitted alongside it. ' 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 fundingPayoutSca: oneOf: - $ref: '#/components/schemas/FundingPayoutThreeDsAuthentication' - $ref: '#/components/schemas/ScaBEP' - $ref: '#/components/schemas/AuthenticationOutOfScope' - $ref: '#/components/schemas/AuthenticationExempt' - $ref: '#/components/schemas/ScaMit' FundingIntent: description: 'The intention of the cardholder ' type: string enum: - funding 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' ChargeResponse: type: object 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' tokenDetails: $ref: '#/components/schemas/StoredTokenDetails' amount: $ref: '#/components/schemas/common_Amount' cardholderBillingAmount: $ref: '#/components/schemas/CardholderBillingAmount' type: $ref: '#/components/schemas/ResponseChargeType' clearingMode: $ref: '#/components/schemas/clearingMode' status: $ref: '#/components/schemas/ChargeStatus' authentication: $ref: '#/components/schemas/ChargeAuthentication' localTransactionDateTime: $ref: '#/components/schemas/localTransactionDateTime' transactionType: $ref: '#/components/schemas/TransactionType' transactionReference: $ref: '#/components/schemas/transactionReference' fraudLiability: $ref: '#/components/schemas/fraudLiability' authorizationIsoFields: $ref: '#/components/schemas/authorizationIsoFields' billingAddress: $ref: '#/components/schemas/BillingAddress' clearAfter: $ref: '#/components/schemas/clearAfter' dynamicDescriptor: $ref: '#/components/schemas/schemas-DynamicDescriptor' created: $ref: '#/components/schemas/openapi_components-schemas-created' lastModified: $ref: '#/components/schemas/components-schemas-lastModified' allowPartialApproval: $ref: '#/components/schemas/allowPartialApproval' foreignRetailer: $ref: '#/components/schemas/schemas-foreignRetailer' subMerchant: $ref: '#/components/schemas/subMerchantResponse' version: $ref: '#/components/schemas/schemas-version' example: 1 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' DccDisabled: type: object description: DCC is not enabled for this transaction required: - enabled additionalProperties: false properties: enabled: type: boolean enum: - false description: Specifies if DCC is enabled for this transaction charges-payout_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 - other 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 AtmTerminalCapability: type: string description: ATM terminal capabilities subset enum: - contactChip - contactlessChip - contactMagStripe - contactlessMagStripe 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 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 FundingPayoutThreeDsAuthenticationResult: type: object required: - type - authenticationValue - directoryServerTransId description: 'A 3DS result from either the [3DS Authentication endpoint](#operation/create3dsAuthentication) or an external party. ' properties: type: $ref: '#/components/schemas/result3DS' version: description: 'The version of the 3DS protocol used for authentication. **Required for AMEX 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' scaExemptionRequest: type: string description: "This field can be used to indicate an acquirer SCA exemption request. Silverflow supports several SCA exemption request use cases, listed below:\n - Transaction risk analysis (TRA)\n - Low value payment (LVP)\n - Secure corporate payment (SCP)\n\nPlease note that these exemption requests may or may not be honored by the issuer.\n" enum: - scp - low-value - tra 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 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' 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 expiryMonth: type: integer description: 'The month the card expires. January is 1 ' minimum: 1 maximum: 12 ChargeCreatePos: type: object required: - merchantAcceptorResolver - card - amount - type - terminal description: 'Create a POS charge ' properties: merchantAcceptorResolver: $ref: '#/components/schemas/schemas-AcceptorResolver' card: $ref: '#/components/schemas/PosCardInput' amount: $ref: '#/components/schemas/RequestPosAmount' type: $ref: '#/components/schemas/ChargePosType' localTransactionDateTime: $ref: '#/components/schemas/localTransactionDateTime' transactionReference: $ref: '#/components/schemas/transactionReference' track2Data: $ref: '#/components/schemas/track2Data' emvData: $ref: '#/components/schemas/emvData' cardSequenceNumber: $ref: '#/components/schemas/cardSequenceNumber' pinBlock: $ref: '#/components/schemas/PinBlock' terminal: $ref: '#/components/schemas/Terminal' allowPartialApproval: $ref: '#/components/schemas/allowPartialApproval' subMerchant: $ref: '#/components/schemas/subMerchant' clearingMode: $ref: '#/components/schemas/clearingMode' clearAfter: $ref: '#/components/schemas/clearAfter' TokenDetailsDigitalWallet: allOf: - $ref: '#/components/schemas/StoredTokenDetailsDigitalWallet' - type: object required: - threeDsCryptogram properties: threeDsCryptogram: $ref: '#/components/schemas/threeDsCryptogram' AtmAuthorizationIsoFields: type: object required: - responseCode - responseCodeDescription - networkCode - systemTraceAuditNumber - retrievalReferenceNumber - networkSpecificFields description: Object containing the raw values from the ISO8583 response message received from the network for ATM transactions. properties: responseCode: $ref: '#/components/schemas/isoFieldResponseCode' responseCodeDescription: $ref: '#/components/schemas/isoFieldResponseCodeDescription' authorizationCode: $ref: '#/components/schemas/isoFieldAuthorizationCode' networkCode: $ref: '#/components/schemas/isoFieldNetworkCode' systemTraceAuditNumber: $ref: '#/components/schemas/isoFieldSystemTraceAuditNumber' retrievalReferenceNumber: $ref: '#/components/schemas/isoFieldRetrievalReferenceNumber' networkSpecificFields: oneOf: - $ref: '#/components/schemas/mastercardSpecificFields' - $ref: '#/components/schemas/visaSpecificFields' 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' 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' 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. components-schemas-acceptorKey: description: Uniquely identifies a merchant acceptor. type: string pattern: ^mac-[a-zA-Z0-9]+$ minLength: 5 maxLength: 120 example: mac-1eOdAHhgstYTUhlphPFf ClearingStatus: type: string description: Clearing status of the charge enum: - none - manual - pending - completed - cancelled - abandoned example: pending accountSource: description: 'Indicates the type of account from which the funds should be withdrawn. ' type: string enum: - unspecified - savings - checking - credit schemas-NameOfPeopleAndPlaces: type: string pattern: ^[\w -,\.\-\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]+$ minLength: 1 maxLength: 120 example: Name 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' fraudLiability: description: Which party is liable in case of fraud. type: string enum: - acquirer - issuer cardSequenceNumber: type: string description: 'Distinguishes among separate cards having the same PAN. This is required if EMV tag 5F34 is present/personalized on the card chip. ' pattern: ^[0-9]+$ minLength: 1 maxLength: 3 example: '001' 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' AtmCardInput: type: object description: Card details for ATM transactions. additionalProperties: false required: - number - expiryMonth - expiryYear properties: number: type: string description: The primary account number (PAN) of the card. pattern: ^[0-9]+$ minLength: 12 maxLength: 19 example: '5413330089010640' expiryMonth: type: integer description: The expiry month of the card (1-12). minimum: 1 maximum: 12 example: 12 expiryYear: type: integer description: The expiry year of the card (four digits). minimum: 1950 maximum: 2200 example: 2025 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 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' PayoutOrder: description: 'The method used to place the order. ' type: string enum: - checkout components-schemas-CountryCodeAlpha2: type: object required: - alpha2 additionalProperties: false properties: alpha2: $ref: '#/components/schemas/schemas-countryCodeAlpha2' methodBEP: description: 'Indicates the method that was used to comply to SCA. ' type: string enum: - bep CardInputWithOptionalExpiryDate: type: object title: Card Input With Optional Expiry Date required: - number additionalProperties: false properties: number: $ref: '#/components/schemas/components-schemas-pan' expiryMonth: $ref: '#/components/schemas/expiryMonthOptional' expiryYear: $ref: '#/components/schemas/expiryYearOptional' cvc: $ref: '#/components/schemas/schemas-cvc' holderName: $ref: '#/components/schemas/schemas-holderName' PosCardInput: type: object required: - number - expiryMonth - expiryYear additionalProperties: false description: Card data properties: number: $ref: '#/components/schemas/components-schemas-pan' expiryMonth: $ref: '#/components/schemas/expiryMonth' expiryYear: $ref: '#/components/schemas/components-schemas-expiryYear' createProcessorToken: type: boolean default: false description: 'When set to `true`, Silverflow will [create a processor token](https://docs.silverflow.com/guides/card-tokenization) for the provided `card` and return a processor token key in the response field `card.processorTokenKey`. **This flag is non-blocking.** When failing to create a processor token, the authorization will take place as usual and no `card.processorTokenKey` will be returned. ' ResponseAmountBreakdown: allOf: - $ref: '#/components/schemas/BaseAmountBreakdown' - type: object properties: cashback: allOf: - description: 'The cashback amount included in the total transaction `value` in minor units. For example `$12.34` should be encoded as `1234`. ' - $ref: '#/components/schemas/posAmountValue' FundingPayoutThreeDsAuthenticationResultResponse: type: object required: - type readOnly: true description: Object containing the information of a 3DS transaction. properties: type: $ref: '#/components/schemas/result3DS' 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 commonIsoFields: type: object required: - responseCode - responseCodeDescription properties: responseCode: $ref: '#/components/schemas/isoFieldResponseCode' responseCodeDescription: $ref: '#/components/schemas/isoFieldResponseCodeDescription' PayoutChargeRequest: type: object required: - merchantAcceptorResolver - card - amount - type additionalProperties: false description: 'Create a payout charge ' properties: merchantAcceptorResolver: $ref: '#/components/schemas/schemas-AcceptorResolver' card: $ref: '#/components/schemas/CardWithOptionalExpiryDate' amount: $ref: '#/components/schemas/common_Amount' type: $ref: '#/components/schemas/PayoutChargeType' initialTransactionReferences: description: Network-specific identifiers from the original authorization. oneOf: - $ref: '#/components/schemas/VisaPayoutInitialTransactionReference' threeDsAuthenticationResult: $ref: '#/components/schemas/FundingPayoutThreeDsAuthenticationResult' localTransactionDateTime: $ref: '#/components/schemas/localTransactionDateTime' transactionReference: $ref: '#/components/schemas/transactionReference' fundingSource: $ref: '#/components/schemas/PayoutFundingSource' sender: $ref: '#/components/schemas/PayoutSenderInput' receiver: $ref: '#/components/schemas/PayoutReceiverInput' transactionType: $ref: '#/components/schemas/PayoutTransactionType' purposeOfPayment: $ref: '#/components/schemas/purposeOfPayment' dynamicDescriptor: $ref: '#/components/schemas/schemas-DynamicDescriptor' clearingMode: allOf: - description: "The clearing method for the charge. \n- `auto`: The charge is cleared automatically as soon as possible. To delay clearing, provide a `clearAfter` timestamp.\n- `manual`: The charge must be manually cleared later.\n\n**Only supported for MASTERCARD.**\n" - $ref: '#/components/schemas/clearingMode' clearAfter: allOf: - description: 'If provided, clearing will not occur before this point in time. This is only supported when using `clearingMode` `auto`. The value may be at most 6 months in the future from when the charge was created. This field is only supported for MASTERCARD ' - $ref: '#/components/schemas/clearAfter' riskAssessmentKey: $ref: '#/components/schemas/riskAssessmentKey' foreignRetailer: $ref: '#/components/schemas/schemas-foreignRetailer' subMerchant: $ref: '#/components/schemas/subMerchant' IncompatibleAuthenticationStatus: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/charge/incompatible-authentication-status title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Incompatible Authentication Status status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 409 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' SenderReceiverType: type: string enum: - consumer - organization - not-applicable schemas-bepKey: description: Uniquely identifies a bep payment type: string pattern: ^bep-[a-zA-Z0-9]+$ example: bep-1e1dAHhgstYTUhlphPzZ 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' 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' isoFieldAuthorizationCode: type: string description: Contents of field 38 example: 4A4316 BaseTerminal: type: object required: - id - attended properties: id: type: string description: Terminal's ID pattern: ^[a-zA-Z0-9]+$ minLength: 1 maxLength: 8 example: AAFF attended: type: boolean description: Whether the terminal is attended or not. 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' SoftPOS: allOf: - type: object required: - type properties: type: type: string enum: - softpos - $ref: '#/components/schemas/BaseTerminal' - type: object required: - attended - capabilities properties: attended: type: boolean enum: - true capabilities: type: array description: 'The capabilities of the terminal. This can be one or multiple, and if more than one is specified it means that it is capable of all of those things. ' items: $ref: '#/components/schemas/softPosTerminalCapability' example: - onlinePin - contactlessChip - noCvm - oneTap StatusPos: 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: type: string description: Strong Customer Authentication (SCA) status of the charge enum: - none authorization: type: string description: 'Authorization status of the charge. Value ''approved-purchase-amount-only'' is only returned for Mastercard charges using ''amount.breakdown.cashback''. In this case, only the ''amount.breakdown.baseAmount'' was approved, but not the cashback. ' enum: - none - approved - approved-partial - declined - reversed - approved-purchase-amount-only example: approved clearing: $ref: '#/components/schemas/ClearingStatus' 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' 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' FundingChargeRequest: type: object required: - merchantAcceptorResolver - card - amount - type - receiver additionalProperties: false description: 'Create a funding charge. ' properties: merchantAcceptorResolver: $ref: '#/components/schemas/schemas-AcceptorResolver' card: $ref: '#/components/schemas/schemas-Card' tokenDetails: $ref: '#/components/schemas/TokenDetails' amount: $ref: '#/components/schemas/common_Amount' type: $ref: '#/components/schemas/FundingChargeType' threeDsAuthenticationResult: $ref: '#/components/schemas/FundingPayoutThreeDsAuthenticationResult' 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' dynamicDescriptor: $ref: '#/components/schemas/schemas-DynamicDescriptor' allowPartialApproval: $ref: '#/components/schemas/allowPartialApproval' scaExemptionRequest: $ref: '#/components/schemas/fundingScaExemptionRequest' 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. This is only supported when using `clearingMode` `auto`. This value may be at most 6 months in the future from when the charge was created. This field is only supported for MASTERCARD ' - $ref: '#/components/schemas/clearAfter' riskAssessmentKey: $ref: '#/components/schemas/riskAssessmentKey' foreignRetailer: $ref: '#/components/schemas/schemas-foreignRetailer' subMerchant: $ref: '#/components/schemas/subMerchant' ChargeCreateAtm: type: object additionalProperties: false required: - merchantAcceptorResolver - card - amount - type - accountSource - terminal - emvData - pinBlock description: 'Create an ATM charge ' properties: merchantAcceptorResolver: $ref: '#/components/schemas/schemas-AcceptorResolver' card: $ref: '#/components/schemas/AtmCardInput' type: $ref: '#/components/schemas/ChargeAtmType' amount: $ref: '#/components/schemas/AtmAmount' dcc: $ref: '#/components/schemas/Dcc' accountSource: $ref: '#/components/schemas/accountSource' terminal: $ref: '#/components/schemas/AtmTerminal' localTransactionDateTime: $ref: '#/components/schemas/localTransactionDateTime' transactionReference: $ref: '#/components/schemas/transactionReference' track2Data: allOf: - description: 'The information encoded on track 2 of the card magnetic stripe as defined in the ISO 7813 specification, including data element separator but excluding the beginning and ending sentinels and the LRC (Longitudinal Redundancy Check) character. This property is mandatory when the `terminalEntryMode` is `chip`, `contactless` or `magstripe`. ' - $ref: '#/components/schemas/track2Data' cardSequenceNumber: $ref: '#/components/schemas/cardSequenceNumber' emvData: $ref: '#/components/schemas/emvData' pinBlock: $ref: '#/components/schemas/PinBlockIso4' clearingMode: $ref: '#/components/schemas/clearingMode' clearAfter: $ref: '#/components/schemas/clearAfter' 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 isoFieldResponseCode: type: string description: Contents of field 39 example: '00' StatusAtm: type: object required: - authorization - clearing description: 'The status property provides a high-level representation of the lifecycle of an ATM charge. ATM charges do not support authentication (no 3DS). ' properties: authorization: type: string description: Authorization status of the ATM charge. enum: - approved - declined - reversed example: approved clearing: $ref: '#/components/schemas/ClearingStatus' avsResult: description: The result of the AVS verification type: string enum: - none - match - partial-match - no-match - not-processed 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. ChargeCreatePosResponse: type: object required: - key - created - status - type - merchantAcceptorRef - authorizationIsoFields - amount - version - card - localTransactionDateTime - terminal description: 'A POS charge ' properties: key: $ref: '#/components/schemas/chargeKey' merchantAcceptorRef: $ref: '#/components/schemas/components-schemas-AcceptorRef' card: $ref: '#/components/schemas/OutputCard' amount: allOf: - description: The amount encoded as an object with a `value` in minor units and a `currency` code. In case of a (partially) approved charge, this is the authorized amount. - $ref: '#/components/schemas/ResponsePosAmount' type: $ref: '#/components/schemas/ChargePosType' status: $ref: '#/components/schemas/StatusPos' localTransactionDateTime: $ref: '#/components/schemas/localTransactionDateTime' transactionReference: $ref: '#/components/schemas/transactionReference' newEmvData: $ref: '#/components/schemas/newEmvData' terminalAction: $ref: '#/components/schemas/terminalAction' authorizationIsoFields: $ref: '#/components/schemas/charges-pos_PosAuthorizationIsoFields' allowPartialApproval: $ref: '#/components/schemas/allowPartialApproval' subMerchant: $ref: '#/components/schemas/subMerchantResponse' clearingMode: $ref: '#/components/schemas/clearingMode' clearAfter: $ref: '#/components/schemas/clearAfter' terminal: $ref: '#/components/schemas/Terminal' created: $ref: '#/components/schemas/openapi_components-schemas-created' lastModified: $ref: '#/components/schemas/components-schemas-lastModified' version: $ref: '#/components/schemas/schemas-version' ChargeCreateAtmResponse: type: object required: - key - created - version - merchantAcceptorRef - card - amount - type - status - localTransactionDateTime - authorizationIsoFields description: 'An ATM charge ' properties: key: $ref: '#/components/schemas/chargeKey' merchantAcceptorRef: $ref: '#/components/schemas/components-schemas-AcceptorRef' card: $ref: '#/components/schemas/OutputCardAtm' type: $ref: '#/components/schemas/ChargeAtmType' amount: allOf: - description: The amount encoded as an object with a `value` in minor units and a `currency` code. For ATM withdrawals, this is the authorized amount. - $ref: '#/components/schemas/AtmAmount' dcc: allOf: - description: Dynamic Currency Conversion details. Only present if DCC was enabled on the request. - $ref: '#/components/schemas/Dcc' status: $ref: '#/components/schemas/StatusAtm' localTransactionDateTime: $ref: '#/components/schemas/localTransactionDateTime' transactionReference: $ref: '#/components/schemas/transactionReference' newEmvData: $ref: '#/components/schemas/newEmvData' issuerMessage: type: string description: Optional message from the card issuer authorizationIsoFields: $ref: '#/components/schemas/AtmAuthorizationIsoFields' clearingMode: $ref: '#/components/schemas/clearingMode' clearAfter: $ref: '#/components/schemas/clearAfter' created: $ref: '#/components/schemas/openapi_components-schemas-created' version: $ref: '#/components/schemas/schemas-version' 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' 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. ' 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 PayoutReceiverInput: type: object description: 'Details of the recipient of the payout. **Must be provided for Mastercard transactions.** ' 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. **Must be provided for Mastercard transactions.** ' - $ref: '#/components/schemas/schemas-NameOfPeopleAndPlaces' middleName: allOf: - description: Recipient's middle name. - $ref: '#/components/schemas/schemas-NameOfPeopleAndPlaces' lastName: allOf: - description: 'Recipient''s last name. **Must be provided for Mastercard transactions.** ' - $ref: '#/components/schemas/schemas-NameOfPeopleAndPlaces' accountNumber: allOf: - description: The account number of the recipient. - $ref: '#/components/schemas/AccountNumber' accountNumberType: $ref: '#/components/schemas/charges-payout_AccountNumberType' address: allOf: - description: The address of the recipient. - $ref: '#/components/schemas/schemas-AddressInput' identification: allOf: - description: Identification used to verify the receiver. - $ref: '#/components/schemas/charges-payout_Identification' terminalAction: description: Indicates if the issuer requests a PIN in Single Tap mode, or switching interface. type: string enum: - requestPin - switchInterface IncompatibleCardErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/charge/incompatible-card title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Incompatible Card status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 409 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' ChargeCreateBEPRequest: type: object required: - bepKey - type properties: bepKey: $ref: '#/components/schemas/schemas-bepKey' type: $ref: '#/components/schemas/BepChargeType' transactionReference: $ref: '#/components/schemas/transactionReference' sequencePos: description: 'This property indicates that the cardholder has entered Online PIN, when required by the issuer for a Mastercard Single Tap transaction. ' type: string enum: - subsequent 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' PayoutSenderAddress: type: object required: - countryCode - city - line1 - postalCode additionalProperties: false description: 'A physical postal address returned in payout sender responses. Fields are typed as strings without pattern validation, as payout sender address may originate from the merchant (set to the merchant''s registered address when the field was not set in the request). ' properties: countryCode: $ref: '#/components/schemas/schemas-CountryCode' stateOrProvince: type: string minLength: 1 maxLength: 120 description: The state (US) or province (non-US) of the address. city: type: string minLength: 1 maxLength: 120 description: The city of the address. line1: type: string minLength: 1 maxLength: 120 description: Address line 1 line2: type: string minLength: 1 maxLength: 120 description: Address line 2 postalCode: type: string minLength: 1 maxLength: 10 description: The postal code of the address. SenderReceiverOrganizationName: allOf: - description: The name of the organization. - minLength: 1 - maxLength: 140 - $ref: '#/components/schemas/schemas-NameOfPeopleAndPlaces' intentPos: description: 'The intention of the cardholder ' type: string enum: - purchase - reservation - refund TerminalCapability: type: string enum: - contactChip - contactlessChip - contactMagStripe - contactlessMagStripe - offlineEncipheredPin - offlinePlaintextPin - onlinePin - signature - keyEntry - noCvm - oneTap schemas-InvalidRequestErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/charge/invalid-request title: $ref: '#/components/schemas/errorTitle' status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 400 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' components-schemas-acceptorKeyRef: description: 'Uniquely identifies a merchant acceptor. ' type: string pattern: ^mac-[a-zA-Z0-9]+$ minLength: 5 maxLength: 120 example: mac-1eOdAHhgstYTUhlphPFf OutputCardAtm: type: object required: - maskedNumber additionalProperties: false description: 'Card data for ATM transactions. ATM transactions do not support processor tokenization. ' 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. ' PinBlockIso0Iso1: type: object title: ISO-0/ISO-1 PIN Block description: PIN block related data in `ISO-0` or `ISO-1` format. additionalProperties: false required: - format - block - zoneId - keyId properties: format: type: string description: Indicates the type of PIN block format used. enum: - ISO-0 - ISO-1 block: $ref: '#/components/schemas/PinBlockDataIso0Iso1' zoneId: $ref: '#/components/schemas/PinBlockZoneId' keyId: $ref: '#/components/schemas/PinBlockKeyId' MissingPosAddressErrorDetails: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/merchant-acceptor/missing-pos-address title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Missing Point of Sale Address status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 409 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' schemas-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' 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' 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 ChargeType: description: 'Describes the kind of charge the merchant wants to submit. ' type: object required: - intent - cardEntry - order properties: intent: $ref: '#/components/schemas/schemas-intent' cardEntry: $ref: '#/components/schemas/schemas-cardEntry' order: description: 'The method used to place the order. ' type: string enum: - checkout - unspecified - mail - phone - one-click - recurring - ucof - installment - standing-order charges-payout_PayoutReceiver: type: object description: Details of the recipient of the payout. 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/charges-payout_AccountNumberType' address: allOf: - description: The address of the recipient. - $ref: '#/components/schemas/components-schemas-Address' identification: allOf: - description: Identification used to verify the receiver. - $ref: '#/components/schemas/charges-payout_Identification' 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' StatusBep: type: object required: - authentication - authorization - clearing description: "The status property provides a high-level representation of the lifecycle of a charge. \nFor a complete history, the actions should be used.\n" properties: authentication: type: string description: Strong Customer Authentication (SCA) status of the charge enum: - authenticated authorization: type: string description: Authorization status of the charge enum: - approved - declined clearing: $ref: '#/components/schemas/ClearingStatus' isoFieldEciAmex: type: string description: E-commerce Indicator 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' FundingCardEntry: type: string description: 'The method used to capture the card details. ' enum: - e-commerce - token - token-on-file - card-on-file 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' VisaPayoutInitialTransactionReference: title: Visa Initial Transaction Reference 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' 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' 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 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' Dcc: description: 'Dynamic Currency Conversion (DCC) allows cardholders to see the transaction amount in their home currency at the ATM. ' oneOf: - $ref: '#/components/schemas/DccDisabled' - $ref: '#/components/schemas/DccEnabled' 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 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' PayoutSenderInput: type: object description: 'The details of the sender of the payout. If not provided or partially provided, the missing sender information will be filled in with the details taken from the merchant acceptor. **Must be provided for Mastercard transactions.** ' 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. **Must be provided for Mastercard transactions.** ' - $ref: '#/components/schemas/AccountNumber' accountNumberType: allOf: - description: 'The type of the `accountNumber`. **Must be provided for Mastercard transactions.** ' - $ref: '#/components/schemas/charges-payout_AccountNumberType' address: allOf: - description: Address of the sender. - $ref: '#/components/schemas/schemas-AddressInput' identification: allOf: - description: Identification used to verify the sender. - $ref: '#/components/schemas/charges-payout_Identification' tokenCryptogram: type: string description: The token cryptogram. It must be encoded in base64 format (40 bytes). minLength: 28 maxLength: 28 pattern: ^[\w\/+=]+$ example: 112233445566778899001122334= 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. 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' 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 schemas-intent: description: 'The intention of the cardholder. To perform an `account-status` for AMEX, either `card.cvc` has to be present or `avs` has to be set to `true`. ' type: string enum: - purchase - reservation - account-status - refund Terminal: type: object description: Details about the terminal. oneOf: - $ref: '#/components/schemas/POS' - $ref: '#/components/schemas/mPOS' - $ref: '#/components/schemas/SoftPOS' openapi_components-schemas-line2: type: string pattern: ^[\w -,\.\-\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]+$ minLength: 1 maxLength: 120 description: 'Address line 2 ' example: '4200' 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' posAmountValue: type: integer format: int64 minimum: 1 maximum: 999999999999 description: 'An amount in minor units. For example `$12.34` should be encoded as `1234`. ' example: 2599 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 POS: allOf: - type: object required: - type properties: type: type: string enum: - pos - $ref: '#/components/schemas/BaseTerminal' - type: object required: - capabilities properties: capabilities: type: array description: 'The capabilities of the terminal. This can be one or multiple, and if more than one is specified it means that it is capable of all of those things. #### Restrictions If `capabilities` include `keyEntry` or `signature` then `attended` must be set to `true`. ' items: $ref: '#/components/schemas/TerminalCapability' example: - contactChip - contactlessChip - contactMagStripe - oneTap RequestPosAmount: type: object required: - value - currency additionalProperties: false description: 'The amount encoded as an object with a `value` in minor units and a `currency` code. An optional `breakdown` can be provided to indicate specific sub-amounts. ' properties: value: allOf: - description: 'The full transaction amount in minor units. For example `$12.34` should be encoded as `1234`. If a `breakdown` is provided, it must exactly add up to this `value`. ' - $ref: '#/components/schemas/posAmountValue' currency: $ref: '#/components/schemas/common_currencyCode' breakdown: $ref: '#/components/schemas/RequestAmountBreakdown' 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. ' 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' FundingPayoutThreeDsAuthentication: 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/FundingPayoutThreeDsAuthenticationResultResponse' 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 cvcResultBEP: enum: - none description: The result of cvc verification ChargeRequest: type: object required: - merchantAcceptorResolver - card - amount - type additionalProperties: false description: 'Create a charge ' 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' tokenDetails: $ref: '#/components/schemas/TokenDetails' amount: $ref: '#/components/schemas/common_Amount' type: $ref: '#/components/schemas/ChargeType' avs: $ref: '#/components/schemas/avs' threeDsAuthenticationResult: $ref: '#/components/schemas/ThreeDsAuthenticationResult' localTransactionDateTime: $ref: '#/components/schemas/localTransactionDateTime' transactionType: $ref: '#/components/schemas/TransactionType' transactionReference: $ref: '#/components/schemas/transactionReference' billingAddress: $ref: '#/components/schemas/BillingAddressInput' clearingMode: $ref: '#/components/schemas/clearingMode' clearAfter: $ref: '#/components/schemas/clearAfter' riskAssessmentKey: $ref: '#/components/schemas/riskAssessmentKey' scaExemptionRequest: $ref: '#/components/schemas/scaExemptionRequest' dynamicDescriptor: $ref: '#/components/schemas/schemas-DynamicDescriptor' allowPartialApproval: $ref: '#/components/schemas/allowPartialApproval' foreignRetailer: $ref: '#/components/schemas/schemas-foreignRetailer' subMerchant: $ref: '#/components/schemas/subMerchant' enhancedData: $ref: '#/components/schemas/enhancedDataInput' initialTransactionReferences: $ref: '#/components/schemas/ChargeRefundMastercardInitialTransactionReference' 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 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`. sca: oneOf: - $ref: '#/components/schemas/ThreeDsAuthentication' - $ref: '#/components/schemas/ScaBEP' - $ref: '#/components/schemas/AuthenticationOutOfScope' - $ref: '#/components/schemas/AuthenticationExempt' - $ref: '#/components/schemas/ScaMit' 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' 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' ScaMit: type: object required: - compliance - complianceReason - method properties: method: type: string enum: - none compliance: type: string enum: - mit complianceReason: type: string enum: - installment - ucof components-schemas-pan: type: string description: Full digits of a card pattern: ^\d+$ minLength: 12 maxLength: 19 format: password example: '4761070000000905' ChargeAuthenticationBEP: 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/ScaBEP' cvc: $ref: '#/components/schemas/cvcResultBEP' avs: $ref: '#/components/schemas/avsResultBEP' 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-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' components-schemas-CountryCodeNumeric: type: object required: - numeric additionalProperties: false properties: numeric: $ref: '#/components/schemas/schemas-countryCodeNumeric' charges-payout_PayoutSender: type: object description: The details of the sender of the payout. 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/charges-payout_AccountNumberType' address: allOf: - description: Address of the sender. - $ref: '#/components/schemas/PayoutSenderAddress' identification: allOf: - description: Identification used to verify the sender. - $ref: '#/components/schemas/charges-payout_Identification' ChargeClearingStatus: type: string description: Clearing status of the charge enum: - none - manual - pending - completed - cancelled - abandoned example: pending PayoutFundingSource: description: 'The source of the funds for the payout. `mobile-money-account` is specific to Mastercard transactions. The rest are common to both networks. **Required for all Mastercard Payouts.** ' type: string enum: - credit - debit - prepaid - deposit-account - mobile-money-account - cash - other FundingChargeResponse: type: object required: - merchantAcceptorRef - card - key - amount - localTransactionDateTime - type - receiver - status - fraudLiability - created - version - authentication - clearingMode - authorizationIsoFields description: 'Create a 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/FundingChargeType' 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/FundingPayoutChargeAuthentication' clearingMode: type: string enum: - none - auto - manual description: The clearing mode of the charge. authorizationIsoFields: $ref: '#/components/schemas/authorizationIsoFields' purposeOfPayment: $ref: '#/components/schemas/purposeOfPayment' dynamicDescriptor: $ref: '#/components/schemas/schemas-DynamicDescriptor' foreignRetailer: $ref: '#/components/schemas/schemas-foreignRetailer' subMerchant: $ref: '#/components/schemas/subMerchantResponse' tokenDetails: $ref: '#/components/schemas/StoredTokenDetails' allowPartialApproval: $ref: '#/components/schemas/allowPartialApproval' clearAfter: $ref: '#/components/schemas/clearAfter' created: $ref: '#/components/schemas/openapi_components-schemas-created' lastModified: $ref: '#/components/schemas/components-schemas-lastModified' version: $ref: '#/components/schemas/schemas-version' track2Data: type: string description: 'The information encoded on track 2 of the card magnetic stripe as defined in the ISO 7813 specification, including data element separator but excluding the beginning and ending sentinels and the LRC (Longitudinal Redundancy Check) character. This property is mandatory when the `terminalEntryMode` is `chip`, `contactless`,`magstripe` or `magstripe-fallback`. ' pattern: ^[A-Fa-f0-9]+$ minLength: 1 maxLength: 37 example: 6799995700000004054D25122010875408456 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' sequence: type: string title: Sequence description: 'Setting this to `initial` flags the charge as the initial charge in a sequence of payments. ' enum: - initial orderPos: description: 'The method used to place the order. ' type: string enum: - counter fundingScaExemptionRequest: type: string description: "This field can be used to indicate an acquirer SCA exemption request. Silverflow supports several SCA exemption request use cases, listed below:\n - Transaction risk analysis (TRA)\n - Low value payment (LVP)\n - Secure corporate payment (SCP)\n\nPlease note that these exemption requests may or may not be honored by the issuer.\n" enum: - scp - low-value - tra ChargeAuthorizationStatus: type: string description: Authorization status of the charge enum: - none - approved - declined - reversed - approved-partial example: approved 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' charges-payout_Identification: description: Identification used to verify sender or receiver. type: object required: - value - type properties: type: description: "Type of identification:\n - `date-of-birth` - Date of birth according to [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601)\n - `national-identification` - National identification\n - `passport-number` - Passport number\n - `driver-license` - Driver license\n - `tax-identification` - Tax identification\n - `company-registration-number` - Company registration number\n - `social-security-number` - Social security number\n - `other` - Customer identification (unspecified)\n" type: string enum: - date-of-birth - national-identification - passport-number - driver-license - tax-identification - company-registration-number - social-security-number - other value: description: 'The value used for identification of the sender or receiver. For BTHD (date of birth) the format should be [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) ' type: string minLength: 1 maxLength: 35 issuingCountry: description: Issuing country of the identification, according to [ISO 3166-3](https://en.wikipedia.org/wiki/ISO_3166-3) type: string minLength: 3 maxLength: 3 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' cardEntryPos: description: 'The method used to capture the card details. ' type: string enum: - terminal example: terminal 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' 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 TokenDetailsNetwork: allOf: - $ref: '#/components/schemas/StoredTokenDetailsNetwork' - type: object required: - tokenCryptogram properties: tokenCryptogram: $ref: '#/components/schemas/tokenCryptogram' isoFieldEciDiners: type: string description: E-commerce Indicator AtmAmount: type: object additionalProperties: false description: The amount for ATM transactions required: - value - currency properties: value: type: integer format: int64 description: The amount in minor units. minimum: 1 maximum: 999999999999 example: 10000 currency: $ref: '#/components/schemas/common_currencyCode' 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' 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' 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' 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' PayoutTransactionType: type: string enum: - tax-refund - 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. - `tax-refund`: A transaction involving a tax rebate. Only allowed for `payoutType` of `general-funds-disbursement`. Required for USA cardholders. VISA - `cryptocurrency`: A transaction involving the purchasing of cryptocurrencies. Use this for Visa only if specific type of digital asset cannot be determined. Only allowed for Mastercard when `payoutType` 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 ' PinBlockDataIso0Iso1: type: string title: ISO-0/ISO-1 Block description: 'Contains encrypted PIN information, formatted as an `ISO-0`/`ISO-1` block of 16 hexadecimal characters. ' pattern: ^[A-Fa-f0-9]+$ minLength: 16 maxLength: 16 example: 32CF86E514CB24FE PinBlockKeyId: type: string pattern: ^[a-zA-Z0-9()+,\-.:=@;$_!*\/?#|]*$ minLength: 1 maxLength: 128 description: Encryption key in the specified zone to use. isoFieldEciDiscover: type: string description: E-commerce Indicator FundingChargeType: 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/FundingCardEntry' order: $ref: '#/components/schemas/FundingOrder' fundingType: $ref: '#/components/schemas/FundingType' mPOS: allOf: - type: object required: - type properties: type: type: string enum: - mpos - $ref: '#/components/schemas/BaseTerminal' - type: object required: - attended - capabilities properties: attended: type: boolean enum: - true capabilities: type: array description: 'The capabilities of the terminal. This can be one or multiple, and if more than one is specified it means that it is capable of all of those things. ' items: $ref: '#/components/schemas/TerminalCapability' example: - contactChip - contactlessChip - contactMagStripe - oneTap 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' expiryYearOptional: allOf: - $ref: '#/components/schemas/components-schemas-expiryYear' description: 'The year the card expires including the century. Must be provided together with `expiryMonth`, or omitted alongside it. ' 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' UnexpectedMessageSystem: type: object required: - type - title - status - detail - instance properties: type: allOf: - $ref: '#/components/schemas/errorType' - enum: - /silverflow/problems/bin/unexpected-message-system title: allOf: - $ref: '#/components/schemas/errorTitle' - enum: - Unexpected Message System status: allOf: - $ref: '#/components/schemas/errorStatus' - enum: - 409 detail: $ref: '#/components/schemas/errorDetail' instance: $ref: '#/components/schemas/errorInstance' schemas-cardEntry: description: 'The method used to capture the card details. ' type: string enum: - e-commerce - manual - card-on-file - token - token-on-file example: e-commerce 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' 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' AuthenticationStatus: type: string description: Strong Customer Authentication (SCA) status of the charge enum: - none - authenticated - non-authenticated example: authenticated 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' FundingOrder: type: string enum: - checkout - recurring - ucof - standing-order - one-click isoFieldNetworkCode: type: string description: Contents of field 63, subfield 1 example: '0000' method: description: 'Indicates the method that was used to comply to SCA. ' type: string enum: - 3ds1 - 3ds2 - device 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. PayoutChargeResponse: type: object description: 'The created payout charge ' required: - key - created - status - type - amount - merchantAcceptorRef - clearingMode - authorizationIsoFields - authentication - card - version - localTransactionDateTime 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/PayoutChargeType' clearingMode: type: string enum: - none - auto - manual description: The clearing mode of the charge. status: $ref: '#/components/schemas/StatusWithoutPartialApproval' authentication: $ref: '#/components/schemas/FundingPayoutChargeAuthentication' localTransactionDateTime: $ref: '#/components/schemas/localTransactionDateTime' transactionType: $ref: '#/components/schemas/PayoutTransactionType' transactionReference: $ref: '#/components/schemas/transactionReference' fundingSource: $ref: '#/components/schemas/PayoutFundingSource' authorizationIsoFields: $ref: '#/components/schemas/authorizationIsoFields' sender: $ref: '#/components/schemas/charges-payout_PayoutSender' receiver: $ref: '#/components/schemas/charges-payout_PayoutReceiver' purposeOfPayment: $ref: '#/components/schemas/purposeOfPayment' dynamicDescriptor: $ref: '#/components/schemas/schemas-DynamicDescriptor' foreignRetailer: $ref: '#/components/schemas/schemas-foreignRetailer' subMerchant: $ref: '#/components/schemas/subMerchantResponse' clearAfter: $ref: '#/components/schemas/clearAfter' created: $ref: '#/components/schemas/openapi_components-schemas-created' lastModified: $ref: '#/components/schemas/components-schemas-lastModified' version: $ref: '#/components/schemas/schemas-version' ChargeStatus: 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/ChargeAuthorizationStatus' clearing: $ref: '#/components/schemas/ChargeClearingStatus' AuthorizationStatus: type: string description: Authorization status of the charge. enum: - none - approved - approved-partial - declined - reversed example: approved 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 isoFieldResponseCodeDescription: type: string description: The description of the `responseCode` example: Approved 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 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 atmTerminalEntryMode: description: 'This field indicates the method used for PAN entry on the ATM terminal to initiate the transaction. ' type: string enum: - chip - contactless - contactless-magstripe - magstripe - magstripe-fallback ChargePosType: description: Describes the kind of POS charge the merchant wants to submit. type: object required: - intent - cardEntry - order - terminalEntryMode properties: intent: $ref: '#/components/schemas/intentPos' cardEntry: $ref: '#/components/schemas/cardEntryPos' order: $ref: '#/components/schemas/orderPos' terminalEntryMode: $ref: '#/components/schemas/terminalEntryMode' sequence: $ref: '#/components/schemas/sequencePos' 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 BaseAmountBreakdown: type: object required: - baseAmount description: "A breakdown of the transaction `value`. \n\nAll provided amounts must exactly add up to `value`.\nProviding a breakdown is only required if any other amounts besides the `baseAmount` are included.\n" properties: baseAmount: allOf: - description: 'The base transaction value in minor units. For example `$12.34` should be encoded as `1234`. ' - $ref: '#/components/schemas/posAmountValue' ChargeAtmType: description: 'Describes the kind of ATM charge. ' type: object additionalProperties: false required: - intent - terminalEntryMode properties: intent: $ref: '#/components/schemas/intentAtm' terminalEntryMode: $ref: '#/components/schemas/atmTerminalEntryMode' 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 schemas-version: type: integer description: The version of this object format: int64 example: 1 readOnly: true CardWithOptionalExpiryDate: 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/CardInputWithOptionalExpiryDate' - $ref: '#/components/schemas/schemas-CardByProcessorTokenKey' 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' ChargeCreateBEPResponse: type: object required: - key - created - status - amount - type - merchantAcceptorRef - fraudLiability - authorizationIsoFields - authentication - version - card - localTransactionDateTime description: 'A BEP 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/BepChargeType' status: $ref: '#/components/schemas/StatusBep' authentication: $ref: '#/components/schemas/ChargeAuthenticationBEP' localTransactionDateTime: $ref: '#/components/schemas/localTransactionDateTime' transactionReference: $ref: '#/components/schemas/transactionReference' fraudLiability: $ref: '#/components/schemas/fraudLiability' clearingMode: type: string enum: - auto authorizationIsoFields: $ref: '#/components/schemas/authorizationIsoFieldsBancontact' billingAddress: $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' 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 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 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 ResponsePosAmount: type: object required: - value - currency additionalProperties: false description: 'The amount encoded as an object with a `value` in minor units and a `currency` code. An optional `breakdown` can be provided to indicate specific sub-amounts. ' properties: value: allOf: - description: 'The full transaction amount in minor units. For example `$12.34` should be encoded as `1234`. If a `breakdown` is provided, it must exactly add up to this `value`. ' - $ref: '#/components/schemas/posAmountValue' currency: $ref: '#/components/schemas/common_currencyCode' breakdown: $ref: '#/components/schemas/ResponseAmountBreakdown' 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' PayoutChargeType: type: object description: 'Describes the kind of charge the merchant wants to submit. ' required: - intent - cardEntry - order - payoutType properties: intent: description: 'The intention of the cardholder. ' type: string enum: - payout cardEntry: $ref: '#/components/schemas/PayoutCardEntry' order: $ref: '#/components/schemas/PayoutOrder' payoutType: description: '- `account-to-account`: Payout transaction for moving money from one account to another account, both of which are owned by the sender. Currently only supported for **Visa** EXPERIMENTAL and **Mastercard**. - `fast-refund`: Transaction that returns funds to the same card used in the original purchase. MASTERCARD EXPERIMENTAL - `general-funds-disbursement`: Generic funds disbursement transaction used to push funds from a business to an individual cardholder for various purposes. Currently only supported for **Visa** and **Mastercard**. - `liquid-assets`: Payout of liquid or cryptocurrency asset proceeds to a card account, e.g., from a sale or cash out. Currently only supported for **Visa**. - `merchant-disbursement`: Merchant payments for purchase transaction processing where the settlement payment is sent directly to a card account. Currently only supported for **Visa** and **Mastercard**. - `online-gambling`: Payouts of online casino winnings. Currently only supported for **Visa** and **Mastercard**. - `person-to-person`: Payout transaction moving funds from the sender''s account to the receiver''s account. Currently only supported for **Mastercard**. - `wallet-transfer`: Payout transaction for adding funds to a digital wallet, the direct acquisition of cryptocurrency, or the acquisition of liquid assets (for example, stocks, shares, foreign currency). Currently only supported for **Visa**. ' type: string enum: - account-to-account - fast-refund - general-funds-disbursement - liquid-assets - merchant-disbursement - online-gambling - person-to-person - wallet-transfer avsResultBEP: enum: - none description: The result of the AVS verification avs: type: boolean description: 'Specifies whether AVS authentication should be used for the charge. When `true`, `billingAddress` is required. Not supported for Diners. ' 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' PinBlock: type: object description: PIN block related data. oneOf: - $ref: '#/components/schemas/PinBlockIso0Iso1' - $ref: '#/components/schemas/PinBlockIso4' 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 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' 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' BepChargeType: description: 'Describes the kind of charge the merchant wants to submit. ' type: object required: - intent - cardEntry - order properties: intent: type: string description: 'The intention of the cardholder ' enum: - purchase cardEntry: type: string description: 'The method used to capture the card details. ' enum: - e-commerce order: type: string description: 'The method used to place the order. ' enum: - checkout sequence: type: string description: 'Setting this to `initial` flags the charge as the initial charge in a sequence of payments. **From November 22, 2026 this field will be removed since it currently does not have any effect on the charge creation.** ' enum: - initial deprecated: true responseIntentEcommerce: description: 'The intention of the cardholder. ' type: string enum: - purchase - reservation - account-status - refund ResponseChargeType: description: 'Describes the kind of charge the merchant wants to submit. ' type: object required: - intent - cardEntry - order properties: intent: $ref: '#/components/schemas/responseIntentEcommerce' cardEntry: $ref: '#/components/schemas/responseCardEntry' order: description: 'The method used to place the order. ' type: string enum: - checkout - unspecified - mail - phone - one-click - recurring - ucof - installment - standing-order sequence: $ref: '#/components/schemas/sequence' 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' 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 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' result3DS: type: string description: 'Type of 3DS authentication result. ' enum: - full-auth - attempt MaskedAccountNumber: type: string description: The masked account number. pattern: ^[a-zA-Z0-9 !#$%&'()*+,./:;<=>?@^_`{|}~"\-\[\]\\]+$ minLength: 1 maxLength: 50 example: '************0007' schemas-eci: type: string description: Zero-padded e-commerce indicator. minLength: 2 maxLength: 2 pattern: ^\d+$ example: '05' 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' PinBlockZoneId: type: string pattern: ^[a-zA-Z0-9()+,\-.:=@;$_!*\/?#|]*$ minLength: 1 maxLength: 128 description: ID of the encryption zone. example: my-zone responseCardEntry: description: 'The method used to capture the card details. ' type: string enum: - e-commerce - manual - card-on-file - terminal - token - token-on-file example: e-commerce errorStatus: type: integer format: int32 description: 'The HTTP status code generated by the origin server for this occurrence of the problem. ' FundingPayoutChargeAuthentication: 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/fundingPayoutSca' cvc: $ref: '#/components/schemas/cvcResult' avs: $ref: '#/components/schemas/avsResult' PayoutCardEntry: type: string description: 'The method used to capture the card details. ' enum: - e-commerce errorDetail: type: string description: 'A human readable explanation specific to this occurrence of the problem. ' 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 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 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' 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' 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 ChargeRefundMastercardInitialTransactionReference: title: Mastercard type: object additionalProperties: false properties: transactionLinkId: type: string description: Mastercard generated Transaction Link Identifier (TLID). This value comes from the field 105 subelement 001 of the original transaction response. Use only for Refund charges. minLength: 1 maxLength: 22 example: qtQRrYlsSvSecPJDBzrzYA errorType: type: string description: 'A relative URI reference, this property can be used to perform automated error handling. ' intentAtm: description: 'The intention of the cardholder for ATM transactions ' type: string enum: - withdrawal 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 ' DccEnabled: type: object description: DCC is enabled for this transaction required: - enabled - preConversionAmount additionalProperties: false properties: enabled: type: boolean enum: - true description: Specifies if DCC is enabled for this transaction preConversionAmount: allOf: - description: The amount before currency conversion, in the cardholder's home currency - $ref: '#/components/schemas/AtmAmount' examples: funding_Request: summary: Create a funding charge value: merchantAcceptorResolver: merchantAcceptorKey: mac-1eOdAHhgstYTUhlphPFf card: number: '4761070000000905' expiryYear: 2030 expiryMonth: 12 holderName: Joe Cardholder type: intent: funding cardEntry: e-commerce order: checkout fundingType: account-to-account amount: value: 200 currency: EUR 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 network-token_Request: summary: Create a charge using a network token value: merchantAcceptorResolver: merchantAcceptorKey: mac-1eOdAHhgstYTUhlphPFf card: number: '4761070000000905' expiryYear: 2030 expiryMonth: 12 cvc: '196' holderName: Joe Cardholder tokenDetails: type: network tokenCryptogram: 112233445566778899001122334= type: intent: purchase cardEntry: token order: checkout amount: value: 2000 currency: EUR avs_Request: summary: Creating a charge with AVS authentication value: merchantAcceptorResolver: merchantAcceptorKey: mac-1eOdAHhgstYTUhlphPFf card: number: '4761070000000905' expiryYear: 2030 expiryMonth: 12 cvc: '196' holderName: Joe Cardholder type: intent: purchase cardEntry: e-commerce order: checkout amount: value: 2000 currency: EUR avs: true billingAddress: countryCode: alpha3: NLD stateOrProvince: NH city: Amsterdam line1: Langtown Road line2: '4200' postalCode: 1234BC recurring_Response: summary: Creating the initial charge of a recurring sequence value: key: chg-3nt0YDfssspoTmAONWxa merchantAcceptorRef: key: mac-1eOdAHhgstYTUhlphPFf version: 3 card: maskedNumber: 47610700****0905 amount: value: 2000 currency: EUR type: intent: purchase cardEntry: e-commerce order: recurring sequence: initial 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-09-07T10:00:36.241Z' fraudLiability: acquirer authorizationIsoFields: responseCode: '00' responseCodeDescription: Approved authorizationCode: F6D651 systemTraceAuditNumber: '180298' retrievalReferenceNumber: '325010180298' eci: '07' networkCode: '0000' networkSpecificFields: transactionIdentifier: '230022687321855' created: '2023-09-07T10:00:36.241Z' version: 1 funding_Response: summary: Create a funding charge value: merchantAcceptorRef: key: mac-3rCoHlIyxYkhLa0YRTzT version: 1 key: chg-3sBWL1ZGCvgzMufWEjMy card: maskedNumber: 47610700****0905 amount: value: 200 currency: EUR type: intent: funding fundingType: account-to-account cardEntry: e-commerce order: checkout 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 created: '2023-10-13T12:24:08.502Z' version: 1 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 3ds-provided_Request: summary: Create charge with a 3DS result value: merchantAcceptorResolver: merchantAcceptorKey: mac-1eOdAHhgstYTUhlphPFf card: number: '4761070000000905' expiryYear: 2030 expiryMonth: 12 holderName: Joe Cardholder type: intent: purchase cardEntry: e-commerce order: checkout amount: value: 1800 currency: EUR threeDsAuthenticationResult: authenticationValue: kANBCCDDYJYjadADpka8KoQBXM directoryServerTransId: 5340af8a-5505-4bf6-abcd-123412341234 google-pay_Response: summary: Create a charge using a Google Pay token value: key: chg-1e1dAHhgstYTUhlphPzZ merchantAcceptorRef: key: mac-1eOdAHhgstYTUhlphPFf version: 1 card: maskedNumber: 47610700****0905 tokenDetails: type: google-pay eci: '05' amount: value: 2000 currency: EUR type: intent: purchase cardEntry: token order: checkout clearingMode: auto status: authentication: none authorization: approved clearing: pending authentication: sca: compliance: out-of-scope complianceReason: moto method: none cvc: match avs: none localTransactionDateTime: '2019-08-24T14:15:22Z' fraudLiability: acquirer authorizationIsoFields: responseCode: '00' responseCodeDescription: Approved authorizationCode: 4A4316 networkCode: '0000' systemTraceAuditNumber: '123456' retrievalReferenceNumber: '131608123456' eci: '05' networkSpecificFields: transactionIdentifier: '195764913831324' cvv2ResultCode: M created: '2019-08-24T14:15:22Z' version: 1 recurring_Request: summary: Creating the initial charge of a recurring sequence value: merchantAcceptorResolver: merchantAcceptorKey: mac-1eOdAHhgstYTUhlphPFf card: number: '4761070000000905' expiryYear: 2030 expiryMonth: 12 holderName: Joe Cardholder type: intent: purchase cardEntry: e-commerce order: recurring amount: value: 2599 currency: EUR manual-entry_Response: summary: Create POS charge with manual entry value: key: chg-3pkWfhw0Sc3JlIiWiub2 merchantAcceptorRef: key: mac-1TQ4EL0rI3Uz06VF2a0f version: 1 card: maskedNumber: 52869400****0205 amount: value: 2050 currency: EUR type: intent: purchase cardEntry: terminal order: counter terminalEntryMode: manual-entry clearingMode: auto status: authentication: none authorization: approved clearing: pending localTransactionDateTime: '2023-09-20T12:55:18.216Z' authorizationIsoFields: responseCode: '00' responseCodeDescription: Approved authorizationCode: 07F3CF systemTraceAuditNumber: '669292' retrievalReferenceNumber: '326312669292' eci: '00' networkCode: MCS networkSpecificFields: traceId: 'MCS7915710527 ' banknetReference: '791571' terminal: id: 17s2d469 type: softpos attended: true capabilities: - contactlessChip - noCvm - onlinePin created: '2023-09-20T12:55:18.216Z' version: 1 payout_Request: summary: Create a gaming payout charge value: merchantAcceptorResolver: merchantAcceptorKey: mac-1eOdAHhgstYTUhlphPFf card: number: '4761070000000905' expiryYear: 2030 expiryMonth: 12 cvc: '196' holderName: Joe Cardholder type: intent: payout cardEntry: e-commerce order: checkout payoutType: general-funds-disbursement amount: value: 100 currency: EUR sender: firstName: John lastName: Doe address: line1: 2000 Purchase Street line2: Unit 43-1 city: Purchase stateOrProvince: New York postalCode: NY10577 countryCode: alpha2: US 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 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 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 network-token_Response: summary: Create a charge using a network token value: key: chg-1e1dAHhgstYTUhlphPzZ merchantAcceptorRef: key: mac-1eOdAHhgstYTUhlphPFf version: 1 card: maskedNumber: 47610700****0905 tokenDetails: type: network amount: value: 2000 currency: EUR type: intent: purchase cardEntry: token order: checkout clearingMode: auto status: authentication: none authorization: approved clearing: pending authentication: sca: compliance: out-of-scope complianceReason: moto method: none cvc: not-processed avs: none localTransactionDateTime: '2019-08-24T14:15:22Z' fraudLiability: acquirer authorizationIsoFields: responseCode: '00' responseCodeDescription: Approved authorizationCode: 4A4316 networkCode: '0000' systemTraceAuditNumber: '123456' retrievalReferenceNumber: '131608123456' eci: '05' networkSpecificFields: transactionIdentifier: '195764913831324' cvv2ResultCode: P created: '2019-08-24T14:15:22Z' version: 1 examples-Request: summary: Create a Mail Order/Telephone Order (MOTO) charge value: merchantAcceptorResolver: merchantAcceptorKey: mac-25oJsQ99GBpWjcMQidKS card: number: '4761070000000905' expiryYear: 2030 expiryMonth: 12 cvc: '196' holderName: Joe Cardholder type: intent: purchase cardEntry: manual order: phone amount: value: 2000 currency: EUR payout_Response: summary: Create a gaming payout charge value: key: chg-3llz36aua7HZLDG2aSpE merchantAcceptorRef: key: mac-1eOdAHhgstYTUhlphPFf version: 1 card: maskedNumber: 47610700****0905 amount: value: 100 currency: EUR localTransactionDateTime: '2023-08-23T12:55:09.425Z' type: intent: payout cardEntry: e-commerce order: checkout payoutType: general-funds-disbursement sender: firstName: John lastName: Doe address: countryCode: numeric: '840' alpha2: US alpha3: USA stateOrProvince: New York city: Purchase line1: 2000 Purchase Street line2: Unit 43-1 postalCode: NY10577 status: authentication: none authorization: approved clearing: pending created: '2023-08-23T12:55:09.425Z' version: 1 authentication: sca: compliance: out-of-scope complianceReason: none method: none cvc: match avs: none authorizationIsoFields: responseCode: '00' responseCodeDescription: Approved authorizationCode: A68B0A systemTraceAuditNumber: '657595' retrievalReferenceNumber: '323512657595' eci: '0' networkCode: MCS networkSpecificFields: traceId: 'MCS4056680527 ' banknetReference: '405668' clearingMode: none 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 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 3ds-provided_Response: summary: Create charge with a 3DS result value: key: chg-3nsA2szdjeRXOjVmDjcc merchantAcceptorRef: key: mac-1eOdAHhgstYTUhlphPFf version: 3 card: maskedNumber: 47610700****0905 amount: value: 1800 currency: EUR type: intent: purchase cardEntry: e-commerce order: checkout clearingMode: auto status: authentication: authenticated authorization: approved clearing: pending authentication: sca: compliance: mandated complianceReason: mandated method: 3ds2 result: directoryServerTransId: 5340af8a-5505-4bf6-abcd-123412341234 cvc: none avs: none localTransactionDateTime: '2023-09-07T08:49:47.140Z' fraudLiability: issuer authorizationIsoFields: responseCode: '00' responseCodeDescription: Approved authorizationCode: 8ECD86 systemTraceAuditNumber: '180178' retrievalReferenceNumber: '325008180178' eci: '05' networkCode: '0000' networkSpecificFields: transactionIdentifier: '156252053618075' created: '2023-09-07T08:49:47.140Z' version: 1 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 UnexpectedMessageSystemExample: value: type: /silverflow/problems/bin/unexpected-message-system title: Unexpected Message System status: 409 detail: The merchant acceptor uses a BIN with message system 'SMS', expected 'DMS'. 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 MissingPosAddressErrorExample: value: type: /silverflow/problems/merchant-acceptor/missing-pos-address title: Missing Point of Sale Address status: 409 detail: The merchant acceptor with key 'mac-34EaiVHSeqwAVuS6Gvd' is missing 'pointOfSaleAddress'. 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 manual-entry_Request: summary: Create POS charge with manual entry value: merchantAcceptorResolver: merchantAcceptorKey: mac-1eOdAHhgstYTUhlphPFf card: number: '5286940020000205' expiryYear: 2030 expiryMonth: 12 amount: value: 2050 currency: EUR type: intent: purchase cardEntry: terminal order: counter terminalEntryMode: manual-entry terminal: id: 17s2d469 type: pos attended: true capabilities: - keyEntry - contactChip - contactlessChip - noCvm - onlinePin - signature - oneTap clearingMode: auto avs_Response: summary: Creating a charge with AVS authentication value: key: chg-3nsNEo5srpD8XxLrbQ48 merchantAcceptorRef: key: mac-1eOdAHhgstYTUhlphPFf version: 3 card: maskedNumber: 47610700****0905 amount: value: 2000 currency: EUR type: intent: purchase cardEntry: e-commerce order: checkout clearingMode: auto status: authentication: none authorization: approved clearing: pending authentication: sca: compliance: out-of-scope complianceReason: none method: none cvc: none avs: match localTransactionDateTime: '2023-09-07T09:25:34.184Z' fraudLiability: acquirer authorizationIsoFields: responseCode: '00' responseCodeDescription: Approved authorizationCode: 0EDA5E systemTraceAuditNumber: '180295' retrievalReferenceNumber: '325009180295' eci: '07' networkCode: '0000' networkSpecificFields: transactionIdentifier: '262649890621030' cvv2ResultCode: C avsResultCode: Y billingAddress: countryCode: alpha2: NL alpha3: NLD numeric: '528' stateOrProvince: NH city: Amsterdam line1: Langtown Road line2: '4200' postalCode: 1234BC created: '2023-09-07T09:25:34.184Z' version: 1 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 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 reservation_Request: summary: Create a charge with pre-authorization value: merchantAcceptorResolver: merchantAcceptorKey: mac-1eOdAHhgstYTUhlphPFf card: number: '4761070000000905' expiryYear: 2030 expiryMonth: 12 holderName: Joe Cardholder type: intent: reservation cardEntry: e-commerce order: checkout amount: value: 2000 currency: EUR clearingMode: manual network-token-3ds_Request: summary: Create a charge using a network token with 3DS authentication value: merchantAcceptorResolver: merchantAcceptorKey: mac-1eOdAHhgstYTUhlphPFf card: number: '4761070000000905' expiryYear: 2030 expiryMonth: 12 cvc: '196' holderName: Joe Cardholder tokenDetails: type: network tokenCryptogram: 112233445566778899001122334= type: intent: purchase cardEntry: token order: checkout amount: value: 2000 currency: EUR threeDsAuthenticationResult: authenticationValue: kANBCCDDYJYjadADpka8KoQBXMqS directoryServerTransId: 5340af8a-5505-4bf6-abcd-123412341234 moto_Response: summary: Create a Mail Order/Telephone Order (MOTO) charge value: key: chg-3k3RijlWHj0YkOdU2g9L merchantAcceptorRef: key: mac-25oJsQ99GBpWjcMQidKS version: 1 card: maskedNumber: 47610700****0905 amount: value: 2000 currency: EUR type: intent: purchase cardEntry: manual order: phone clearingMode: auto status: authentication: none authorization: approved clearing: pending authentication: sca: compliance: out-of-scope complianceReason: moto method: none cvc: match avs: none localTransactionDateTime: '2023-08-14T12:23:43.014Z' fraudLiability: acquirer authorizationIsoFields: responseCode: '00' responseCodeDescription: Approved authorizationCode: 13AE53 networkCode: '0000' systemTraceAuditNumber: '356286' retrievalReferenceNumber: '322612356286' eci: '01' networkSpecificFields: transactionIdentifier: '209324308044810' cvv2ResultCode: M created: '2023-08-14T12:23:43.014Z' version: 1 examples-Response: summary: Create POS charge with online PIN value: key: chg-3pkSK2b2ES9ZTiYM4GWZ merchantAcceptorRef: key: mac-1TQ4EL0rI3Uz06VF2a0f version: 1 card: maskedNumber: 52869400****0205 amount: value: 2050 currency: EUR type: intent: purchase cardEntry: terminal order: counter terminalEntryMode: contactless clearingMode: auto status: authentication: none authorization: approved clearing: pending localTransactionDateTime: '2023-09-20T12:46:05.516Z' authorizationIsoFields: responseCode: '00' responseCodeDescription: Approved authorizationCode: '547158' systemTraceAuditNumber: '665356' retrievalReferenceNumber: '326312665356' eci: '00' networkCode: MCS networkSpecificFields: traceId: 'MCS8428230527 ' banknetReference: '842823' terminal: id: 17s2d469 type: softpos attended: true capabilities: - contactlessChip - noCvm - onlinePin created: '2023-09-20T12:46:05.516Z' version: 1 network-token-3ds_Response: summary: Create a charge using a network token with 3DS authentication value: key: chg-1e1dAHhgstYTUhlphPzZ merchantAcceptorRef: key: mac-1eOdAHhgstYTUhlphPFf version: 1 card: maskedNumber: 47610700****0905 tokenDetails: type: network amount: value: 2000 currency: EUR type: intent: purchase cardEntry: token order: checkout clearingMode: auto status: authentication: none authorization: approved clearing: pending authentication: sca: compliance: mandated complianceReason: mandated method: 3ds2 result: directoryServerTransId: 5340af8a-5505-4bf6-abcd-123412341234 cvc: not-processed avs: none localTransactionDateTime: '2019-08-24T14:15:22Z' fraudLiability: acquirer authorizationIsoFields: responseCode: '00' responseCodeDescription: Approved authorizationCode: 4A4316 networkCode: '0000' systemTraceAuditNumber: '123456' retrievalReferenceNumber: '131608123456' eci: '05' networkSpecificFields: transactionIdentifier: '195764913831324' cvv2ResultCode: P created: '2019-08-24T14:15:22Z' version: 1 reservation_Response: summary: Create a charge with pre-authorization value: key: chg-3nsVGucquuDDcMbHnEo0 merchantAcceptorRef: key: mac-1eOdAHhgstYTUhlphPFf version: 3 card: maskedNumber: 47610700****0905 amount: value: 2000 currency: EUR type: intent: reservation cardEntry: e-commerce order: checkout clearingMode: manual status: authentication: none authorization: approved clearing: pending authentication: sca: compliance: out-of-scope complianceReason: none method: none cvc: none avs: none localTransactionDateTime: '2023-09-07T09:46:41.401Z' fraudLiability: acquirer authorizationIsoFields: responseCode: '00' responseCodeDescription: Approved authorizationCode: 84D28D systemTraceAuditNumber: '180296' retrievalReferenceNumber: '325009180296' eci: '07' networkCode: '0000' networkSpecificFields: transactionIdentifier: '188781568925096' created: '2023-09-07T09:46:41.401Z' version: 1 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 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 online-pin_Request: summary: Create POS charge with online PIN value: merchantAcceptorResolver: merchantAcceptorKey: mac-1eOdAHhgstYTUhlphPFf card: number: '5286940020000205' expiryYear: 2030 expiryMonth: 12 amount: value: 2050 currency: EUR type: intent: purchase cardEntry: terminal order: counter terminalEntryMode: contactless track2Data: 5286940020000205D30122010123456789 emvData: 820219808407A00000000410109505000000800101020880 pinBlock: block: D766AAA13ED5CA50 format: ISO-0 zoneId: pos-gateway keyId: '0001' terminal: id: 17s2d469 type: softpos attended: true capabilities: - contactlessChip - noCvm - onlinePin clearingMode: auto google-pay_Request: summary: Create a charge using a Google Pay token value: merchantAcceptorResolver: merchantAcceptorKey: mac-1eOdAHhgstYTUhlphPFf card: number: '4761070000000905' expiryYear: 2030 expiryMonth: 12 cvc: '196' holderName: Joe Cardholder tokenDetails: type: google-pay eci: '05' threeDsCryptogram: 112233445566778899001122334= type: intent: purchase cardEntry: token order: checkout amount: value: 2000 currency: EUR examples-AuthenticationRequiredExample: value: type: /silverflow/problems/authentication-required title: Authentication Required status: 401 detail: Authentication Required instance: /silverflow/8e445b2e-d745-4b38-a38d-781fc998e442 IncompatibleAuthenticationStatusExample: value: type: /silverflow/problems/charge/incompatible-authentication-status title: Incompatible Authentication Status status: 409 detail: Authentication status 'non-authenticated' is not supported for this operation.' instance: /silverflow/b045229d-f66d-4ef7-9f5d-d48064a2aa39 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 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 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 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 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' 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' components-responses-TooManyRequestsError: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/TooManyRequestsErrorDetails' examples: TooManyRequestsErrorExample: $ref: '#/components/examples/TooManyRequestsErrorExample' 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: 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