Originate an instant payment credit transfer

/rtp/v1/payments

Originates an instant payment credit transfer.

An instant payment credit transfer sends funds from your account to the recipient account in real time. A credit transfer can be sent from a master account, a deposit account (DDA), or an associated subledger.

Note

Cross River cannot know how another financial institution displays to their customers the information transmitted with the Originate a payment message. Contact the receiving FI directly to learn more about fields in their banking portal or on their bank statements.

Request attributes

accountNumber

string

Account to fund payment

Required  

amount

integer

Dollar amount of transaction in positive integral cents. For example, write $1.00 as 100.

Required  

debtor

object

ultimateDebtor

object

creditor

object

ultimateCreditor

object

purpose

string

Internal CR field used to include a short description of purpose of the payment. 50 character limit.

Optional 

remittanceData

string

A description of the payment, meaning, the remittance advice. Use this field for any remittance information that doesn't have its own field. Not more than 140 characters.

Optional 

remittanceLocation

string

Optional 

clientIdentifier

string

Optional field used for idempotency handling

queuedPaymentExpiresAt

string

Date and time that a queued payment will be canceled if the receiving FI is offline. In this case, the date and time are in this format: yyyy-mm-ddThh:mm:ss[.mmm]

Optional 

networkPlatform

string

The payment network sending the payment. You can enter TCH (for RTP via TCH), FedNow, or leave blank.

Optional 

Copy
Request sample
curl -X POST
--header 'Content-Type: application/json'
--header 'Accept: application/json'
--header 'Authorization: Bearer <token>'
-d '{ \
  "accountNumber": "2553179843",
  "amount": 15000,
  "creditor": {
    "routingNumber": "011000138",
    "accountNumber": "456789000",
    "name": "Corey Hendly",
    "addressStreetName": "Spooner St",
    "addressBuildingNumber": "34",
    "addressCity": "Quahog",
    "addressState": "RI",
    "addressPostalCode": "00093",
    "addressCountry": "US"
  },
  "purpose": "gift money"
}

Response attributes

id

string

The payment ID. This first appears in the initial response to the originate a payment request. This ID is in GUID format.

originalPaymentId

string

