Send RTP (Instant) Payment
API Refs
- Production: Send RTP payment
- Staging: Send RTP payment
Request body
Name | Type | Description | Required |
---|---|---|---|
file | binary | The payment attachment. You can download it in the transaction history in the web app. | no |
recipientEmail | string | Insured email. If insured does not exist, create an invite | yes |
amount | number | The amount of money being transferred. Amounts should have either 0 or 2 decimal places. Max limit is based on most current agreements with SnapRefund. Minimum limit is $0.01. | yes |
memo | string | A string with a maximum length of 280 characters. | no |
bankId | string | Insured’s bank id | yes |
Response body
Name | Type | Description | Required |
---|---|---|---|
id | number | Id of payment. Can be used for any payment operations. | yes |
transactionId | string | Payment transaction Id. It can be seen in the application in the transaction history. | yes |
amount | number | Payment amount without any fees. | yes |
customerId | number | The Id of the insured who will receive the payment or has already received it. | yes |
customerName | string | Name of the insured who will receive the payment or has already received it. | yes |
merchantName | string | Name of the insurer who will send the payment or has already sent it. | yes |
fee | number | Fee for the payment amount. It will only be different from zero when this payment is sent. | yes |
feeDeductFrom | string | Which side of the transfer will pay the fee. | yes |
status | string | Status of payment. Main statuses: Awaiting-cash-out, Canceled, Preparing to mail, In-transit, Settled | yes |
type | string | Type of payment. | yes |
memo | string | A string with a maximum length of 280 characters. | no |
createdAt | Date | Creation date | yes |
Example
- Get list of insured’s banks Request with userId = 1;
- Get list of insured’s banks Response:
[ { "id": "11a111a1-1111-1111-11a1-11a1a1aa11aa", "name": "Bank_995", "accountType": "checking", "type": "bank", "status": "unverified" }, { "id": "22a222a1-2222-2222-22a2-22a2a2aa22aa", "name": "Bank_996", "accountType": "savings", "type": "bank", "status": "unverified" } ]
- Send RTP Transfer Request:
{ "recipientEmail": "[email protected]", "amount": 12.34, "memo": "Test memo", "bankId": "11a111a1-1111-1111-11a1-11a1a1aa11aa" }
- Send RTP Transfer Response:
{ "id": 1, "transactionId": "a444aa44-aaa4-4a4a-aaaa-a44a44444a44", "amount": 12.34, "createdAt": "2023-08-09T15:00:00.000Z", "customerId": 2, "customerName": "John Smith", "merchantName": "Jake Merchant", "fee": "0.79", "feeDeductFrom": "recipient", "status": "In-transit", "type": "RTP", "memo": "Test memo" }
Description
You can only send RTP transfers to insureds you've created. If you want to send an RTP transfer to a user that hasn't been created yet, you must send a pending payment instead Send pending payment
Where do I get my insured's email?
You can get a list of all of your existing insureds. Go to Get list of all insureds
Where do I get my insured's bank id?
You can get a list of all existing banks for any of your insureds. Go to Get list of insured’s banks for more information about it.
When accepting a pending payment as an RTP transaction, you must always indicate the bank Id that you intend to use on the insured's side. This bank must be able to receive RTP transactions (the majority of banks in the US support Real Time Payments, but not all).
When a transaction is created, the payment status will initially change to LOCK
.
If the transaction is successfully created, the pending payment status will change to In-transit
.
Such a payment has the following statuses:
In-transit
- transaction in progress;Settled
- transaction completed successfully;Failed
- the transaction did not complete successfully;Canceled
- the transaction has been canceled.
This functionality must be enabled for your account upon request. Reach out to our customer success team at [email protected] if you'd like to enable RTP payments
Updated 3 months ago