Modern Treasury · Schema

payment_flow

FintechPaymentsACHWiresTreasury

Properties

Name Type Description
id string
object string
live_mode boolean This field will be true if this object exists in the live environment or false if it exists in the test environment.
created_at string
updated_at string
client_token string The client token of the payment flow. This token can be used to embed a payment workflow in your client-side application.
status string The current status of the payment flow. One of `pending`, `completed`, `expired`, or `cancelled`.
amount integer Value in specified currency's smallest unit. e.g. $10 would be represented as 1000. Can be any integer up to 36 digits.
currency string The currency of the payment.
direction string Describes the direction money is flowing in the transaction. Can only be `debit`. A `debit` pulls money from someone else's account to your own.
counterparty_id string The ID of a counterparty associated with the payment. As part of the payment workflow an external account will be associated with this counterparty.
receiving_account_id string If present, the ID of the external account created using this flow.
originating_account_id string The ID of one of your organization's internal accounts.
payment_order_id string If present, the ID of the payment order created using this flow.
effective_date_selection_enabled boolean When `true`, your end-user can schedule the payment `effective_date` while completing the pre-built UI.
due_date string The due date for the flow. Can only be passed in when `effective_date_selection_enabled` is `true`.
selected_effective_date string This field is set after your end-user selects a payment date while completing the pre-built UI. This field is always `null` unless `effective_date_selection_enabled` is `true`.
external_account_collection string When `enabled`, your end-user can select from an existing external account when completing the flow. When `disabled`, your end-user must add new payment details when completing the flow.
existing_external_accounts_filter string When `verified` and `external_account_collection` is `enabled`, filters the list of external accounts your end-user can select to those with a `verification_status` of `verified`.
View JSON Schema on GitHub

JSON Schema

modern-treasury-payment-flow-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/payment_flow",
  "title": "payment_flow",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "object": {
      "type": "string"
    },
    "live_mode": {
      "type": "boolean",
      "description": "This field will be true if this object exists in the live environment or false if it exists in the test environment."
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time"
    },
    "client_token": {
      "type": "string",
      "description": "The client token of the payment flow. This token can be used to embed a payment workflow in your client-side application."
    },
    "status": {
      "type": "string",
      "enum": [
        "cancelled",
        "completed",
        "expired",
        "pending"
      ],
      "description": "The current status of the payment flow. One of `pending`, `completed`, `expired`, or `cancelled`."
    },
    "amount": {
      "type": "integer",
      "description": "Value in specified currency's smallest unit. e.g. $10 would be represented as 1000. Can be any integer up to 36 digits."
    },
    "currency": {
      "type": "string",
      "description": "The currency of the payment."
    },
    "direction": {
      "type": "string",
      "enum": [
        "credit",
        "debit"
      ],
      "description": "Describes the direction money is flowing in the transaction. Can only be `debit`. A `debit` pulls money from someone else's account to your own."
    },
    "counterparty_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The ID of a counterparty associated with the payment. As part of the payment workflow an external account will be associated with this counterparty."
    },
    "receiving_account_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "If present, the ID of the external account created using this flow."
    },
    "originating_account_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The ID of one of your organization's internal accounts."
    },
    "payment_order_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "If present, the ID of the payment order created using this flow."
    },
    "effective_date_selection_enabled": {
      "type": "boolean",
      "description": "When `true`, your end-user can schedule the payment `effective_date` while completing the pre-built UI."
    },
    "due_date": {
      "type": "string",
      "format": "date",
      "nullable": true,
      "description": "The due date for the flow. Can only be passed in when `effective_date_selection_enabled` is `true`."
    },
    "selected_effective_date": {
      "type": "string",
      "format": "date",
      "nullable": true,
      "description": "This field is set after your end-user selects a payment date while completing the pre-built UI. This field is always `null` unless `effective_date_selection_enabled` is `true`."
    },
    "external_account_collection": {
      "type": "string",
      "enum": [
        "disabled",
        "enabled"
      ],
      "description": "When `enabled`, your end-user can select from an existing external account when completing the flow. When `disabled`, your end-user must add new payment details when completing the flow."
    },
    "existing_external_accounts_filter": {
      "type": "string",
      "enum": [
        "verified"
      ],
      "nullable": true,
      "description": "When `verified` and `external_account_collection` is `enabled`, filters the list of external accounts your end-user can select to those with a `verification_status` of `verified`."
    }
  },
  "additionalProperties": false,
  "minProperties": 17,
  "maxProperties": 19
}