Original payment ID (only relevant if a payment didn't go through for some reason)

referenceId

string

This unique CR reference ID always begins with the first letter of the rail. In the case of Instance Payments, the ID begins with R because the API module is called RTP.

accountNumber

string

Account to fund payment

clientIdentifier

string

Client identifier for idempotency purposes

amount

integer

Dollar amount of the transaction in positive integral cents. For example, write $1.00 as 100.

operatorCoreTransactionId

string

The instant payments-related CR system transaction ID

authorizationTransactionId

string

ID of an authorization transaction that happens when CR receives an inbound credit transfer that is a refund of a credit transfer we previously sent out of the bank. This authorization ensures that CR can post the transaction to the creditor’s (receiver’s) COS account (for example, there aren’t any restrictions or the account isn’t closed) and respond to the real-time payment network that CR can accept the transfer.

memoPostId

string

The ID of the memo post

memoPostRemovedAt

string

The data and time the memo post was removed

direction

string

Transaction direction: Inbound or Outbound

status

string

paymentType

string

source

string

transactionAccountContext

string

rtpTransactionsStatus

string

Status of the payment, as set by the receiving institution. This applies to Credit Transfers.

Only has a value for outbound payments. See values here.

debtor

object

ultimateDebtor

string

creditor

object

ultimateCreditor

string

network

object

assignment

object

cancelTransaction

originalMsgRefs

object

case

object

remittanceAdvice

object

reportedStatus

object

confirmedStatus

object

alternateRefundRailDetail

object

proprietaryData

object

transactionInfo

string

serviceLevelCode

string

Specifies a pre-agreed service or level of service between the parties

localInstrumentPropriety

string

Identifies the Debtor as either a business or consumer customer of the Debtor FI. This element also indicates whether the Debtor is a domestic customer of the Debtor FI or a customer of a foreign branch or affiliate of the Debtor FI.

categoryPurpose

string

Information provided by the initiating party about payment processing, according to a list of predefined categories. Some values will trigger special processing by different parties in the payment chain.

initiatingPartyName

string

Name of the initiating party/entity

currency

string

Currency

chargeBearer

string

Specifies which party (or parties) will bear the charges associated with the processing of the credit transfer

remittanceIdentification

string

Unique identification as assigned by the initiating party to unambiguously identify the remittance information sent separately from the payment instruction, such as a remittance advice

remittanceData

string

A description of the payment, meaning, the remittance advice. Use this field for any remittance information that doesn't have its own field. Not more than 140 characters.

remittanceReferredDocNumber

string

When a Credit Transfer is being used to return funds associated with a previously completed Credit Transfer, the Identification of the original Credit Transfer that is being returned will be included in these fields. Specific to Bill Pay use cases, it may be the end customer account number within the biller system or an invoice number.

remittanceReferredRelatedDate

string

Date associated with the document of the remittanceReferredDocNumber. Formatted as yyyy-mm-dd

paymentInfoId

string

Payment information ID

reqExecutionDate

object

expiryDate

object

paymentConditions

object

purpose

string

Internal CR field used to include a short description of purpose of the payment. 50 character limit.

wasRefunded

boolean

True if the payment was refunded, otherwise false

wasPaid

boolean

True if the payment was received, otherwise false

duplicatedPaymentId

string

If the payment was duplicated, the payment ID of the duplicate. This is a GUID format ID.

createdAt

string

Time the credit transfer was created. In this case, the date and time are in this format: yyyy-mm-ddThh:mm:ss[.mmm]

rejectedAt

string

Time when the credit transfer was rejected. If not rejected, null. In this case, the date and time are in this format: yyyy-mm-ddThh:mm:ss[.mmm]

completedAt

string

Time when the credit transfer was completed. If not completed, null. In this case, the date and time are in this format: yyyy-mm-ddThh:mm:ss[.mmm]

canceledAt

string

Time when the credit transfer was canceled. If not canceled, null. In this case, the date and time are in this format: yyyy-mm-ddThh:mm:ss[.mmm]

timedOutAt

DateTime

Time when the credit transfer timed out. If it didn't time out, null. In this case, the date and time are in this format: yyyy-mm-ddThh:mm:ss[.mmm]

failedAt

string

Time when the credit transfer failed. If it didn't fail, null. In this case, the date and time are in this format: yyyy-mm-ddThh:mm:ss[.mmm]

expiredAt

string

Time when the credit transfer expired. If not expired, null. In this case, the date and time are in this format: yyyy-mm-ddThh:mm:ss[.mmm]

processingStartedAt

DateTime

Time when the credit transfer started processing. In this case, the date and time are in this format: yyyy-mm-ddThh:mm:ss[.mmm]

postingCode

string

Includes OK (posted), RES (account restricted), NSF (insufficient funds in the account sending the wire)

productId

string

ID in GUID format of your specific product type on which the account is based. Provided by CR.. In this case, the CR account involved in the transfer. See also here.

partnerId

string

Your ID in the CR system. This ID is in GUID format.

lastModifiedAt

string

When the account was last modified. In this case, the date and time are in this format: yyyy-mm-ddThh:mm:ss[.mmm]

refundsPaymentId

string

ID of the payment refund. This ID is in GUID format.

sentAt

string

When the credit transfer was sent. In this case, the date and time are in this format: yyyy-mm-ddThh:mm:ss[.mmm]

sendAttemptCount

integer

Number of attempts made to send the credit transfer

result

object

remittanceLocation

object

discounts

object

awaitingResponse

boolean

True if waiting for a message response, otherwise false.

referencePaymentId

string

CR payment ID relating to situations where a credit transfer is related to a previous payment. This ID is in GUID format.

queuedPaymentExpiresAt

string

The expiry time you set on a credit transfer request if CR queues the payment because the receiving bank is offline. Not a pacs.008 field. In this case, the date and time are in this format: yyyy-mm-ddThh:mm:ss[.mmm]

limitsEligibleOn

string

The validation that occurs when a payment is originated to see if that payment is within the partner daily limit. This is a CR internal field. In this case, the date and time are in this format: yyyy-mm-ddThh:mm:ss[.mmm]

networkPlatform

string

The payment network sending the payment. Either TCH (for RTP via TCH) or FedNow.

Copy

Sample response

{
    "id": "7b5f4bfb-8595-452b-914e-ad9400f7b8e3",
    "originalPaymentId": "7b5f4bfb-8595-452b-914e-ad9400f7b8e3",
    "referenceId": "R242O0354Y055",
    "accountNumber": "2553179843",
    "amount": 15000,
    "direction": "Outbound",
    "status": "Created",
    "paymentType": "CreditTransfer",
    "source": "Api",
    "transactionAccountContext": "NotSubmitted",
    "debtor": {
        "routingNumber": "021214891",
        "accountNumber": "2553179843",
        "name": "P Griffin",
        "addressStreetName": "Main St",
        "addressBuildingNumber": "31",
        "addressCity": "New York",
        "addressState": "NY",
        "addressPostalCode": "10000",
        "addressCountry": "US"
    },
    "creditor": {
        "routingNumber": "011000138",
        "accountNumber": "456789000",
        "name": "Corey Hendly",
        "addressStreetName": "Spooner St",
        "addressBuildingNumber": "34",
        "addressCity": "Quahog",
        "addressState": "RI",
        "addressPostalCode": "00093",
        "addressCountry": "US"
    },
    "network": {
        "businessMessageId": "B20210830021214273T1BNSI93853549430",
        "messageId": "M20210830021214273T1BEML46024873029",
        "createdAt": "2021-08-30T11:01:55.7404545-04:00",
        "numberOfTransactions": 1,
        "interbankSettlementAmount": 15000,
        "currency": "USD",
        "interbankSettlementDate": "2021-08-30",
        "settlementMethod": "CLRG",
        "clearingSystemCode": "TCH",
        "instructionId": "20210830021214273T1B4S0534677157734",
        "endToEndId": "9a2638dc8cbe48f18d8cad9400f7b8e3",
        "transactionId": "20210830021214273T1B4S0534677157734",
        "fromParticipantId": "021214273T1",
        "toParticipantId": "990000001S1",
        "instructingRoutingNumber": "021214891",
        "instructedRoutingNumber": "011000138",
        "headerCreationDate": "2021-08-30T11:01:55.7404545-04:00",
        "messageCreationDateTime": "2021-08-30T11:01:55.7404545-04:00"
    },
    "serviceLevelCode": "SDVA",
    "localInstrumentProprietary": "STANDARD",
    "categoryPurpose": "CONSUMER",
    "currency": "USD",
    "chargeBearer": "SLEV",
    "purpose": "gift money",
    "wasRefunded": false,
    "wasPaid": false,
    "createdAt": "2021-08-30T11:01:55.7404545-04:00",
    "productId": "13362d99-f04e-455b-9363-abc10151c27c",
    "partnerId": "bd7a716f-6349-43ef-89cd-aa2200f15977",
    "lastModifiedAt": "2021-08-30T11:01:55.7414531-04:00",
    "sendAttemptCount": 0,
    "discounts": [],
    "awaitingResponse": false
}