Card payments

Transaction management

13min

Use Cross River card payments transaction management APIs to push or pull funds to or from a debit card. Use the GET endpoints to find out about a specific transaction or many transactions. The POST calls require a credit card token.

Get started with Cross River APIs.

The endpoints listed in this table are described in detail in the sections below.

Action

API call

Description

POST /api/transaction

Sends funds (push) to a specific debit card

POST /api/PullTransaction

Pulls funds to a specific card from a payer

GET /api/transaction

Returns a list of transactions sent from a merchant to a payee

GET /api/PullTransaction

Returns a list of transactions sent from a payee to a merchant



Returns push transaction details of a specific transaction

GET /api/PullTransaction/{transactionId}

Returns pull transaction details of a specific transaction

Send funds to a payee

Sends a payment or payout to a card.

Use this endpoint for both domestic and international transactions.

Transactions are classified as domestic or international based on the country of the card issuer. Transactions made with non-US card issuers are considered international.

International transaction highlights

If a transaction involves a cross-border payment, then:

  • OFAC is mandatory. The OFAC screening API checks the identity of the sender and allows the transaction accordingly
  • The Foreign exchange rates API call is recommended

For more information, see International transactions.

Original credit transactions (OCTs) reversals can occur only under specific circumstances, and at the discretion of the card issuer. Once the funds have been delivered to the cardholder, OCTs cannot be reversed through the Card Payments API. For assistance in requesting a reversal on a specific transaction, please contact your Cross River relationship manager.

Download Cross River's OCT fraud submission protocol:

POST
Request
Response
Body Parameters
requestId
required
String
The GUID that enables the application to link request with response
amount
required
Integer
The amount to be transferred, in cents. For example, 10001 = $100.01.
cardToken
required
String
A randomly generated string of characters that relates to the consumer's payment card (15-38 alphanumeric characters). The response attribute this matches depends on the payment instrument: Card. Matches the creditCardToken in the Add a card response. Wallet. Matches the payAliasToken in the Add a payAlias response.
sourceSenderId
required
String
Money transfers must contain the sender's identifier. This ID identifies the sender of the funds. For a funds disbursement, non-money transfers must contain either the name of the merchant or the entity sending the disbursement.
sourceSenderName
required
String
The name of the merchant. This attribute (alphanumeric) identifies the sender of the funds. Note: Money transfers must contain the sender's name.
sourceAddress
optional
Object
Use this field to append online transaction data to the statement descriptor, for example to use a sub-merchant address instead of the merchant address
correspondingEntity
optional
Object
The name and address details of the sender of a push transaction or receiver of a pull transaction. IMPORTANT: This attribute is required in transactions that are account-to-account (A2A) or person-to-person (P2P).
sourceMcc
optional
String
Merchant Category Code (MCC). 4-digits that a credit card issuer uses to categorize consumer transactions for their card.
purposeOfPayment
optional
String
A 1-12 character code that indicates the reason for a transaction. This code is required for certain markets (countries).
programId
optional
String
Populate this attribute when you want to connect a transaction to a given sub-merchant network program ID (Visa: MVV, Mastercard: MCID). Otherwise, your merchant-level program ID is added automatically. You don't need to enter it.


Request funds from a payer

Pulls funds from a registered card.

You also use this call for Account Funding Transactions (AFT), which pull funds from a specific account for use in a non-merchant account. For example, use this to load a prepaid card, top up a wallet, or fund a person-to-person (P2P) money transfer.

The API response includes the card token, amount transferred, and a transaction status that indicates success or failure.

