Transaction Object Details

Transaction Schema

Key
Type
Required
Description
_id
String
N.A. Included in API response.
Primary Key of the transaction object.
client.id
String
N.A. Included in API response.
The Primary Key that denotes your client object in our system.
client.name
String
N.A. Included in API response.
Your common name in our system.
from.type
String
Yes. Only for RDCtransactions.
Type of Node, RDC or EXTERNAL-US.
from.id
String
N.A. Included in API response.
ID of from node. In case of RDC or EXTERNAL-US its null.
from.nickname
String
N.A. Included in API response.
Nickname of the node. In case of RDC or EXTERNAL-US its null. This is meant to be an easy to use label, if node nickname changes in the future, nickname here wont change.
from.user._id
String
N.A. Included in API response.
ID of the user who owns the from node. In case of RDC or EXTERNAL-US its null.
from.user.legal_names
Array of String
N.A. Included in API response.
Legal Name on the user profile. In case of RDCits null. In case of EXTERNAL-US its the merchant or send name. This is meant to be an easy to use label, if legal names shuffle on the user profile, legal names here wont change.
from.meta
Object
Yes. Only for RDCtransactions.
Go to Meta Schema to learn more.
to.id
String
Yes
ID of to node. In case of SRN or EXTERNAL-US its null.
to.nickname
String
N.A. Included in API response.
Nickname of the node. In case of SRN or EXTERNAL-US its null. This is meant to be an easy to use label, if node nickname changes in the future, nickname here wont change.
to.user._id
String
N.A. Included in API response.
ID of the user who owns the from node. In case of SRN or EXTERNAL-US its null.
to.user.legal_names
Array of String
N.A. Included in API response.
Legal Name on the user profile. In case of SRNits null. In case of EXTERNAL-US its the merchant or send name. This is meant to be an easy to use label, if legal names shuffle on the user profile, legal names here wont change.
to.meta
Object
Yes. Only for SRNtransactions.
Go to Meta Schema to learn more.
amount.amount
Number
Yes
Amount of the transaction.
amount.currency
String
Yes
Currency of the transaction.
fees.fee
Number
No
Fee amount going to (if +ve) or being taken (if -ve) from the node.
fees.note
String
No
Note associated with the fee object. 140 Characters.
fees.to.id
String
No
ID of the fee node.
recent_status.date
Number
N.A. Included in API response.
Unix timestamp (in ms) value of when the recent status was updated.
recent_status.note
String
N.A. Included in API response.
Note associated with the recent status.
recent_status.status
String
N.A. Included in API response.
Current status of the transaction. Go to Possible Transaction Statuses to learn more.
recentstatus.status_id
String
N.A. Included in API response.
Current status id of the transaction. Go to Possible Transaction Statuses to learn more.
timeline.date
String
N.A. Included in API response.
Unix timestamp (in ms) value of when the timeline object was created.
timeline.note
String
N.A. Included in API response.
Human readable notes associated with the timeline object.
timeline.status
String
N.A. Included in API response.
Status of the timeline object. Go to Possible Transaction Statuses to learn more.
timeline.status_id
String
N.A. Included in API response.
Status id of the timeline object. Go to Possible Transaction Statuses to learn more.
extra
Object
Depends
Go to Extra Schema for more details.

Possible Transaction Statuses

Status
Status ID
Comment
QUEUED-BY-SYNAPSE
-1
Transaction has been queued by Synapse. Once reviewed, the transaction will either go to CREATED or CANCELED.
CREATED
1
Transaction created
PROCESSING-DEBIT
2
Funds have been pulled from the sending node.
PROCESSING-CREDIT
3
Funds are being sent to the receiving node.
SETTLED
4
Funds have been sent to the receiving node.
CANCELED
5
Transaction has been canceled.
RETURNED
6
Transaction has returned This is how ACH Returns, Card Chargebacks, Returned Wires, and similar are expressed in our system.

Meta Schema

Various types of transactions have different types of meta data avaliable. Other than RDC, all other transactions that have meta info are not created by you, but are more so incoming transactions coming into a node (either as a debit or credit) through a subnet.

