Transaction Object Details
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 RDC transactions. | |
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 RDC its 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 RDC transactions. | |
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. | |
recentstatus.status_id | String | N.A. Included in API response. | |
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. | |
timeline.status_id | String | N.A. Included in API response. | |
extra | Object | Depends |
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. |
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.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. |
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 . |
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 |
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 . |
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 | |
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 |
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. |
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 | |
Value | Description |
CARD_PRESENT | Card present. |
CARD_NOT_PRESENT | Card not present. |
PRE_AUTHORIZED_PURCHASE | Card not present; transaction previously authorized. |
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 | |
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 | |
Value | Description |