Instant Payments API (2.1.1)

Download OpenAPI specification:Download

Account eligibility, Account transaction, Payment Option and Send Payment

Web Hooks

Webhooks provide a real-time mechanism for users to receive notifications regarding specific events on transactions or accounts. Upon occurrence of a predefined event, such as a transaction completion or account update, our API will send an HTTP POST request containing the event data to a user-specified callback URL. This ensures users stay informed and can automate reactions to changes in their accounts or transactions without needing to continuously poll the API.

Account eligibility and details

path Parameters
account_num
required
string [ 10 .. 34 ] characters ^[0-9]{9}-[0-9]{4,17}
Example: 001238764-100000000

Account Number (Routing number - Account number)

header Parameters
x-cfsb-interaction-id
required
string [ 3 .. 36 ] characters ^[a-zA-Z0-9\-\.]{3,36}$
Example: d2c57dd2-27e1-4f84-9f3d-60bb2f701cc4

Unique identifier generated for each request for message tracking purpose.

x-cfsb-interaction-timestamp
required
string <date-time> ^\d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[...
Example: 2020-05-29T17:19:26.951000Z

A particular point in the progression of time defined and expressed in UTC time format (YYYY-MM-DDThh:mm:ss.sssZ).

x-cfsb-api-token
required
string [ 24 .. 48 ] characters ^[a-zA-Z0-9]+$
Example: d2c57dd227e14f849f3d60bb2f701cc4

Service Client's outbound API token.

Request Body schema: application/json
customer_id
string [ 6 .. 12 ] characters ^[a-zA-Z0-9]+$

Unique identifier representing the customer

alias_ref_id
string [ 8 .. 64 ] characters ^[a-zA-Z0-9\-\.]+$

Registration identifier for the alias as generated by the system.

end_to_end_id
string [ 6 .. 36 ] characters ^[a-zA-Z0-9\-\.]+$

End to end identifier supplied by the originating (source) system

object
amount
required
number decimal places <= 2 >= 0.01

Monetary value of the transaction

currency
required
string
Value: "USD"

Currency of the transaction

transaction_type
required
string
Enum: "DEBIT" "CREDIT"

Withdrawl of funds from an account (debit) or deposit of funds into an account (credit)

request_payment_ref_id
string = 15 characters ^[a-zA-Z0-9]+$

Identifier for the request for payment, payment or deposit, as generated by the system.

transaction_ref_id
required
string = 15 characters ^[a-zA-Z0-9]+$

Identifier for the request for payment, payment or deposit, as generated by the system.

network_payment_ref_id
required
string [ 8 .. 35 ] characters ^[a-zA-Z0-9]+$

Identifier for payment, generated by the underlying network (RTP/FedNow)

payment_type
required
string
Value: "ACCOUNT_DEPOSIT_REALTIME"

ACCOUNT_DEPOSIT_REALTIME - Real-time Account-Deposit payment

rail_id
required
string
Enum: "RTP" "FEDNOW"

RTP - The Clearing House rail
FEDNOW - FedNow rail

memo
string [ 0 .. 420 ] characters ^[^\s]([a-zA-Z0-9áàâäèéêëîïôœùûüúÿçÁÀÂÄÈÉÊËÎÏ...

Memo

object

Responses

Request samples

Content type
application/json
{
  • "customer_id": "ctEcflK9hYaa",
  • "alias_ref_id": "zYeuVteX92N5",
  • "end_to_end_id": "iPhone-djVoZAwgeV",
  • "debtor": {
    },
  • "amount": 50.25,
  • "currency": "USD",
  • "transaction_type": "CREDIT",
  • "request_payment_ref_id": "nKIWy7kjJ11QoRr8R62s",
  • "transaction_ref_id": "nKIWy7kjJ11QoRr8R62s",
  • "network_payment_ref_id": "nKIWykjJQoRrRs",
  • "payment_type": "ACCOUNT_DEPOSIT_REALTIME",
  • "rail_id": "RTP",
  • "memo": "Re: Invoice ABC123",
  • "remittance": {
    }
}

Response samples

Content type
application/json
{
  • "account_name": "Arianna Murphy Savings Account 1"
}

Account transaction posting

path Parameters
account_num
required
string [ 10 .. 34 ] characters ^[0-9]{9}-[0-9]{4,17}
Example: 001238764-100000000

Account Number (Routing number - Account number)

header Parameters
x-cfsb-interaction-id
required
string [ 3 .. 36 ] characters ^[a-zA-Z0-9\-\.]{3,36}$
Example: d2c57dd2-27e1-4f84-9f3d-60bb2f701cc4

Unique identifier generated for each request for message tracking purpose.

x-cfsb-interaction-timestamp
required
string <date-time> ^\d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[...
Example: 2020-05-29T17:19:26.951000Z

A particular point in the progression of time defined and expressed in UTC time format (YYYY-MM-DDThh:mm:ss.sssZ).

x-cfsb-api-token
required
string [ 24 .. 48 ] characters ^[a-zA-Z0-9]+$
Example: d2c57dd227e14f849f3d60bb2f701cc4

Service Client's outbound API token.

Request Body schema: application/json
customer_id
string [ 6 .. 12 ] characters ^[a-zA-Z0-9]+$

Unique identifier representing the customer

end_to_end_id
string [ 6 .. 36 ] characters ^[a-zA-Z0-9\-\.]+$

End to end identifier supplied by the originating (source) system

amount
required
number decimal places <= 2 >= 0.01

Monetary value of the transaction

currency
required
string
Value: "USD"

Currency of the transaction

debtor_fi_name
string [ 3 .. 100 ] characters ^[a-zA-Z0-9àâäèéêëîïôœùûüÿçÀÂÄÈÉÊËÎÏÔŒÙÛÜŸÇ \...
debtor_fi_id
string [ 1 .. 35 ] characters ^[a-zA-Z0-9]+$
transaction_type
required
string
Enum: "DEBIT" "CREDIT"

Withdrawl of funds from an account (debit) or deposit of funds into an account (credit)

request_payment_ref_id
string = 15 characters ^[a-zA-Z0-9]+$

Identifier for the request for payment, payment or deposit, as generated by the system.

transaction_ref_id
required
string = 15 characters ^[a-zA-Z0-9]+$

Identifier for the request for payment, payment or deposit, as generated by the system.

network_payment_ref_id
required
string [ 8 .. 35 ] characters ^[a-zA-Z0-9]+$

Identifier for payment, generated by the underlying network (RTP/FedNow)

payment_type
required
string
Value: "ACCOUNT_DEPOSIT_REALTIME"

ACCOUNT_DEPOSIT_REALTIME - Real-time Account-Deposit payment

rail_id
required
string
Enum: "RTP" "FEDNOW"

RTP - The Clearing House rail
FEDNOW - FedNow rail

payment_network_date
required
string <date>

Date from the payment network on which the transaction has occured

Responses

Request samples

Content type
application/json
{
  • "customer_id": "ctEcflK9hYaa",
  • "end_to_end_id": "iPhone-djVoZAwgeV",
  • "amount": 50.25,
  • "currency": "USD",
  • "debtor_fi_name": "string",
  • "debtor_fi_id": "string",
  • "transaction_type": "CREDIT",
  • "request_payment_ref_id": "nKIWy7kjJ11QoRr8R62s",
  • "transaction_ref_id": "nKIWy7kjJ11QoRr8R62s",
  • "network_payment_ref_id": "nKIWykjJQoRrRs",
  • "payment_type": "ACCOUNT_DEPOSIT_REALTIME",
  • "rail_id": "RTP",
  • "payment_network_date": "2020-05-29"
}

Response samples

Content type
application/json
{
  • "ref_id": "p1kyBPN1I1QFJgBd"
}

Payment event webhook

header Parameters
x-cfsb-interaction-id
required
string [ 3 .. 36 ] characters ^[a-zA-Z0-9\-\.]{3,36}$
Example: d2c57dd2-27e1-4f84-9f3d-60bb2f701cc4

Unique identifier generated for each request for message tracking purpose.

x-cfsb-correspondent-id
required
string [ 3 .. 36 ] characters ^[a-zA-Z0-9\-\.]{3,36}$
Example: d2c57dd2-27e1-4f84-9f3d-60bb2f701cc4

Unique identifier generated for each request for message tracking purpose.

x-cfsb-interaction-timestamp
required
string <date-time> ^\d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[...
Example: 2020-05-29T17:19:26.951000Z

A particular point in the progression of time defined and expressed in UTC time format (YYYY-MM-DDThh:mm:ss.sssZ).

x-cfsb-api-token
required
string [ 24 .. 48 ] characters ^[a-zA-Z0-9]+$
Example: d2c57dd227e14f849f3d60bb2f701cc4

Service Client's outbound API token.

Request Body schema: application/json
end_to_end_id
string [ 6 .. 36 ] characters ^[a-zA-Z0-9\-\.]+$

End to end identifier supplied by the originating (source) system

object
amount
number decimal places <= 2 >= 0.01

Monetary value of the transaction

account_name
string [ 3 .. 80 ] characters ^[^\s]([a-zA-Z0-9.\-\. ]*)[^\s]$

Name on the account where funds are to be deposited (for Request for Payment), or withdrawn from (for Send Payment)

account_number
string^[0-9]{9}-[0-9]{10,18}

Account number (routing number, account number) where funds are to be (deposited if Request Payment , withdrawn if Send Payment).

object

payment options

payment_type
string
Value: "ACCOUNT_DEPOSIT_REALTIME"

ACCOUNT_DEPOSIT_REALTIME - Real-time Account-Deposit payment

memo
string [ 0 .. 420 ] characters ^[^\s]([a-zA-Z0-9áàâäèéêëîïôœùûüúÿçÁÀÂÄÈÉÊËÎÏ...

Memo

payment_ref_id
required
string = 15 characters ^[a-zA-Z0-9]+$

Identifier for the request for payment, payment or deposit, as generated by the system.

created_date
required
string <date-time>

Date and time when the payment was initiated (in UTC).

expiry_date
string <date-time>

Date and time when the payment will be considered expired.

fraud_result
string
Enum: "ALLOW" "BLOCK"

ALLOW - indicates that Initiate Send Payment Fraud result is allow
BLOCK - indicates that Initiate Send Payment Fraud result is block

status
required
string
Enum: "COMPLETED" "FAILED"
event_type
required
string
Enum: "TIMEOUT_PAYMENT_CALLBACK" "RETURN_OF_FUND"

TIMEOUT_PAYMENT_CALLBACK - Event identifies as Callback for Payment Timeout
RETURN_OF_FUND - Event identifies as return of funds request

reason_code
string
Enum: "AC03" "AM09" "CUST" "DUPL" "FRAD" "FRTR" "TECH" "UPAY" "NARR"

-> Reason Codes Of Payment Event Request for Return of Fund
AC03 - Creditor account number invalid or missing
AM09 - Amount received is not the amount agreed or expected
CUST - Requested by Debtor, due to Debtor mistake/error
DUPL - Duplicate Payment
FRAD - Debtor claims origin of payment was fraudulent/unauthorized
FRTR - Repeat attempt (repeat attempt to prior non-response)
TECH - Technical Problem (lead to erroneous transaction)
UPAY - Undue Payment (Payment was made through another payment channel)
NARR - Undue Payment (Payment was made through another payment channel)

additional_information
string

Additional information.

customer_id
string [ 6 .. 12 ] characters ^[a-zA-Z0-9]+$

Unique identifier representing the customer

transaction_type
string
Enum: "CRDT" "DBIT"

Responses

Request samples

Content type
application/json
{
  • "end_to_end_id": "iPhone-djVoZAwgeV",
  • "contact": {
    },
  • "amount": 50.25,
  • "account_name": "Arianna Murphy Savings Account 1",
  • "account_number": "001238764-1000000000",
  • "options": {
    },
  • "payment_type": "ACCOUNT_DEPOSIT_REALTIME",
  • "memo": "Re: Invoice ABC123",
  • "payment_ref_id": "nKIWy7kjJ11QoRr8R62s",
  • "created_date": "2020-05-29T17:19:26.951000Z",
  • "expiry_date": "2020-06-13T17:19:26.951000Z",
  • "fraud_result": "ALLOW",
  • "status": "COMPLETED",
  • "event_type": "TIMEOUT_PAYMENT_CALLBACK",
  • "reason_code": "AC02",
  • "additional_information": "string",
  • "customer_id": "ctEcflK9hYaa",
  • "transaction_type": "CRDT"
}

Response samples

Content type
application/json
{
  • "error": [
    ]
}

Money Movement

Send funds from a sender (originator/initiator) to a recipient (beneficiary/recipient)

Retrieve payment options in advance of sending funds.

header Parameters
x-api-key
required
string [ 9 .. 48 ] characters
Example: 12a3C5e2K

A case senstive business partner's service account API token which is generated and assigned by CFSB.

x-cfsb-interaction-id
required
string [ 3 .. 36 ] characters ^[a-zA-Z0-9\-\.]{3,36}$
Example: d2c57dd2-27e1-4f84-9f3d-60bb2f701cc4

Unique identifier generated for each request for message tracking purpose.

x-cfsb-interaction-timestamp
required
string <date-time> ^\d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[...
Example: 2020-05-29T17:19:26.951000Z

A particular point in the progression of time defined and expressed in UTC time format (YYYY-MM-DDThh:mm:ss.sssZ).

x-cfsb-ipaddress
required
string <ipv4> [ 7 .. 60 ] characters ^(((([1]?\d)?\d|2[0-4]\d|25[0-5])\.){3}(([1]?...

IP address of the end user (eg. customer)

x-cfsb-customer-id
required
string [ 6 .. 12 ] characters ^[a-zA-Z0-9]+$
Example: ctEcflK9hYaa

Unique identifier representing the end user

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "contact": {
    }
}

Response samples

Content type
application/json
{
  • "payment_options": [
    ]
}

Send funds to a recipient.

header Parameters
x-api-key
required
string [ 9 .. 48 ] characters
Example: 12a3C5e2K

A case senstive business partner's service account API token which is generated and assigned by CFSB.

x-cfsb-interaction-id
required
string [ 3 .. 36 ] characters ^[a-zA-Z0-9\-\.]{3,36}$
Example: d2c57dd2-27e1-4f84-9f3d-60bb2f701cc4

Unique identifier generated for each request for message tracking purpose.

x-cfsb-interaction-timestamp
required
string <date-time> ^\d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[...
Example: 2020-05-29T17:19:26.951000Z

A particular point in the progression of time defined and expressed in UTC time format (YYYY-MM-DDThh:mm:ss.sssZ).

x-cfsb-ipaddress
required
string <ipv4> [ 7 .. 60 ] characters ^(((([1]?\d)?\d|2[0-4]\d|25[0-5])\.){3}(([1]?...

IP address of the end user (eg. customer)

x-cfsb-customer-id
required
string [ 6 .. 12 ] characters ^[a-zA-Z0-9]+$
Example: ctEcflK9hYaa

Unique identifier representing the end user

Request Body schema: application/json
end_to_end_id
string [ 6 .. 36 ] characters ^[a-zA-Z0-9\-\.]+$

End to end identifier supplied by the originating (source) system

required
object
amount
required
number decimal places <= 2 >= 0.01

Monetary value of the transaction

account_name
required
string [ 3 .. 80 ] characters ^[^\s]([a-zA-Z0-9.\-\. ]*)[^\s]$

Name on the account where funds are to be deposited (for Request for Payment), or withdrawn from (for Send Payment)

account_number
required
string^[0-9]{9}-[0-9]{10,18}

Account number (routing number, account number) where funds are to be (deposited if Request Payment , withdrawn if Send Payment).

object

payment options

payment_type
required
string
Value: "ACCOUNT_DEPOSIT_REALTIME"

ACCOUNT_DEPOSIT_REALTIME - Real-time Account-Deposit payment

memo
string [ 0 .. 420 ] characters ^[^\s]([a-zA-Z0-9áàâäèéêëîïôœùûüúÿçÁÀÂÄÈÉÊËÎÏ...

Memo

Responses

Request samples

Content type
application/json
{
  • "end_to_end_id": "iPhone-djVoZAwgeV",
  • "contact": {
    },
  • "amount": 50.25,
  • "account_name": "Arianna Murphy Savings Account 1",
  • "account_number": "001238764-1000000000",
  • "options": {
    },
  • "payment_type": "ACCOUNT_DEPOSIT_REALTIME",
  • "memo": "Re: Invoice ABC123"
}

Response samples

Content type
application/json
{
  • "end_to_end_id": "iPhone-djVoZAwgeV",
  • "contact": {
    },
  • "amount": 50.25,
  • "account_name": "Arianna Murphy Savings Account 1",
  • "account_number": "001238764-1000000000",
  • "options": {
    },
  • "payment_type": "ACCOUNT_DEPOSIT_REALTIME",
  • "memo": "Re: Invoice ABC123",
  • "payment_ref_id": "nKIWy7kjJ11QoRr8R62s",
  • "created_date": "2020-05-29T17:19:26.951000Z",
  • "expiry_date": "2020-06-13T17:19:26.951000Z",
  • "fraud_result": "ALLOW",
  • "status": "COMPLETED"
}

Retrieve an existing payment

header Parameters
x-api-key
required
string [ 9 .. 48 ] characters
Example: 12a3C5e2K

A case senstive business partner's service account API token which is generated and assigned by CFSB.

x-cfsb-interaction-id
required
string [ 3 .. 36 ] characters ^[a-zA-Z0-9\-\.]{3,36}$
Example: d2c57dd2-27e1-4f84-9f3d-60bb2f701cc4

Unique identifier generated for each request for message tracking purpose.

x-cfsb-interaction-timestamp
required
string <date-time> ^\d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[...
Example: 2020-05-29T17:19:26.951000Z

A particular point in the progression of time defined and expressed in UTC time format (YYYY-MM-DDThh:mm:ss.sssZ).

x-cfsb-ipaddress
required
string <ipv4> [ 7 .. 60 ] characters ^(((([1]?\d)?\d|2[0-4]\d|25[0-5])\.){3}(([1]?...

IP address of the end user (eg. customer)

x-cfsb-customer-id
required
string [ 6 .. 12 ] characters ^[a-zA-Z0-9]+$
Example: ctEcflK9hYaa

Unique identifier representing the end user

Responses

Response samples

Content type
application/json
{
  • "end_to_end_id": "iPhone-djVoZAwgeV",
  • "contact": {
    },
  • "amount": 50.25,
  • "reversed_amount": 50.25,
  • "account_name": "Arianna Murphy Savings Account 1",
  • "account_number": "621-00525-********9012",
  • "payment_type": "ACCOUNT_DEPOSIT_REALTIME",
  • "payment_ref_id": "nKIWy7kjJ11QoRr8R62s",
  • "status": "COMPLETED",
  • "expiry_date": "2020-06-13T17:19:26.951000Z",
  • "created_date": "2020-05-29T17:19:26.951000Z",
  • "memo": "Re: Invoice ABC123"
}

Acknowledge a payment return

header Parameters
x-api-key
required
string [ 9 .. 48 ] characters
Example: 12a3C5e2K

A case senstive business partner's service account API token which is generated and assigned by CFSB.

x-cfsb-interaction-id
required
string [ 3 .. 36 ] characters ^[a-zA-Z0-9\-\.]{3,36}$
Example: d2c57dd2-27e1-4f84-9f3d-60bb2f701cc4

Unique identifier generated for each request for message tracking purpose.

x-cfsb-interaction-timestamp
required
string <date-time> ^\d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[...
Example: 2020-05-29T17:19:26.951000Z

A particular point in the progression of time defined and expressed in UTC time format (YYYY-MM-DDThh:mm:ss.sssZ).

x-cfsb-ipaddress
required
string <ipv4> [ 7 .. 60 ] characters ^(((([1]?\d)?\d|2[0-4]\d|25[0-5])\.){3}(([1]?...

IP address of the end user (eg. customer)

x-cfsb-customer-id
required
string [ 6 .. 12 ] characters ^[a-zA-Z0-9]+$
Example: ctEcflK9hYaa

Unique identifier representing the end user

Request Body schema: application/json
amount
string^[0-9]*.?[0-9]{0,4}$

Partial Reversal Amount.


Optional. Use is only allowed if using query string ?response. If omitted, the reversal will be for the original amount.

reasonCode
string^[A-Z0-9]{4}

4-character ISO 20020 RTPResponse Reason Code: ACTC: Accepted. The Request for Return of Funds has been accepted. AC04: Closed Account. The account number specified has been closed on the receiver's books. AM04: Insufficient Funds. The amount of funds available to cover specified requested reversal amount is insufficient. ARDT: Already Returned CUST: Customer Decision. LEGL: Legal Decision. Reported when request for reversal cannot be accepted due to legal reasons NOAS: No Answer From Customer. NOOR: No Original Transaction Received. Original transaction that is requested to be reversed, was never received.

Responses

Request samples

Content type
application/json
{
  • "amount": 12.02,
  • "reasonCode": "ACTC"
}

Response samples

Content type
application/json
{
  • "status": "ACCEPTED",
  • "statusReason": "string",
  • "statusReasonDescription": "string"
}

Inquire Transaction

Provide a guide for partners to call this API using End-to-End Id

Provide a guide for partners to call this API using End-to-End Id

query Parameters
end_to_end_id
required
string [ 6 .. 36 ] characters ^[a-zA-Z0-9\-\.]+$
Example: end_to_end_id=iPhone-djVoZAwgeV

End to end identifier supplied by the originating (source) system

header Parameters
x-api-key
required
string [ 9 .. 48 ] characters
Example: 12a3C5e2K

A case senstive business partner's service account API token which is generated and assigned by CFSB.

x-cfsb-interaction-id
required
string [ 3 .. 36 ] characters ^[a-zA-Z0-9\-\.]{3,36}$
Example: d2c57dd2-27e1-4f84-9f3d-60bb2f701cc4

Unique identifier generated for each request for message tracking purpose.

x-cfsb-interaction-timestamp
required
string <date-time> ^\d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[...
Example: 2020-05-29T17:19:26.951000Z

A particular point in the progression of time defined and expressed in UTC time format (YYYY-MM-DDThh:mm:ss.sssZ).

x-cfsb-customer-id
required
string [ 6 .. 12 ] characters ^[a-zA-Z0-9]+$
Example: ctEcflK9hYaa

Unique identifier representing the end user

Responses

Response samples

Content type
application/json
{
  • "ref_id": "nKIWy7kjJ11QoRr8R62s",
  • "end_to_end_id": "iPhone-djVoZAwgeV",
  • "amount": 50.25,
  • "type": "INBOUND",
  • "transaction_type": "ALIAS_REGULAR",
  • "expiry_date_time": "2020-06-13T17:19:26.951000Z",
  • "created_date_time": "2020-05-29T17:19:26.951000Z",
  • "updated_date_time": "2020-05-29T17:19:26.951000Z"
}