Tutorial: Originate a Push to Card transaction
If you are new to P2C we recommend you read the P2C overview before starting this tutorial. The tutorial assumes you have a knowledge of APIs and how they work.
In this tutorial, you'll learn how to
- Register the relevant webhooks
- Originate a push transaction
Before you begin
Make sure you have:
- API credentials
- Successfully registered to receive webhook event notifications
- Registered the debit card you are pushing funds to
- The
requestId
- your unique reference ID - The
cardToken
- the token you received when you registered the card - Dollar amount to send
- Sufficient funds in your settlement account
- The name of the individual or entity originating the P2C transaction
Register to receive webhook events
Use this endpoint, POST /api/WebhookRegistrations, to register to receive the webhooks available for P2C. These webhooks report relevant events back to your system in real-time, keeping you up to date on each transaction.
The Transaction webhook reports when a new transaction was done.
Originate a payment
When you send funds directly to a debit card, it's called a push payment - a push to card (P2C) transaction.
- Authenticate into our system and a token is returned to you.
- Use that token to call POST /api/transaction.
Cross River confirms there are funds available in your settlement account to fund the transaction. - Cross River sends this request to the card networks who route the transaction to the appropriate bank.
- The issuing bank (of the registered debit card) will receive the transaction and either authorize or decline it. If the transaction is authorized, your payee will receive the funds.
{
"requestId": "{ID}",
"cardToken": "OMOZBSFLNAUG8E2134UDH18WILO2QDA9K6XQVN",
"amount": 100.01,
"sourceSenderName": ""
}
After we receive a successful authorization from the card network, we will respond to your API call with a response that looks like this.
Sample response
{
"result": {
"transactionRequestId": "e91ea2c5-e8dc-4790-acf7-5dea1cab7216",
"amount": 100,
"transactionRequestedAt": "2019-09-10T00:28:37.76",
"transactionStatus": "Succeeded",
"errorDescription": null,
"creditCardId": "OMOZBSFLNAUG8E2134UDH18WILO2QDA9K6XQVN",
"railId": "RS2",
"network": "visa",
"retrievalReferenceId": "xxxxx"
"actualTransactionDoneAt": "2019-09-10T12:28:51",
"paymentSent": true,
"requestApproved": true,
"responseReceived": true,
"responseCode": "00",
"responseDescription": "Approved",
"traceNumber": "000001",
"error": null,
"sourceSenderName": null,
"sourceMcc": 5981,
},
"isSuccessful": true
}
Updated 9 months ago