Meta Schema of RDC Transactions

Key
Type
Required
Description
account_num
String
N.A. Included in API response.
Account number located on the check.
amount
String
N.A. Included in API response.
Amount located on the check.
back_signature
Boolean
N.A. Included in API response.
True if the check has been signed at the back, else False.
check_back
String
Yes
URL of back of the check. Supplied as an encoded Base64 via the API which then is converted to a URL by us.. Please ensure that the image is clear, with all corners visible in case of a document with legible text. Once the image has gone through our RDC vision stack, the url returned will be the url of a post-processed B/W and cropped check image ready for X9 processing.
check_front
String
Yes
URL of front of the check. Supplied as an encoded Base64 via the API which then is converted to a URL by us.. Please ensure that the image is clear, with all corners visible in case of a document with legible text. Once the image has gone through our RDC vision stack, the url returned will be the url of a post-processed B/W and cropped check image ready for X9 processing.
check_number
String
N.A. Included in API response.
Check number specified on the check image.
check_quality_bucket_num
String
N.A. Included in API response.
Indicates the quality of predictions made by us which ranges from 1-7 where 1 is excellent and 7 is very poor and is not an indication of the quality of the image provided.
front_signature
Boolean
N.A. Included in API response.
True if the check has been signed on the front, else False.
is_check
Boolean
N.A. Included in API response.
True if the image can be auto-recognized as a check, else False.
is_endorsed
Boolean
N.A. Included in API response.
True if the check has been endorsed, else False.
name
String
N.A. Included in API response.
Name of the check recipient.
original_check_back
String
N.A. Included in API response.
URL of back of the check originally supplied by you.
original_check_front
String
N.A. Included in API response.
URL of front of the check originally supplied by you.
routing_number
String
N.A. Included in API response.
Routing number located on the check.

Meta Schema of RDFI ACH or Incoming WIRE Transactions

Key
Type
Required
Description
account_num
String
N.A. Included in API response.
Account number of the sender.
addenda
String
N.A. Included in API response.
Additional payment info supplied with the transaction.
company_entry_description
String
N.A. Included in API response.
This field describes the purpose or intent of a transaction. Only avaliable for ACH Transactions.
company_id
String
N.A. Included in API response.
Unique identifier used for identifying entities. Only avaliable for ACH Transactions.
company_name
String
N.A. Included in API response.
Name of entity who sent the payment instruction.
entry_class
String
N.A. Included in API response.
Type of transaction type. In case of ACH, its various types of ACH transfers (PPD, CCD, CTX, IAT, etc.). In case of Wires, it's just WIRE.
high_risk
Boolean
N.A. Included in API response.
True if we think the transaction is a high risk transaction.
individual_id
String
N.A. Included in API response.
The number used by the originating business to identify the individual being paid or charged. Only avaliable for ACH Transactions.
monitoring_class
String
N.A. Included in API response.
name
String
N.A. Included in API response.
Name of the receiver that the payment is intended for.
posted_date
String
N.A. Included in API response.
Date of when the transaction is supposed to be posted on. Format: YYYY-MM-DD.
posting_data
String
N.A. Included in API response.
Additional payment info supplied with the transaction.
routing_num
String
N.A. Included in API response.
Routing number of the sender.
subnet_id
String
N.A. Included in API response.
ID of the subnet where the payment instruction was sent to.
tracking_id
String
N.A. Included in API response.
Tracking number of the transaction. Trace ID for ACH and IMAD for Wires.
type
String
N.A. Included in API response.
Type of EXTERNAL-US transaction. In this case ACH or WIRE.

Possible monitoring_class Values

