Links

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 EXTERNAL-US its null.
to.nickname
String
N.A. Included in API response.
Nickname of the node. In case of 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 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 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.
amount.amount
Number
Yes
Amount of the transaction.
amount.currency
String
Yes
Currency of the transaction.
fees.fee
Float
No
Fee amount going to (if +ve) or being taken (if -ve) from the node, in dollars(USD).
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. The file types accepted are JPEG, PNG, WEBP, TIFF, BMP and PDF. 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. The file types accepted are JPEG, PNG, WEBP, TIFF, BMP and PDF. 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 available 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 terms of ACH transfers, valid SEC codes are (WEB, PPD, IAT, CTX, CCD and TXP). Other ACH types remain unsupported and will be rejected immediately. 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
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 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