POST
Request
Response
Body Parameters
requesterId
required
String
The merchant partner unique identifier. 32 hexadecimal characters.
requesterName
required
String
The name of the merchant
requesterMcc
required
String
Merchant Category Code (MCC). 4-digits that a credit card issuer uses to categorize consumer transactions for their card.
cvv
optional
String
Personal customer code on the card. Note: Add the CVV to a function call only when you add a card (POST /api/Card). The API never returns CVV when you perform a GET or PUT call.
threeDomainSecureEci
optional
Integer
not yet in use
threeDomainSecureUcaf
optional
String
not yet in use
threeDomainSecureXid
optional
String
not yet in use
requestId
required
String
The GUID that enables the application to link request with response
cardToken
required
String
A randomly generated string of characters that relates to the consumer's payment card (15-38 alphanumeric characters). Matches the creditCardToken in the response.
amount
required
String
The amount to be transferred, in cents. For example, 10001 = $100.01.
sourceAddress
optional
Object
Use this field to append online transaction data to the statement descriptor, for example to use a sub-merchant address instead of the merchant address
correspondingEntity
optional
Object
The name and address details of the sender of a push transaction or receiver of a pull transaction. IMPORTANT: This attribute is required in transactions that are account-to-account (A2A) or person-to-person (P2P).
programId
optional
Integer
Populate this attribute when you want to connect a transaction to a given sub-merchant network program ID (Visa: MVV, Mastercard: MCID). Otherwise, your merchant-level program ID is added automatically. You don't need to enter it.
acceptPartialAmount
optional
Boolean
This field is sent only to participating issuers. Enter a value of TRUE if partially approved transactions can be accepted. FALSE. Partial authorization not supported (default) TRUE. Partial authorization supported


Get push transactions

Returns a list of transactions, and their details, for payments sent from a merchant to a payee.

Add query parameters to filter the response the API returns to all GET calls.

Use Pagination to control presentation of your results.

GET
Request
Body Parameters
cardToken
optional
String
A randomly generated string of characters that relates to the consumer's payment card (15-38 alphanumeric characters). Matches the creditCardToken in the response.
statusEnum
optional
String
Transaction status: - Succeeded - Pending - Failed - Rejected
sourceSenderId
optional
String
The GUID that identifies the merchant partner
fromDate
optional
String
Report start date.
toDate
optional
String
Report end date.


Response attributes

The response attributes for this call are the same as for Send funds to a payee .

Get pull transactions

Returns a list of transactions where a merchant (the payee) takes funds from an end-consumer (the payer).

Add query parameters to filter the response the API returns to all GET calls.

Use Pagination to control presentation of your results.

GET
Request
Body Parameters
cardToken
optional
String
A randomly generated string of characters that relates to the consumer's payment card (15-38 alphanumeric characters). Matches the creditCardToken in the response.
statusEnum
optional
String
Transaction status: - Succeeded - Pending - Failed - Rejected
fromDate
optional
String
Date from which transactions were added (for beginning of a date range query). Format: YYYY-MM-DDThh:mm:ss.<UTC offset>Z), for instance 2022-12-19T18:51:21.22Z
toDate
optional
String
Date up to which transactions were added (for end of a date range query). Format: YYYY-MM-DDThh:mm:ss.<UTC offset>Z), for instance 2022-12-19T18:51:21.22Z.


Response attributes

The response attributes for this call are the same as for Request funds from a payer

Get push transaction details by transaction ID

Returns details of a specific transaction where a merchant (the payer) sends funds to an end-consumer (the payee). Use the transactionId attribute as the transaction identifier.

Get push transaction details by transaction ID
GET
Request
Body Parameters
transactionId
required
String
A unique string (32 hexadecimal characters) that identifies the transaction in a definite way. The payment card network passes this identifier, without changing it, throughout the whole interbank chain.
sourceSenderId
optional
String
The GUID that identifies the merchant partner


Response attributes

The response attributes for this call are the same as for Send funds to a payee.

Get pull transaction details by transaction ID

Returns details of a specific transaction where a merchant (the payee) takes funds from an end-consumer (the payer). Use the transactionId attribute as the transaction identifier.

Get pull transaction details by transaction ID
GET
Request
Body Parameters
cardToken
required
String
A randomly generated string of characters that relates to the consumer's payment card (15-38 alphanumeric characters). Matches the creditCardToken in the response.
transactionId
required
String
A unique string (32 hexadecimal characters) that identifies the transaction in a definite way. The payment card network passes this identifier, without changing it, throughout the whole interbank chain.
sourceSenderId
optional
String
The GUID that identifies the merchant partner


Response attributes

The response attributes for this call are the same as for Request funds from a payer.

Related topics

API References

Tutorials

🤔
Have a question?
Our super-smart AI, knowledgeable support team and an awesome community will get you an answer in a flash.
To ask a question or participate in discussions, you'll need to authenticate first.