Value
Description
3rd_party_processor
Payment to a merchant processed with a third party entity
child_support
Child support payment
e-commerce
E-commerce payment
gym_membership
Fitness center monthly membership
loan
Loan payment
payroll_credits
Payroll payment
retail
Payment to a store-branded debit card
utility
Utility bill payment
accounting
Bookkeeping payments (bookkeeping software, CPAs etc.)
credit_card
Credit card payment
external_bank_transfer
Transfer to/from an external bank account
insurance
Insurance premiums
microdeposits
Micro-deposit transaction
prepaid_card
Transfer to/from a prepaid card
social_security
Social security benefit payment
veteranmilitary
Veteran military benefits payment
canpay
Payment to CanPay app
crypto_exchange
Transfer to/from a crypto exchange
fedstate_taxes
Federal/State tax payment
investments
Transfer to/from an investment account
misc_ach
Not elsewhere classified
rent
Rent payment
unemployment
Unemployment benefits payment

Meta Schema of Internal Transactions

Key
Type
Required
Description
routing_num
String
N.A. Included in API response.
Routing number of the sender.
tracking_id
String
N.A. Included in API response.
ID that can be used to trace the transaction internally in our network.
type
String
N.A. Included in API response.
Type of EXTERNAL-US transaction. In this case INTERNAL_TRANSFER.

Meta Schema for Crypto

Key
Type
Required
Description
merchant_name
String
N.A .Included in the Response
this is the source of the transfer - they are of 2 types:
    1.
    if it is an crypto-transaction, it will be in the form of <crypto-type>:<hexadecimal value> (eg: ethereum:0x3608a18b15407ed)
    2.
    if it is a transfer from an external source (like coinbase, bitwire, etc.) it will be in the form of transfer:<hexadecimal value> (eg: transfer:TF_VRYUMGWUYG6
network_id
String
N.A included in the Response
the network used to complete the transaction (eg: wyre )
type
String
N.A included in the Response
the type of transaction (eg: CRYPTO)

Meta Schema of Card Transactions

Key
Type
Required
Description
acquirer_reference_number
String
N/A
A 23-digit identifier assigned by the merchant to uniquely identify this transaction on the card network. This is only available once a transaction is SETTLED.
address.street
String
Yes
The street where the merchant's terminal is located. This may also be the merchant's name for e-commerce transactions.
address.city
String
Yes
The city where the merchant's terminal is located.
address.state
String
Yes
The state where the merchant's terminal is located. This field may be an empty string for international transactions.
address.zipcode
String
Yes
The zipcode where the merchant's terminal is located.
address.country
String
Yes
The country where the merchant's terminal is located. This will be the ISO 3166-1 alpha-2 country code.
approval_code
String
Yes
A 6-character alphanumeric code the Synapse provides to the merchant when approving a transaction.
condition_code
N/A
N/A
This field is always null.
conversion_meta.settlement_currency
String
Yes
This field is always cUSD.
conversion_meta.settlement_currency_conversion_rate
Number
Yes
The exchange rate used to convert the transaction amount in the merchant's currency to USD.
conversion_meta.transaction_currency
String
Yes
The ISO 4217 currency code
enriched_info.entity_id
String
No
Entity ID (i.e. the unique identifier that maps to the business entity / Corporate Entity Profile associated with the transaction).
enriched_info.facilitator_id
String
No
Facilitator ID (i.e. the unique identifier that maps to the facilitator / Facilitator Profile associated with transaction).
enriched_info.location_id
String
No
Location ID (i.e. the unique identifier that maps to the specific retail location / Location Profile associated with the transaction)
enriched_info.status
String
No
The status for the merchant information in the Knowledge Repository. The value can either be SETTLED or PENDING.
fees.amount
Number
No
The amount of the fee, in cents.
fees.type
String
No
foreign_transaction
Boolean
Yes
This field indicates whether the transaction was performed in a country other than the cardholder's home country.
is_recurring
Boolean
Yes
This field indicates whether the transaction was previously authorized as a recurring transaction.
is_force_post
Boolean
Yes
mcc
String
Yes
The 4-digit "Merchant Category Code".
mid
String
Yes
The "Merchant Identifier" used by the card network to identify the merchant.
pan_entry_mode
String
Yes
Go to Possible pan_entry_mode Values to learn more.
partial_approval_allowed
Boolean
Yes
This field indicates whether the transaction can be "partially approved" for an amount less than the requested transaction amount.
pin_entry_mode
String
Yes
presentment_info.card_presence
String
Yes
presentment_info.cardholder_presence
String
Yes
presentment_info.security_concern
String
Yes
presentment_info.type
String
Yes
rebates.amount
Number
No
rebates.type
String
No
revenues.amount
Number
No
The total amount of interchange revenue generated by the transaction (in cents).
revenues.type
String
No
The kind of revenue; either a switch_fee charged by the network or interchange generated by the transaction.
revenues.meta.program
String
No
The interchange rate category of the transaction.
revenues.meta.cap
Number
No
The maximum amount of revenue that can be assigned to a transaction in the given interchange category.
revenues.meta.fixed_rate
Number
No
The flat amount of revenue generated by a transaction independent of the transaction value.
revenues.meta.variable_rate
Number
No
The percentage (in basis points) of the transaction amount that will be paid as revenue in addition to the fixed_rate.
revenues.meta.daily_adjustment_rate
Number
No
The amount (in cents) added to the unadjusted_value to compute the final revenues amount. This value is based on the total revenue reported by the card network (e.g. Mastercard or Visa)
revenues.meta.unadjusted_value
Number
No
The amount (in cents) of the total revenue generated by a transaction before the daily_adjustment_rate was applied.
sub_amounts.amount
Number
No
The amount, in cents.
sub_amounts.type
String
No
subnet_id
String
Yes
The Synapse subnet ID.
terminal_id
String
Yes
A value assigned by the merchant that is used to identify the terminal where this transaction originated.
terminal_info.attendance
String
Yes
terminal_info.card_input_capability
String
Yes
terminal_info.card_retention_capability
String
Yes
terminal_info.location
String
Yes
terminal_info.operator
String
Yes
terminal_info.type
String
Yes
type
String
Yes
Go to Possible type Values to learn more.

Possible pan_entry_mode Values

Value
Description
UNSPECIFIED
PAN entry mode unknown.
MANUAL
PAN manual entry.
INTEGRATED_CIRCUIT_CARD
PAN auto-entry via EMV chip.
QR_OR_BARCODE
PAN auto-entry via QR or barcode reader.
OCR
PAN auto-entry via optical character reader (OCR).
KEY_ENTERED
PAN manual entry.
CONTACTLESS
PAN auto-entry via contactless EMV chip.
ELECTRONIC
PAN/Token entry via electronic commerce containing DSRP (Digital Secure Remote Payments) cryptogram.
CHIP_FAILURE_USED_MANUAL
A hybrid terminal with an online connection to the acquirer failed in sending a chip fallback transaction (CHIP_FAILURE_USED_TRACK). To complete the transaction, a voice transaction takes place during which the merchant communicates the PAN and the expiry date originating from the magnetic stripe to the acquirer.
CHIP_FAILURE_USED_TRACK
Chip card at chip-capable terminal was unable to process transaction using data on the chip; therefore, the terminal defaulted to the magnetic stripe-read PAN. The full track data has been read from the data encoded on the card and transmitted to Synapse.
FROM_FILE
Credential on file.
FROM_SERVER
PAN auto entry via server (issuer, acquirer, or third party vendor system).
FROM_OTHER_CARDLESS_ENTRY
PAN/Token entry via electronic commerce with optional SecureCode-AAV or DSRP cryptogram in UCAF.
MAGNETIC_STRIPE_FULL
PAN auto-entry via magnetic stripe; the full track data has been read from the data encoded on the card and transmitted to Synapse.
MAGNETIC_STRIPE_CONTACTLESS
PAN auto-entry via contactless magnetic stripe; the full track data has been transmitted by the merchant to Synapse.
APPLE_PAY
PAN/Token entry via Apple mobile wallet.
GOOGLE_PAY
PAN/Token entry via Google mobile wallet.
SAMSUNG_PAY
PAN/Token entry via Samsung mobile wallet.
TOKEN
PAN entry via token; this merchant does not store the full card number and instead uses a token when initiating transactions.

Possible pin_entry_mode Values

Value
Description
UNSPECIFIED
Terminal PIN entry capability unknown.
PIN_ENTRY_CAPABILITY
Terminal has PIN entry capability.
PIN_ENTRY_NO_CAPABILITY
Terminal does not have PIN entry capability.
PIN_PAD_INOPERATIVE
Terminal has PIN entry capability but PIN pad is not currently operative.
PIN_VERIFIED_BY_TERMINAL

Possible presentment_info.card_presence Values

Value
Description
CARD_PRESENT
Card present.
CARD_NOT_PRESENT
Card not present.
PRE_AUTHORIZED_PURCHASE
Card not present; transaction previously authorized.

Possible presentment_info.cardholder_presence Values

Value
Description
CUSTOMER_PRESENT
Cardholder present.
CUSTOMER_NOT_PRESENT
Cardholder not present.
MAIL_ORDER
Cardholder not present; mail order.
TELEPHONE_ORDER
Cardholder not present; phone order.
RECURRING_PAYMENT
Standing order or recurring transaction.
PRE_AUTHORIZED_PURCHASE
DEFERRED_BILLING
INSTALLMENT_PAYMENT

Possible presentment_info.security_concern Values

Value
Description
NO_SECURITY_CONCERN
SUSPECTED_FRAUD
IDENTIFICATION_VERIFIED
ELECTRONIC_TRANSACTION_WITH_DIGITAL_SIGNATURE
NONSECURE_ELECTRONIC_TRANSACTION
SECURE_ELECTRONIC_TRANSACTION_WITH_CARDHOLDER_CERTIFICATE
SECURE_ELECTRONIC_TRANSACTION_WITHOUT_CARDHOLDER_CERTIFICATE
CHANNEL_ENCRYPTED_ELECTRONIC_TRANSACTION
CVV_VALID
CVV_INVALID
INTERNET_PINNED_DEBIT_TRANSACTION

Possible presentment_info.type Values

Value
Description
ORIGINAL_PRESENTMENT
FIRST_REPRESENTMENT
SECOND_REPRESENTMENT
THIRD_REPRESENTMENT
PREVIOUSLY_AUTHORIZED_REQUEST
RESUBMISSION
CARD_VALIDATION

Possible sub_amounts.type Values

Value
Description
AMOUNT_CASH
The amount of cash disbursed for a PURCHASE_WITH_CASH_DISBURSEMENT transaction.
AMOUNT_GOODS_AND_SERVICES
CO_PAYMENT
HEALTHCARE_AMOUNT
TRANSIT_AMOUNT
PRESCRIPTION_AMOUNT
VISION_AMOUNT
CLINIC_AMOUNT
DENTAL_AMOUNT

Possible terminal_info.attendance Values

Value
Description
ATTENDED
Attended terminal.
UNATTENDED
Unattended terminal (e.g. home PC, mobile phone)

Possible terminal_info.card_input_capability Values

Value
Description
UNKNOWN
Input capability unknown or unspecified.
MANUAL
MAGNETIC_STRIPE
Terminal supports magnetic stripe input only.
BARCODE_OR_QR
OCR
ICC
Terminal supports EMV contact chip input only.
KEY_ENTERED
Terminal supports key entry input only.
FILE
CONTACTLESS_READ_VIA_MAG_STRIPE_RULES
Terminal supports contactless magstripe input but not contactless EMV input. The terminal also may support one or more other card input types, including EMV contact chip input, magnetic stripe input, and key entry input.
CONTACTLESS_READ_VIA_CHIP_RULES
Terminal supports contactless EMV input and contactless magstripe input. The terminal also may support one or more other card input types, including EMV contact chip input, magnetic stripe input and key entry input.
MAG_STRIPE_AND_KEY_ENTRY
Terminal supports magnetic stripe input and key entry input.
MAG_STRIPE_AND_KEY_ENTRY_AND_EMV
Terminal supports EMV contact chip input, magnetic stripe input and key entry input.
MAG_STRIPE_AND_EMV
Terminal supports EMV contact chip input and magnetic stripe input.
SECURE_CARDLESS_ENTRY

Possible terminal_info.card_retention_capability Values

Value
Description
DEVICE_CANNOT_RETAIN_CARD
Terminal/operator does not have card capture capability.
DEVICE_CAN_RETAIN_CARD
Terminal/operator has card capture capability.

Possible terminal_info.location Values

Value
Description
ON_PREMISE
Terminal is on premises of the merchant.
OFF_PREMISE
Terminal is off premises of the merchant (remote location).

Possible terminal_info.operator Values

Value
Description
CUSTOMER_OPERATED
CARD_ACCEPTOR_OPERATED
ADMINISTRATIVE

Possible terminal_info.type Values

Value
Description
ADMINISTRATIVE_TERMINAL
POS_TERMINAL
ATM
HOME_TERMINAL
ECR
DIAL_TERMINAL
TRAVELERS_CHECK_MACHINE
FUEL_MACHINE
SCRIP_MACHINE
COUPON_MACHINE
TICKET_MACHINE
POINT_OF_BANKING_TERMINAL
TELLER
FRANCHISE_TELLER
PERSONAL_BANKING
PUBLIC_UTILITY
VENDING
SELF_SERVICE
AUTHORIZATION
PAYMENT
VRU
SMART_PHONE
INTERACTIVE_TELEVISION
PERSONAL_DIGITAL_ASSISTANT
SCREEN_PHONE
ELECTRONIC_COMMERCE
MICR_TERMINAL
OFF_PREMISE

Possible type Values

Value
Description
PURCHASE
CASH
DEBIT_ADJUSTMENT
PURCHASE_WITH_CASH_DISBURSEMENT
NON_CASH_FINANCIAL_INSTRUMENT
QUASI_CASH
WITHDRAWAL_TO_ELECTRONIC_ACCOUNT
RETURN
DEPOSIT
CREDIT_ADJUSTMENT
PAYMENT_RETURN
PAYMENT_TO_THIRD_PARTY
PAYMENT_DEBIT
PAYMENT_FROM_THIRD_PARTY
PAYMENT_CREDIT

Extra Schema

Key
Type
Required
Description
created_on
Number
N.A. Included in API response.
Unix Timestamp of when the transaction was crated.
asset
String
Yes for CRYPTO-UStransactions.
Asset being sold. For CRYPTO-US acceptable values are BTC, ETH, DAIor USDC .
rate
Number
N.A. Included in API response.
Rate of the trade. Currently applicable for CRYPTO-US transactions.
rate_limit
Number
No
If you wish to rate limit a crypto order, this field allows you to do that.
supp_id
String
No
This field is usually used to link your transaction PK with ours. 250 characters.
group_id
String
No
Used to group transaction together.
note
String
No
Memo associated with the transaction.
encrypted_note
String
No
Any memo supplied here will be encrypted and stored in our system. Used mostly for RPPS transactions where sometimes PII is supplied as a memo.
process_on
Integer
No
Date to process transaction. Supplied as an integer in days, returned by the api in Unix epoch time.
settlement_delay
Integer
No
Amount of time to delay transaction (in days)
tracking_number
String
N.A. Included in API response.
Tracking number associated with the transaction. In case of ACH its the trace ID and in case of wires its IMAD.
same_day
Boolean
No
[Same-day ACH must be enabled for your platform] This field is now deprecated. Please use speed instead. Set this to true if you wish to settle the transaction on the same day.
speed
String
No
[Same-day ACH or RTP must be enabled for your platform and suppored by the receving bank.]
Speed at which you wish to process the ACH payment. Options: RTP (credit only), SAMEDAY or NEXTDAY (default).
other.attachments
Array
No
List of padded base64 attachments.
other.chargeback_disputed
Boolean
No
Set to true if the transaction has been disputed for chargeback. Only applicable for interchange transactions.
other.dispute_meta
Object
No
other.is_provisional_credit
Boolean
N.A. Included in API response.
Set to true if the transaction is a provisional credit.
txp_meta
Object