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

Use this attribute to add your own unique identifying string to a payment call or COS record. This attribute is useful for idempotency purposes.

queuedPaymentExpiresAt

string

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

Optional 

networkPlatform

string

The payment network sending the payment. In a response, either TCH (for RTP via TCH) or FedNow. In a request, can be left 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

Use this attribute to add your own unique identifying string to a payment call or COS record. This attribute is useful 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

(missing or bad snippet)

status

string

Transaction status:

  • Created

  • Pending

  • Processing

  • Completed

  • Rejected

  • Canceled

  • Hold

  • TimedOut

  • Finalizing

  • Failed

  • ResearchRequired

  • Expired

  • Authorized

paymentType

string

Type of payment describing transaction funding:

  • CreditTransfer

  • SystemTimeout

  • ReturnRequest

  • ReturnResponse

  • RemittanceAdvice

  • RequestForInformation

  • PaymentAck

  • RequestForPayment

  • RequestForPaymentResponse

  • RequestForInformationResponse

  • RequestForPaymentCancellation

  • Unknown

source

string

The source of the activity:

  • Phone

  • Fax

  • Email

  • ClearingHouse

  • Api

  • RtpSystemTimeout

  • OpsPortal

  • PartnerPortal

  • ReturnOfFunds

  • AutoResend

transactionAccountContext

string

Transaction account context:

  • NotSubmitted

  • Pending

  • Processing

  • Complete

  • Reversal

  • MemoPost

  • TimedOut

  • Canceled

  • Rejected

  • AuthOnly

  • NotSet

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

Debtor Business/Individual Information

ultimateDebtor

string

Ultimate Debtor Business/Individual Information

creditor

object

Creditor Business/Individual Information

ultimateCreditor

string

Ultimate Creditor Business/Individual Information

network

object

Network information

assignment

object

Assignment information when an investigation is opened. The assigner must be the sender of this confirmation and the assignee must be the receiver.

cancelTransaction

object

Cancel transaction information

originalMsgRefs

object

Original message reference information

case

object

Case object information

remittanceAdvice

object

Remittance advice information

reportedStatus

object

Reported status information

confirmedStatus

object

Confirmed status information

alternateRefundRailDetail

object

Details of a refunded payment

proprietaryData

object

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

transactionInfo

string

Information about the transaction

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

Required execution date information

expiryDate

object

Expiry date information

paymentConditions

object

Payment conditions information

purpose

string

Internal CR field used to include a short description of purpose of the payment. The RDFI does not see this field. 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

date-time

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

date-time

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.

partnerId

string

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

lastModifiedAt

string

Internal CR value. Date and time the database entry was last modified.

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

Results information

remittanceLocation

object

Remittance location information

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. In a response, either TCH (for RTP via TCH) or FedNow. In a request, can be left blank.

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
}