openapi: 3.0.2 info: title: Finix Authorizations Transfers API description: $ref: api-descriptions/main.md contact: name: Finix url: https://finix.com email: support@finixpayments.com version: '2022-02-01' servers: - description: Sandbox server to be used for testing and development url: https://finix.sandbox-payments-api.com security: - BasicAuth: [] tags: - name: Transfers description: $ref: api-descriptions/tags/transfers.md paths: /transfers: post: tags: - Transfers description: Create a `Transfer`. summary: Create a Transfer operationId: createTransfer requestBody: $ref: '#/components/requestBodies/CreateTransferRequest' responses: '201': $ref: '#/components/responses/Transfer' '400': $ref: '#/components/responses/ErrorUnprocessableEntity' '401': $ref: '#/components/responses/ErrorUnauthorized' '402': $ref: '#/components/responses/ErrorTransfers402' '403': $ref: '#/components/responses/ErrorForbidden403' '404': $ref: '#/components/responses/ErrorNotFound' '406': $ref: '#/components/responses/Error406NotAcceptable' '422': $ref: '#/components/responses/Error422InvalidField' x-java-method-name: create parameters: - schema: type: string default: '2018-01-01' example: '2022-02-01' in: header name: Finix-Version description: Specify the API version of your request. For more details, see [Versioning.](/guides/developers/versioning/) x-python-method-name: create get: tags: - Transfers description: Retrieve a list of `Transfers`. summary: List Transfers operationId: listTransfers parameters: - $ref: '#/components/parameters/QueryAfterCursor' - $ref: '#/components/parameters/QueryLimit' - $ref: '#/components/parameters/QueryAmountFilter' - $ref: '#/components/parameters/QueryAmountGteFilter' - $ref: '#/components/parameters/QueryAmountGtFilter' - $ref: '#/components/parameters/QueryAmountLteFilter' - $ref: '#/components/parameters/QueryAmountLtFilter' - $ref: '#/components/parameters/QueryCreatedAtGteFilter' - $ref: '#/components/parameters/QueryCreatedAtLteFilter' - $ref: '#/components/parameters/QueryIdempotencyIdFilter' - $ref: '#/components/parameters/QueryIdFilter' - $ref: '#/components/parameters/QuerySettlementReadyToSettleAtGteFilter' - $ref: '#/components/parameters/QuerySettlementReadyToSettleAtLteFilter' - in: query name: state description: Filter by Transaction state. schema: enum: - ALL - SUCCEEDED - FAILED - PENDING - CANCELED - $ref: '#/components/parameters/QueryStatementDescriptorFilter' - $ref: '#/components/parameters/QueryTraceIdFilter' - $ref: '#/components/parameters/QueryUpdatedAtGteFilter' - $ref: '#/components/parameters/QueryUpdatedAtLteFilter' - in: query name: instrument_bin description: Filter by Bank Identification Number (BIN). The BIN is the first 6 digits of the masked number. schema: type: string - schema: type: string in: query name: instrument_account_last4 description: "Filter Transactions by the last 4 digits of the bank account. The bank account last 4 are the last 4 digits of the masked number\tinstrument_account_last4=9444 BIN." - schema: type: string in: query name: instrument_brand_type description: Filter by card brand. Available card brand types can be found in the drop-down. - schema: type: string in: query name: merchant_identity_id description: Filter by `Identity` ID. - schema: type: string in: query name: merchant_identity_name description: Filter Transactions by `Identity` name. The name is not case-sensitive. - schema: type: string in: query name: instrument_name description: Filter Transactions by `Payment Instrument` name. - schema: type: string in: query name: instrument_type description: 'Filter Transactions by `Payment Instrument` type. Available instrument types include: Bank Account or Payment Card' - schema: type: string in: query name: merchant_id description: Filter by `Merchant` ID. - schema: type: string in: query name: merchant_mid description: Filter by Merchant Identification Number (MID). - schema: type: string in: query name: instrument_card_last4 description: Filter by the payment card last 4 digits. - schema: type: string in: query name: merchant_processor_id description: Filter by `Processor` ID. - schema: type: string enum: - ALL - DEBITS - CREDITS - REVERSAL - SETTLEMENT example: REVERSAL in: query name: type description: 'Filter by `Transfer` type. Available type filters include: All, Debits, Refunds, or Credits.' - $ref: '#/components/parameters/QueryBeforeCursor' - $ref: '#/components/parameters/TagsKey' - $ref: '#/components/parameters/TagsValue' responses: '200': $ref: '#/components/responses/TransfersList' '401': $ref: '#/components/responses/ErrorUnauthorized' '403': $ref: '#/components/responses/ErrorForbidden403' '404': $ref: '#/components/responses/ErrorNotFound' '406': $ref: '#/components/responses/Error406NotAcceptable' x-java-method-name: list x-group-parameters: true x-codeSamples: - lang: cURL label: curl source: "curl \"https://finix.sandbox-payments-api.com/transfers\" \\\n -H \"Finix-Version: 2022-02-01\" \\\n -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e\n" x-python-method-name: list x-returns-list: true /transfers/{transfer_id}: parameters: - description: ID of `Transfer` resource. required: true in: path name: transfer_id schema: type: string get: tags: - Transfers description: Retrieve a `Transfer`. summary: Fetch a Transfer operationId: getTransfer responses: '200': $ref: '#/components/responses/Transfer' '401': $ref: '#/components/responses/ErrorUnauthorized' '403': $ref: '#/components/responses/ErrorForbidden403' '404': $ref: '#/components/responses/ErrorNotFound' '406': $ref: '#/components/responses/Error406NotAcceptable' x-java-method-name: get x-codeSamples: - lang: cURL label: curl source: "curl \"https://finix.sandbox-payments-api.com/transfers/TRvypRNBeqM597Zi4DcqJ2Vh\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Finix-Version: 2022-02-01\" \\\n -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e\n" x-python-method-name: get put: tags: - Transfers description: Update a `Transfer`. summary: Update a Transfer operationId: updateTransfer responses: '200': $ref: '#/components/responses/Transfer' '401': $ref: '#/components/responses/ErrorUnauthorized' '403': $ref: '#/components/responses/ErrorForbidden403' '404': $ref: '#/components/responses/ErrorNotFound' '406': $ref: '#/components/responses/Error406NotAcceptable' requestBody: $ref: '#/components/requestBodies/UpdateTransferRequest' x-java-method-name: update x-codeSamples: - lang: cURL label: curl source: $ref: xcode/curl/transfers/updatetransfer.md x-python-method-name: update /transfers/{transfer_id}/reversals: parameters: - description: ID of `Transfer` object. required: true in: path name: transfer_id schema: type: string post: tags: - Transfers description: "Reverse a transfer with a `type` of **DEBIT**. This reversal creates a new `Transfer` resource with a `type` of **REVERSAL**. \n\nRelated Guides: [Refunding Payments](/guides/after-the-payment/refunding-and-cancelling-payments/)" summary: Refund or Reverse a Transfer operationId: createTransferReversal requestBody: $ref: '#/components/requestBodies/CreateReversalRequest' responses: '201': $ref: '#/components/responses/Transfer' '400': $ref: '#/components/responses/ErrorUnprocessableEntity' '401': $ref: '#/components/responses/ErrorUnauthorized' '403': $ref: '#/components/responses/ErrorForbidden403' '404': $ref: '#/components/responses/ErrorNotFound' '406': $ref: '#/components/responses/Error406NotAcceptable' '422': $ref: '#/components/responses/ErrorUnprocessableEntity' parameters: - schema: type: string default: '2018-01-01' example: '2022-02-01' in: header name: Finix-Version description: Specify the API version of your request. For more details, see [Versioning.](/guides/developers/versioning/) x-java-method-name: create_transfer_reversal x-python-method-name: create_transfer_reversal get: tags: - Transfers description: Retrieve a list of reversals for a `Transfer`. summary: List Reversals on a Transfer operationId: listTransferReversals parameters: - required: false in: query name: limit schema: type: integer format: int64 description: The number of entries to return. - $ref: '#/components/parameters/QueryAfterCursor' - $ref: '#/components/parameters/QueryBeforeCursor' responses: '200': $ref: '#/components/responses/ReversalsList' '401': $ref: '#/components/responses/ErrorUnauthorized' '403': $ref: '#/components/responses/ErrorForbidden403' '404': $ref: '#/components/responses/ErrorNotFound' '406': $ref: '#/components/responses/Error406NotAcceptable' x-java-method-name: listTransfersReversals x-group-parameters: true x-codeSamples: - lang: cURL label: curl source: "curl \"https://finix.sandbox-payments-api.com/transfers/TRacB6Q6GcW6yvFUKawSnMEP/reversals\" \\\n -H \"Finix-Version: 2022-02-01\" \\\n -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e\n" x-python-method-name: list_transfers_reversals x-returns-list: true components: schemas: L3AdditionalPurchaseData: title: L3AdditionalPurchaseData x-stoplight: id: 7xbmc1d9p49or type: object description: Additional information about the purchase. Used for [Level 2 and Level 3 Processing](/guides/payments/modify/level-2-and-level-3-processing/). properties: customer_reference_number: type: string description: The customer reference for the purchase (max 17 characters). maxLength: 17 customs_duty_amount: type: integer description: The duty in cents on the total purchase amount for the order destination_country_code: type: string description: The ISO country code of the order destination. destination_postal_code: type: string description: The postal code of the order destination (10 characters) maxLength: 10 discount_amount: type: integer description: The amount in cents of the discount for the order. invoice_reference_number: type: string description: The order's invoice number (max 15 characters) maxLength: 15 item_data: type: array description: Additional information about the transaction. Used for Level 2 and Level 3 Processing. items: type: object properties: amount_excluding_sales_tax: type: integer description: '- Total cost of the line item in cents, excluding tax. - Must align with `sales_tax` so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.' amount_including_sales_tax: type: integer description: '- Total cost of the line item in cents, including tax. - Must align with `sales_tax` so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.' commodity_code: type: string description: A commodity code is a numeric code representing a particular product or service as defined by the National Institute of Governmental Purchasing. The code can be 3, 5, 7, or 11 digits in length. The longer the code the more granular the description of the product/service. (max 12 characters). maxLength: 12 cost_per_unit: type: integer description: The price in cents of one unit of the item purchased item_description: type: string description: Required when `item_data` is supplied (max 25 characters) maxLength: 25 item_discount_amount: type: integer description: 'Item discount amount in cents ' merchant_product_code: type: string description: Merchant defined product code (max 12 characters). maxLength: 12 quantity: type: integer description: The number of items purchased. Must be greater than 0. minimum: 1 maximum: 99 unit_of_measure: type: string description: The unit of measure of the purchased item (max 3 characters). maxLength: 3 required: - amount_excluding_sales_tax - amount_including_sales_tax - commodity_code - cost_per_unit - item_description - item_discount_amount - merchant_product_code - quantity - unit_of_measure order_date: type: object properties: day: type: integer description: Day of purchase (between 1 and 31) month: type: integer description: Month of purchase (between 1 and 12) year: type: integer description: Year of purchase (4-digit) minimum: 1990 sales_tax: type: integer description: "- Total aggregate tax amount in cents for the entire purchase. Field is automatically calculated if you pass in the itemized tax amounts. \n- For non-taxable transactions either set `sales_tax` to 0 or omit from payload and also set `tax_exempt` to **True**.\n- Request must align so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.e**." ship_from_postal_code: type: string description: The postal code from where order is shipped (10 characters) maxLength: 10 shipping_amount: type: integer description: 'The shipping cost in cents for the order. ' tax_exempt: type: boolean description: '- For tax exempt purchases set to **True**. - If set to **True**, request can''t include `sales_tax`.' required: - customer_reference_number - customs_duty_amount - discount_amount - item_data - sales_tax - shipping_amount CreateTransferRequest: type: object properties: additional_buyer_charges: $ref: '#/components/schemas/AdditionalBuyerCharges' additional_purchase_data: $ref: '#/components/schemas/AdditionalPurchaseData' adjustment_request: type: boolean description: Details if the `transfer` was created to adjust funds. nullable: true amount: type: integer format: int64 description: The total amount that will be debited from the buyer in cents (e.g. 100 cents to debit $1.00). currency: $ref: '#/components/schemas/Currency' destination: type: string description: ID of the `Payment Instrument` where funds will be sent. nullable: true device: type: string description: The ID of the activated device. nullable: true fee: type: integer format: int64 description: "The minimum amount of the `Transfer` you'd like to collect as your fee in cents. Defaults to zero (must be less than or equal to the `amount`).\n- If the fees applied by the 'Fee Profile' are ***higher*** than the value passed in 'fee', 'fee' will not be applied and have no effect.\n- If the fees applied by the 'Fee Profile' are ***lower*** than the value passed in 'fee', an additional fee is be applied, in addition to the fees generated by the `Fee Profile`.\n - The additional fee is equal to the difference between the value passed in 'fee' and the fees generated by the `Fee Profile`." fraud_session_id: $ref: '#/components/schemas/FraudSessionID' hsa_fsa_payment: $ref: '#/components/schemas/HSAFSAPayment' idempotency_id: type: string description: A randomly generated value that gets tied with the request. nullable: true merchant: type: string description: "- ID of the primary `Merchant` that's processing the `Transfer` for the buyer. \n- In Split Transactions, the `Merchant` specified in the `Transfer` request is the primary `Merchant`." nullable: true operation_key: type: string enum: - CARD_PRESENT_DEBIT - CARD_PRESENT_UNREFERENCED_REFUND - MERCHANT_CREDIT_ADJUSTMENT - MERCHANT_DEBIT_ADJUSTMENT - PULL_FROM_CARD - PUSH_TO_CARD - SALE - UNREFERENCED_REFUND description: Details the operation that's be performed in the transaction. nullable: true processor: type: string description: Name of the transaction processor. source: type: string description: ID of the `Payment Instrument` where funds get debited. security_code: type: string description: The 3-4 digit security code for the card (i.e. CVV code). Include the CVV code of the card to include [Card Verification Checks](/guides/payments/making-a-payment/card-verification-checks/) with the created `Transfer`. nullable: true statement_descriptor: type: string description:
  • The description of the transaction that appears on the buyer's bank or card statement.
  • statement_descriptors for `Transfers` in live enviroments will have a FI * prefix. maxLength: 20 nullable: true tags: $ref: '#/components/schemas/Tags' 3d_secure_authentication: type: object description: The 3D secure information required to create a 3D secure `Transfer.` nullable: true properties: cardholder_authentication: type: string description: Provides evidence that the cardholder authentication occurred or that the merchant attempted authentication. This is unique for each authentication transaction. cardholder_ip_address: type: string description: Only required for **American Express** cards. example: 189.1.126.240 electronic_commerce_indicator: type: string description: '- **AUTHENTICATED**: Approved by 3D Secure Vendor. - **ATTEMPTED**: Issuer or cardholder does not support 3D Secure.' transaction_id: type: string description: Only required for **Visa** cards. required: - cardholder_authentication - electronic_commerce_indicator 'additional_purchase_data ': $ref: '#/components/schemas/L3AdditionalPurchaseData' device_configuration: $ref: '#/components/schemas/ConfigurationDetails' split_transfers: type: object description: '- An array used to detail how funds from the `Transfer` will split and the amount `Merchants` receive. - The combined `amounts` under `split_transfers` must be equal to the `amount` submitted in the parent `Transfer.` - For more information, see [Split Transactions](/docs/guides/payments/modify/split-transactions/).' properties: amount: type: integer format: int64 description: '- The amount of funds that get split and paid out to the specified `Merchant`. - Must be less than or equal to the `amount` of the `Transfer.`' merchant: type: string description: '- The ID of the `Merchant` that will receive the specified `amount` under the `split_transfers` object. - In Split Transactions, the `Merchants` specified in the `split_transfers` object are the ancillary `Merchants.`' tags: $ref: '#/components/schemas/Tags' IdempotencyId: title: IdempotencyId type: string description: Pass any randomly generated or internal ID to [idempotently](/api/overview/#section/Idempotency-Requests) identify `Transfers`, `Authorizations`, and refund requests. nullable: true Amount: type: integer title: Amount description: The total amount that will be debited in cents (e.g. 100 cents to debit $1.00). format: int64 Messages: title: Messages type: array description: Message field that provides additional details. This field is typically **null**. nullable: true items: type: string ErrorGeneric: type: object properties: total: type: integer _embedded: type: object properties: errors: type: array items: type: object additionalProperties: true properties: code: type: string enum: - FORBIDDEN logref: $ref: '#/components/schemas/LogRef' message: type: string _links: type: object properties: source: type: object properties: href: type: string FailureMessage: title: FailureMessage x-stoplight: id: cgilf858039yi type: string description: A human-readable description of why the transaction was declined. This will also include a suggestion on how to complete the payment. nullable: true Error403ForbiddenList: type: object properties: total: type: integer _embedded: type: object properties: errors: type: array items: type: object additionalProperties: true properties: code: type: string enum: - FORBIDDEN logref: $ref: '#/components/schemas/LogRef' message: type: string _links: type: object properties: source: type: object properties: href: type: string description: '' title: '' Error422InvalidFieldList: type: object description: Invalid field title: '' properties: total: type: integer _embedded: type: object properties: errors: type: array items: type: object properties: code: type: string enum: - INVALID_FIELD field: type: string logref: $ref: '#/components/schemas/LogRef' message: type: string _links: type: object properties: source: type: object properties: href: type: string Raw: title: Raw description: Raw response from the processor. x-examples: {} type: object nullable: true UpdatedAt: type: string title: UpdatedAt format: date-time description: Timestamp of when the object was last updated. PageCursor: title: PageCursor x-stoplight: id: 8v9on8n2939z2 type: object properties: limit: type: integer description: The number of entries to return. next_cursor: type: string description: The cursor to use for the next page of results. nullable: true description: Details the page that's returned. FeeType: title: FeeType type: string enum: - APPLICATION_FEE - ACH_BASIS_POINTS - ACH_FIXED - CARD_BASIS_POINTS - CARD_FIXED - CARD_INTERCHANGE - VISA_BASIS_POINTS - VISA_FIXED - VISA_INTERCHANGE - VISA_ASSESSMENT_BASIS_POINTS - VISA_ACQUIRER_PROCESSING_FIXED - VISA_CREDIT_VOUCHER_FIXED - VISA_BASE_II_SYSTEM_FILE_TRANSMISSION_FIXED - VISA_BASE_II_CREDIT_VOUCHER_FIXED - VISA_KILOBYTE_ACCESS_FIXED - DISCOVER_BASIS_POINTS - DISCOVER_FIXED - DISCOVER_INTERCHANGE - DISCOVER_ASSESSMENT_BASIS_POINTS - DISCOVER_DATA_USAGE_FIXED - DISCOVER_NETWORK_AUTHORIZATION_FIXED - DINERS_CLUB_BASIS_POINTS - DINERS_CLUB_FIXED - DINERS_CLUB_INTERCHANGE - MASTERCARD_BASIS_POINTS - MASTERCARD_FIXED - MASTERCARD_INTERCHANGE - MASTERCARD_ASSESSMENT_UNDER_1K_BASIS_POINTS - MASTERCARD_ASSESSMENT_OVER_1K_BASIS_POINTS - MASTERCARD_ACQUIRER_FEE_BASIS_POINTS - JCB_BASIS_POINTS - JCB_FIXED - JCB_INTERCHANGE - AMERICAN_EXPRESS_BASIS_POINTS - AMERICAN_EXPRESS_FIXED - AMERICAN_EXPRESS_INTERCHANGE - AMERICAN_EXPRESS_ASSESSMENT_BASIS_POINTS - DISPUTE_INQUIRY_FIXED_FEE - DISPUTE_FIXED_FEE - QUALIFIED_TIER_BASIS_POINTS_FEE - QUALIFIED_TIER_FIXED_FEE - CUSTOM - ACH_DEBIT_RETURN_FIXED_FEE - ACH_CREDIT_RETURN_FIXED_FEE - ANCILLARY_FIXED_FEE_PRIMARY - ANCILLARY_FIXED_FEE_SECONDARY - SETTLEMENT_V2_TRANSFER description: Details the type of fee if the `Transfer` includes a `fee`. CardPresentDetails: title: CardPresentDetails x-stoplight: id: jbenxkas8ukf2 type: object description: Details needed to process card present transactions. nullable: true properties: approval_code: type: string description: Unique ID used to identify the approval of the `Transfer`. nullable: true brand: type: string description: The brand of the card saved in the `Payment Instrument`. nullable: true emv_data: type: object description: Encrypted card data used to process the transaction. nullable: true properties: application_identifier: type: string description: ID of the EMV application processing the transaction. application_label: type: string description: EMV card label. application_preferred_name: type: string description: Alternate EMV application name (if provided). nullable: true application_transaction_counter: type: string description: Transaction number for the EMV application. cryptogram: type: string description: Encrypted card infromation used to process the transaction. issuer_code_table_index: type: string description: The alphabet code table (according to ISO 8859) used by the EMV application (if provided). nullable: true pin_verified: type: boolean description: Details if the cardholder's PIN number was verified. tags: $ref: '#/components/schemas/Tags' entry_mode: type: string description: Details how the card was entered to process the transaction. nullable: true masked_account_number: type: string description: Last four digits of the bank account number. nullable: true name: type: string description: The name of the bank account or card owner. nullable: true payment_type: type: string description: The type of `Payment Instrument` used in the transaction (or the original payment). AdditionalPurchaseData: title: AdditionalPurchaseData x-stoplight: id: e98e7635f242c type: object description: Additional information about the purchase. Used for [Level 2 and Level 3 Processing](/guides/payments/modify/level-2-and-level-3-processing/). properties: customer_reference_number: type: string description: The customer reference for the purchase (max 17 characters). maxLength: 17 customs_duty_amount: type: integer description: The duty in cents on the total purchase amount for the order destination_country_code: type: string description: The ISO country code of the order destination. destination_postal_code: type: string description: The postal code of the order destination (10 characters) maxLength: 10 discount_amount: type: integer description: The amount in cents of the discount for the order. invoice_reference_number: type: string description: The order's invoice number (max 15 characters) maxLength: 15 item_data: type: array description: Additional information about the transaction. Used for Level 2 and Level 3 Processing. items: type: object properties: amount_excluding_sales_tax: type: integer description: '- Total cost of the line item in cents, excluding tax. - Must align with `sales_tax` so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.' amount_including_sales_tax: type: integer description: '- Total cost of the line item in cents, including tax. - Must align with `sales_tax` so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.' commodity_code: type: string description: A commodity code is a numeric code representing a particular product or service as defined by the National Institute of Governmental Purchasing. The code can be 3, 5, 7, or 11 digits in length. The longer the code the more granular the description of the product/service. (max 12 characters). maxLength: 12 cost_per_unit: type: integer description: The price in cents of one unit of the item purchased item_description: type: string description: Required when `item_data` is supplied (max 25 characters) maxLength: 25 item_discount_amount: type: integer description: 'Item discount amount in cents ' merchant_product_code: type: string description: Merchant defined product code (max 12 characters). maxLength: 12 quantity: type: integer description: The number of items purchased. Must be greater than 0. minimum: 1 maximum: 99 unit_of_measure: type: string description: The unit of measure of the purchased item (max 3 characters). maxLength: 3 order_date: type: object properties: day: type: integer description: Day of purchase (between 1 and 31) month: type: integer description: Month of purchase (between 1 and 12) year: type: integer description: Year of purchase (4-digit) minimum: 1990 sales_tax: type: integer description: "- Total aggregate tax amount in cents for the entire purchase. Field is automatically calculated if you pass in the itemized tax amounts. \n- For non-taxable transactions either set `sales_tax` to 0 or omit from payload and also set `tax_exempt` to **True**.\n- Request must align so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`." ship_from_postal_code: type: string description: The postal code from where order is shipped (10 characters) maxLength: 10 shipping_amount: type: integer description: 'The shipping cost in cents for the order. ' tax_exempt: type: boolean description: '- For tax exempt purchases set to **True**. - If set to **True**, request can''t include `sales_tax`.' required: - customer_reference_number - sales_tax Error402PaymentRequired: type: object properties: total: type: integer _embedded: type: object properties: errors: type: array items: type: object additionalProperties: true properties: code: type: string enum: - CALL_ISSUER logref: $ref: '#/components/schemas/LogRef' message: type: string enum: - Please contact card issuer for more information. _links: type: object properties: source: type: object properties: href: type: string Transfer: type: object x-examples: {} properties: id: type: string description: The ID of the `Transfer` resource. created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additional_buyer_charges: $ref: '#/components/schemas/AdditionalBuyerCharges' additional_healthcare_data: $ref: '#/components/schemas/AdditionalHealthcareData' additional_purchase_data: $ref: '#/components/schemas/AdditionalPurchaseData' address_verification: type: string description: Details the results of the Address Verification checks. nullable: true amount: $ref: '#/components/schemas/Amount' amount_requested: type: integer description: Details the `amount` that was requested to get debited from the `source` when the transaction was created. application: type: string description: The ID of the `Application` the `Transfer` was created under. card_present_details: $ref: '#/components/schemas/CardPresentDetails' currency: $ref: '#/components/schemas/Currency' destination: type: string description: The ID of the destination. nullable: true device: type: string description: The ID of the `Device` resource the `Transfer` was created under. externally_funded: type: string description: Details if the `Transfer` will be settled externally by card processors. failure_code: $ref: '#/components/schemas/FailureCode' failure_message: $ref: '#/components/schemas/FailureMessage' fee: type: integer format: int64 description: "The minimum amount of the `Transfer` you'd like to collect as your fee in cents. Defaults to zero (must be less than or equal to the `amount`).\n- If the fees applied by the 'Fee Profile' are ***higher*** than the value passed in 'fee', 'fee' will not be applied and have no effect.\n- If the fees applied by the 'Fee Profile' are ***lower*** than the value passed in 'fee', an additional fee is be applied, in addition to the fees generated by the `Fee Profile`.\n - The additional fee is equal to the difference between the value passed in 'fee' and the fees generated by the `Fee Profile`.\nfraud_session_id:" fee_type: $ref: '#/components/schemas/FeeType' idempotency_id: $ref: '#/components/schemas/IdempotencyId' merchant: type: string description: The ID of the `Merchant` resource the `Transfer` was created under. example: MUxxxxxxxxxxxxxxxxxxxxxxx merchant_identity: type: string example: IDxxxxxxxxxxxxxxxxxxxxxxxx description: The ID of `Identity` resource used by the `Merchant` the `Transfer` was created under. parent_transfer: type: string description: '- ID of the original parent `Transfer` where the transaction occurred. - Only appears for `Transfers:type` **REVERSAL** and **FEE**.' nullable: true parent_transfer_trace_id: type: string description: '- `trace_id` of the original parent `Transfer` where the transaction occurred. - Only appears for `Transfers:type` **REVERSAL** and **FEE**.' nullable: true messages: $ref: '#/components/schemas/Messages' raw: $ref: '#/components/schemas/Raw' ready_to_settle_at: type: string format: date-time description: Timestamp of when the `Transfer` is ready to be settled at. nullable: true security_code_verification: type: string description: Details the results of the Security Code Verification checks. nullable: true source: type: string description: The ID of the `Payment Instrument` that will be debited and performing the `Transfer`. nullable: true split_transfers: type: string description: '- The ID of the `split_transfer` resources moving funds from the primary `Transfer` to the specified `Merchants.` - Only used for Split Transactions. For more information, see [Split Transactions](/docs/guides/payments/modify/split-transactions/).' nullable: true state: type: string enum: - CANCELED - PENDING - FAILED - SUCCEEDED - UNKNOWN description: The stauts of the `Transfer`. statement_descriptor: type: string description:
  • The description of the seller that appears on the buyer's bank or card statement.
  • statement_descriptors for `Transfers` in live enviroments will have a FI * prefix. nullable: true subtype: type: string enum: - API - APPLICATION_FEE - DISPUTE - MERCHANT_CREDIT - MERCHANT_CREDIT_ADJUSTMENT - MERCHANT_DEBIT - MERCHANT_DEBIT_ADJUSTMENT - PLATFORM_CREDIT - PLATFORM_CREDIT_ADJUSTMENT - PLATFORM_DEBIT - PLATFORM_DEBIT_ADJUSTMENT - PLATFORM_FEE - SETTLEMENT_MERCHANT - SETTLEMENT_NOOP - SETTLEMENT_PARTNER - SETTLEMENT_PLATFORM - SPLIT_PAYOUT - SPLIT_PAYOUT_ADJUSTMENT - SYSTEM description: Additional information describing the `payment_type`. tags: $ref: '#/components/schemas/Tags' trace_id: type: string description: Trace ID of the `Transfer`. The processor sends back the `trace_id` so you can track the `Transfer` end-to-end. nullable: true type: type: string enum: - DEBIT - CREDIT - REVERSAL - FEE - ADJUSTMENT - DISPUTE - RESERVE - SETTLEMENT - UNKNOWN description: Type of `Transfer`. _links: type: object description: For your convenience, every response includes several URLs which link to resources relevant to the request. You can use these `_links` to make your follow-up requests and quickly access relevant IDs. properties: application: type: object description: Link to the `Application` the resource was created under. properties: href: type: string destination: type: object description: Link to the `Payment Instrument` where funds are getting sent. properties: href: type: string device: type: object description: Link to the `Device` the request was made under. properties: href: type: string disputes: type: object description: Link to the `Dispute` the request was made under. properties: href: type: string fee_profile: type: object description: Link to the `fee_profile` the request was made under. properties: href: type: string fees: type: object description: Link to the `fees` the request is associated with. properties: href: type: string merchant_identity: type: object description: Link to the `Identity` the `Merchant` was created under and the `Transfer` was submitted with. properties: href: type: string payment_instruments: type: object description: Link to the `Payment Instrument` associated with the Transfer. properties: href: type: string disputed_transfer: type: object description: Link to the `Transfer` the `Dispute` is about. properties: href: type: string reversals: type: object description: Link to the `reversals` associated with the `Transfer`. properties: href: type: string self: type: object description: Link to the resource that was used in the request. properties: href: type: string parent: type: object description: Link to the original resource that was used in the request. properties: href: type: string source: type: object description: Link to the `Payment Instrument` the `Transfer` was created under. properties: href: type: string AdditionalHealthcareData: title: AdditionalHealthcareData x-stoplight: id: ibznc087ymmit type: object description: Optional object detailing [specific healthcare amounts](/guides/making-a-payment/hsa-fsa/). nullable: true properties: clinic_amount: type: integer description: The amount used for clinic and office visits such as a copay amount. nullable: true dental_amount: type: integer description: The amount used for dental related expenses. nullable: true prescription_amount: type: integer description: The amount used to purchase perscriptions and medications. nullable: true vision_amount: type: integer description: The amount used for vision related expenses. nullable: true FraudSessionID: title: FraudSessionID x-stoplight: id: x00www7a3mlv6 type: string description: The `fraud_session_session` ID you want to review for fraud. For more info, see [Fraud Detection](/guides/payments/fraud-detection/). Error404NotFoundList: type: object properties: total: type: integer _embedded: type: object properties: errors: type: array items: type: object additionalProperties: true properties: code: type: string enum: - NOT_FOUND logref: $ref: '#/components/schemas/LogRef' message: type: string _links: type: object properties: source: type: object properties: href: type: string ListLinks: title: ListLinks additionalProperties: true type: object description: For your convenience, every response includes several URLs which link to resources relevant to the request. You can use these `_links` to make your follow-up requests and quickly access relevant IDs. properties: next: type: object description: Link to the next page of entries. properties: href: type: string self: type: object description: Link to the resource that was used in the request. properties: href: type: string LogRef: title: LogRef type: object properties: logref: type: string FailureCode: title: FailureCode x-stoplight: id: lo8jqmipa7376 type: string description: The code of the failure so the decline can be handled programmatically. For more info on how to handle the failure, see [Failure Codes](/guides/developers/errors/#failure-codes). nullable: true CreateReversalRequest: type: object properties: idempotency_id: $ref: '#/components/schemas/IdempotencyId' refund_amount: type: integer description: The amount of the refund in cents. It must be equal to or less than the amount of the original `Transfer`. tags: $ref: '#/components/schemas/Tags' device: type: string description: The ID of the `Device` used to process the transaction. amount: type: integer description: The amount of the sale. currency: $ref: '#/components/schemas/Currency' operation_key: type: string description: Describes the operation to be performed in the transaction. Use **CARD_PRESENT_UNREFERENCED_REFUND** for refunds where the card isn't avalible. example: CARD_PRESENT_UNREFERENCED_REFUND nullable: true split_transfers: type: object description: '- An array used to detail how funds from the `Transfer` will split and the amount `Merchants` receive. - The combined `amounts` under `split_transfers` must be equal to the `amount` submitted in the parent `Transfer.` - For more information, see [Split Transactions](/docs/guides/payments/modify/split-transactions/).' properties: amount: type: integer format: int64 description: '- The amount of funds that get split and paid out to the specified `Merchant`. - Must be less than or equal to the `amount` of the `Transfer.`' merchant: type: string description: '- The ID of the `Merchant` that will receive the specified `amount` under the `split_transfers` object. - In Split Transactions, the `Merchants` specified in the `split_transfers` object are the ancillary `Merchants.`' Error406NotAcceptable: type: object properties: total: type: integer _embedded: type: object properties: errors: type: array items: type: object additionalProperties: true properties: code: type: string enum: - NOT_FOUND logref: $ref: '#/components/schemas/LogRef' message: type: string _links: type: object properties: source: type: object properties: href: type: string title: '' Currency: type: string description: ISO 4217 3 letter currency code. enum: - AED - AFN - ALL - AMD - ANG - AOA - ARS - AUD - AWG - AZN - BAM - BBD - BDT - BGN - BHD - BIF - BMD - BND - BOB - BOV - BRL - BSD - BTN - BWP - BYR - BZD - CAD - CDF - CHE - CHF - CHW - CLF - CLP - CNY - COP - COU - CRC - CUC - CUP - CVE - CZK - DJF - DKK - DOP - DZD - EGP - ERN - ETB - EUR - FJD - FKP - GBP - GEL - GHS - GIP - GMD - GNF - GTQ - GYD - HKD - HNL - HRK - HTG - HUF - IDR - ILS - INR - IQD - IRR - ISK - JMD - JOD - JPY - KES - KGS - KHR - KMF - KPW - KRW - KWD - KYD - KZT - LAK - LBP - LKR - LRD - LSL - LTL - LYD - MAD - MDL - MGA - MKD - MMK - MNT - MOP - MRO - MUR - MVR - MWK - MXN - MXV - 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 - SLL - SOS - SRD - SSP - STD - SVC - SYP - SZL - THB - TJS - TMT - TND - TOP - TRY - TTD - TWD - TZS - UAH - UGX - USD - USN - UYI - UYU - UZS - VEF - VND - VUV - WST - XAF - XAG - XAU - XBA - XBB - XBC - XBD - XCD - XDR - XOF - XPD - XPF - XPT - XSU - XTS - XUA - XXX - YER - ZAR - ZMW - ZWL UpdateTransferRequest: title: TransferUpdate type: object properties: tags: $ref: '#/components/schemas/Tags' HSAFSAPayment: title: HSAFSAPayment x-stoplight: id: qo360ogzirm07 type: boolean description: Set to to **true** to process a payment using a `Payment Instrument` [created from a health savings account (HSA) or flexible spending account (FSA)](/guides/making-a-payment/hsa-fsa/). nullable: true TransfersList: type: object description: '' properties: page: $ref: '#/components/schemas/PageCursor' _embedded: type: object description: List of `Transfer` objects. properties: transfers: type: array minItems: 0 uniqueItems: true description: '`Transfer` objects.' items: $ref: '#/components/schemas/Transfer' _links: $ref: '#/components/schemas/ListLinks' Error401Unauthorized: type: object properties: total: type: integer _embedded: type: object properties: errors: type: array items: type: object additionalProperties: true properties: code: type: string enum: - UNKNOWN logref: $ref: '#/components/schemas/LogRef' message: type: string _links: type: object additionalProperties: true properties: self: type: object properties: href: type: string source: type: object properties: href: type: string CreatedAt: type: string title: CreatedAt format: date-time description: Timestamp of when the object was created. ConfigurationDetails: title: ConfigurationDetails x-stoplight: id: czqjwiv5qz0zl type: object description: Configure the details of the activated device. properties: allow_debit: type: boolean description: Allow transaction to be processed on Debit rails. If `false`, Debit card transactions will be processed on Credit rails. bypass_device_on_capture: type: boolean description: Sets whether the device will be used to capture `Authorizations`. The device is required to be connected if `bypass_device_on_capture` is set to false. (defaults to true). check_for_duplicate_transactions: type: boolean description: Sets whether the device will check for duplicate transactions. prompt_amount_confirmation: type: boolean description: Sets if the card holder needs to confirm the amount they will pay (defaults to **true**). prompt_manual_entry: type: boolean description: Sets if the device defaults to manual entry as the default card input method. (defaults to **false**). prompt_signature: type: string description: 'Sets if the device will prompt the card holder for a signature by default. Available values include: