Transactions

Overview

A "transaction" in the Synctera platform represents any movement of funds between accounts.

Transactions comes in 2 flavours:

  • Pending transactions
  • Posted transactions

A pending transaction represents a "hold" or "authorization" for the movement of funds in an account. Pending transactions are used whenever we need to
guarantee the availability of funds for any multi-step payment flow. See The Transaction Life-cycle below for an example.

A pending transaction is mutable, meaning that up to the point that the pending transaction is posted or expired, the amount of the hold may be increased, decreased, canceled, or declined. Note that this functionality is not typically exposed directly to integrator, but instead depends on the business logic of the specific payment rail.

Once a transaction is "posted", it is then considered immutable and cannot be changed. Any adjustments (such as a reversal, for example) requires the creation of a new transaction.

Creating Transactions

Transactions can be initiated in a few different ways:

Directly, via the Synctera payment APIs:

Indirectly, via an external payment network:

  • A card transaction at an ATM or point-of-sale.
  • An incoming ACH debit or credit from another bank (such as a direct deposit).

An integrator can subscribe various TRANSACTION webhook events to be notified when a transaction is created or updated, even when the transactions aren't directly initiated by your application.

Anatomy of a Transaction

The full spec for pending and posted transactions is documented in the API reference for Pending Transactions and Posted Transactions respectively, there are several fields worth describing in more detail:

id

The id of a transaction is a unique identifier for a particular payment. This identifier is preserved through the entire life-cycle of a transaction. This means that a pending transaction and its final posted transaction will share the same id.

type

The type of a transaction generally represents the "payment rail" that is being used. For ACH payments this will be ach, which debit card transactions will use card.

subtype

The subtype field represents the specific operation that initiated the transaction. For example, for card transactions, the subtype might be could be atm_withdrawal for taking money out of an ATM, or pos_purchase for any purchase made at a Point-of-Sale system.

effective_date

The effective_date of a transaction represents the time that the transaction should be considered effective for the purposes of interest calculation.

posted_date

📘

This value is specific to posted transactions.

This value represents the current banking day the transaction was initiated on, from the perspective of the sponsor bank. This doesn't always match up with the chronological time. Notably, "banking days" do not include weekends or bank holidays.

As an example, of a payment is made on Friday at 9PM, the effective_date would have the current date/time the transaction was created, while the posted_date would actually be the following Monday.

user_data

The user_data field represents key-value meta-data specific to a given payment rail. For example, transactions with type ach will have a user_data field containing ACH-specific meta-data (ACH return codes, trace numbers, or file names), which card transactions will have card-specific meta-data (merchant codes, etc...). This is not used for arbitrary metadata supplied by a Fintech, see external_data below.

This field is only populated by internal Synctera payment services.

Below is an example of a user_data from an ACH debit transaction that has been sent out to the ACH network (indicated by the file_name field being populated):

{
  "id": 1234,
  "idemkey": "87a964a7-9191-488d-bbb8-b4f9a39578f6",
  "exported": "2022-03-22T16:55:01.60644546Z",
  "file_name": "20220322T165501.596_OUTBOUND.ach",
  "account_id": "7b0ccc9f-957a-4e0b-bc4b-9a3d59c2eef6",
  "account_no": "1234567890",
  "customer_id": "226de0b5-e9b9-48f3-b562-c9bc3b35cd5b",
  "description": "KandaBank",
  "is_same_day": false,
  "trace_number": "601282010001234",
  "reference_info": "This is some reference info",
  "source_account_id": "d23b541b-1fda-4c3f-b44e-3605f2095618",
  "source_account_name": "Alberta Charleson"
}

external_data

The external_data field will include any arbitrary key-value meta-data that you as a Fintech would like to associate with the payment. This is only available for payments initiated directly via one of the Synctera payment APIs (for example, an outgoing ACH payment, or an internal transfer).

risk_info

The risk_info field is used to hold risk analysis details from Synctera's Risk/Fraud service.

This is an example of a risk_info payload where the fraud service has determined that the transaction is not fraudulent:

{
  "accept": true,
  "reasons": ["TRANSACTION_ACCEPTED"],
  "provider": "FEEDZAI",
  "provider_info": {
    "alert": false,
    "score": 0,
    "status": "ok",
    "decision": "approve",
    "action_codes": ["[Transfers-DR6]"],
    "lifecycle_id": "c67c7799-f273-4318-8649-1378e42d64af",
    "sca_required": false,
    "sender_segment": "27",
    "event_external_id": "c67c7799-f273-4318-8649-1378e42d64af",
    "sender_bank_branch_id": "4",
    "secondary_action_codes": []
  },
  "provider_reasons": ["Transfers-DR6"]
}

lines

📘

The lines field is specific to Posted Transactions.

The Synctera Ledger uses a concept called Double-Entry Accounting to help ensure the integrity of all financial operation. This means that every debit or credit to an account must be offset by a corresponding credit or debit to another account. This is represented in the Posted Transaction resource by the data.lines field. This field is an array of (primarily) two accounting entries: A debit from one account, and a credit from another account.

In many cases, only one side of a transaction will represent a real Synctera (customer) account. For example, consider an ACH payment to an external bank, or an ATM withdrawal.

In this case, Synctera uses an internal account, called a settlement account as a proxy to offset the transaction.

Transaction Types and Subtypes

Transactions (both pending and posted) are categorized using a combination of type and subtype fields, as mentioned above.

The set of types and subtypes currently supported by the Synctera ledger are documented below:

Disclaimer: Some transaction subtypes listed below are system-generated to reflect internal ledger movements (sweeps, settlements, adjustments, chargeback workflows, etc.) and are not intended to be created directly by Fintechs. Fintech-initiated subtypes are a subset (for example: most ACH originations, internal transfers like peer_to_peer, standard card purchase/ATM/refund flows). Contact Synctera Support if you are unsure whether you should originate a given subtype.

TypeSubtype
achincoming_credit
achincoming_credit_contested_return
achincoming_credit_contested_return_reversal
achincoming_credit_dishonored_return
achincoming_credit_dishonored_return_reversal
achincoming_credit_return
achincoming_credit_return_reversal
achincoming_credit_reversal
achincoming_debit
achincoming_debit_contested_return
achincoming_debit_contested_return_reversal
achincoming_debit_dishonored_return
achincoming_debit_dishonored_return_reversal
achincoming_debit_return
achincoming_debit_return_reversal
achincoming_debit_reversal
achoutgoing_credit
achoutgoing_credit_contested_return
achoutgoing_credit_dishonored_return
achoutgoing_credit_return
achoutgoing_credit_reversal
achoutgoing_debit
achoutgoing_debit_contested_return
achoutgoing_debit_dishonored_return
achoutgoing_debit_return
achoutgoing_debit_reversal
achprenote
achprenote_reversal
achtemp_hold
cardaccount_funding
cardaccount_funding_reversal
cardaccount_verification
cardaccount_verification_reversal
cardaft
cardaft_reversal
cardatm_withdrawal
cardatm_withdrawal_reversal
cardbalance_inquiry
cardcard_chargeback_case1
cardcard_chargeback_case1_reversal
cardcard_chargeback_case2
cardcard_chargeback_case2_reversal
cardcard_chargeback_case3
cardcard_chargeback_case3_reversal
cardcard_network_final_chargeback
cardcard_network_final_chargeback_reversal
cardcard_network_first_chargeback
cardcard_network_first_chargeback_reversal
cardcard_network_representment
cardcard_network_representment_reversal
cardcard_transaction
cardcard_transaction_reversal
cardchargeback
cardchargeback_reversal
cardcredit
cardcredit_reversal
carddirectpost
carddirectpost_reversal
cardhold
cardhold_decrease
cardhold_increase
cardhold_post
cardhold_post_reversal
cardhold_replace
cardpos_cashback
cardpos_cashback_reversal
cardpos_purchase
cardpos_purchase_refund
cardpos_purchase_refund_reversal
cardpos_purchase_reversal
cardpos_refund
cardpos_refund_reversal
cardprovisional_credit
cardprovisional_credit_reversal
cashcash_order
cashcash_order_reversal
cashdeposit
cashdeposit_reversal
cashin_store_deposit
cashin_store_deposit_reversal
cashtemp_hold
checkmobile_deposit
checkmobile_deposit_return
checkmobile_deposit_return_reversal
checkmobile_deposit_reversal
checktemp_hold
eft_cabulk_outgoing_credit
eft_cabulk_outgoing_credit_return
eft_cabulk_outgoing_credit_return_reversal
eft_cabulk_outgoing_credit_reversal
eft_cabulk_outgoing_debit
eft_cabulk_outgoing_debit_return
eft_cabulk_outgoing_debit_return_reversal
eft_cabulk_outgoing_debit_reversal
eft_caincoming_credit
eft_caincoming_credit_return
eft_caincoming_credit_return_reversal
eft_caincoming_credit_reversal
eft_caincoming_debit
eft_caincoming_debit_return
eft_caincoming_debit_return_reversal
eft_caincoming_debit_reversal
eft_caoutgoing_credit
eft_caoutgoing_credit_return
eft_caoutgoing_credit_return_reversal
eft_caoutgoing_credit_reversal
eft_caoutgoing_debit
eft_caoutgoing_debit_return
eft_caoutgoing_debit_return_reversal
eft_caoutgoing_debit_reversal
eft_catemp_hold
external_cardaccount_funding_aft
external_cardaccount_funding_aft_reversal
external_cardcard_funding
external_cardcard_funding_reversal
external_cardcard_send
external_cardcard_send_reversal
external_cardchargeback_debit
external_cardchargeback_debit_reversal
fednowfednow_incoming
fednowfednow_outgoing
fednowtemp_hold
feeach_incoming_transfer
feeach_incoming_transfer_reversal
feeach_outgoing_transfer
feeach_outgoing_transfer_reversal
feeapplication
feeapplication_reversal
feeatm_balance_inquiry
feeatm_balance_inquiry_reversal
feeatm_withdrawal
feeatm_withdrawal_reversal
feebalance_transfer
feebalance_transfer_reversal
feebill_pay
feebill_pay_reversal
feecard_delivery
feecard_delivery_reversal
feecard_replacement
feecard_replacement_reversal
feecash_advance
feecash_advance_reversal
feecash_deposit
feecash_deposit_reversal
feecheck_issuance
feecheck_issuance_reversal
feecross_border_transaction
feecross_border_transaction_reversal
feeeft_transfer
feeeft_transfer_reversal
feeforeign_atm
feeforeign_atm_reversal
feeforeign_transaction
feeforeign_transaction_reversal
feeinactivity
feeinactivity_reversal
feelate_payment
feelate_payment_reversal
feemaintenance
feemaintenance_reversal
feemiscellaneous
feemiscellaneous_reversal
feeorigination
feeorigination_reversal
feeover_the_limit
feeover_the_limit_reversal
feeoverdraft
feeoverdraft_reversal
feereturned_item
feereturned_item_reversal
feereturned_payment
feereturned_payment_reversal
feestop_payment
feestop_payment_reversal
feesubscription
feesubscription_reversal
feewire_transfer
feewire_transfers_reversal
internal_transferaccount_balance_adjustment
internal_transferaccount_balance_adjustment_reversal
internal_transferaccount_decrease_limit
internal_transferaccount_decrease_limit_reversal
internal_transferaccount_increase_limit
internal_transferaccount_increase_limit_reversal
internal_transferaccount_to_account
internal_transferaccount_to_account_reversal
internal_transferaccount_to_account_sweep
internal_transferaccount_to_account_sweep_reversal
internal_transferach_credit_sweep
internal_transferach_credit_sweep_reversal
internal_transferach_debit_sweep
internal_transferach_debit_sweep_reversal
internal_transferach_float_transfer
internal_transferach_float_transfer_reversal
internal_transferach_incoming_credit_sweep
internal_transferach_incoming_credit_sweep_reversal
internal_transferach_incoming_debit_sweep
internal_transferach_incoming_debit_sweep_reversal
internal_transferach_incoming_return_credit_sweep
internal_transferach_incoming_return_credit_sweep_reversal
internal_transferach_incoming_return_debit_sweep
internal_transferach_incoming_return_debit_sweep_reversal
internal_transferach_outgoing_credit_sweep
internal_transferach_outgoing_credit_sweep_reversal
internal_transferach_outgoing_debit_sweep
internal_transferach_outgoing_debit_sweep_reversal
internal_transferach_outgoing_return_credit_sweep
internal_transferach_outgoing_return_credit_sweep_reversal
internal_transferach_outgoing_return_debit_sweep
internal_transferach_outgoing_return_debit_sweep_reversal
internal_transferach_sweep
internal_transferach_sweep_reversal
internal_transferbulk_domestic_wire_outgoing_sweep
internal_transferbulk_domestic_wire_outgoing_sweep_reversal
internal_transferbulk_eft_ca_outgoing_credit_sweep
internal_transferbulk_eft_ca_outgoing_credit_sweep_reversal
internal_transferbulk_eft_ca_outgoing_debit_sweep
internal_transferbulk_eft_ca_outgoing_debit_sweep_reversal
internal_transfercard_chargeback
internal_transfercard_chargeback_case1
internal_transfercard_chargeback_case1_reversal
internal_transfercard_chargeback_case2
internal_transfercard_chargeback_case2_reversal
internal_transfercard_chargeback_case3
internal_transfercard_chargeback_case3_reversal
internal_transfercard_chargeback_case_won_sweep
internal_transfercard_chargeback_case_won_sweep_reversal
internal_transfercard_chargeback_reversal
internal_transfercard_chargeback_writeoff
internal_transfercard_chargeback_writeoff_reversal
internal_transfercard_chargeback_writeoff_sweep
internal_transfercard_chargeback_writeoff_sweep_reversal
internal_transfercard_provisional_credit
internal_transfercard_provisional_credit_reversal
internal_transfercard_provisional_credit_sweep
internal_transfercard_provisional_credit_sweep_reversal
internal_transfercashback
internal_transfercashback_reversal
internal_transfercashback_sweep
internal_transfercashback_sweep_reversal
internal_transfercredit_memo
internal_transfercredit_memo_reversal
internal_transferdomestic_wire_incoming_return_sweep
internal_transferdomestic_wire_incoming_return_sweep_reversal
internal_transferdomestic_wire_incoming_sweep
internal_transferdomestic_wire_incoming_sweep_reversal
internal_transferdomestic_wire_outgoing_return_sweep
internal_transferdomestic_wire_outgoing_return_sweep_reversal
internal_transferdomestic_wire_outgoing_sweep
internal_transferdomestic_wire_outgoing_sweep_reversal
internal_transfereft_ca_incoming_credit_return_sweep
internal_transfereft_ca_incoming_credit_return_sweep_reversal
internal_transfereft_ca_incoming_credit_sweep
internal_transfereft_ca_incoming_credit_sweep_reversal
internal_transfereft_ca_incoming_debit_return_sweep
internal_transfereft_ca_incoming_debit_return_sweep_reversal
internal_transfereft_ca_incoming_debit_sweep
internal_transfereft_ca_incoming_debit_sweep_reversal
internal_transfereft_ca_outgoing_credit_return_sweep
internal_transfereft_ca_outgoing_credit_return_sweep_reversal
internal_transfereft_ca_outgoing_credit_sweep
internal_transfereft_ca_outgoing_credit_sweep_reversal
internal_transfereft_ca_outgoing_debit_return_sweep
internal_transfereft_ca_outgoing_debit_return_sweep_reversal
internal_transfereft_ca_outgoing_debit_sweep
internal_transfereft_ca_outgoing_debit_sweep_reversal
internal_transferetransfer_sweep
internal_transferetransfer_sweep_reversal
internal_transferexchange_rate_difference_gain
internal_transferexchange_rate_difference_gain_reversal
internal_transferexchange_rate_difference_loss
internal_transferexchange_rate_difference_loss_reversal
internal_transferfee
internal_transferfee_reversal
internal_transferfee_sweep
internal_transferfee_sweep_reversal
internal_transferforce_payment
internal_transferforce_payment_reversal
internal_transfergeneral_fee_sweep
internal_transfergeneral_fee_sweep_reversal
internal_transfergeneral_internal_transfer_sweep
internal_transfergeneral_internal_transfer_sweep_reversal
internal_transfergeneral_reward_sweep
internal_transfergeneral_reward_sweep_reversal
internal_transferin_store_cash_deposit_sweep
internal_transferin_store_cash_deposit_sweep_reversal
internal_transferincoming_wire
internal_transferincoming_wire_reversal
internal_transferincoming_wire_sweep
internal_transferincoming_wire_sweep_reversal
internal_transferinterest_charged
internal_transferinterest_charged_reversal
internal_transferinterest_charged_sweep
internal_transferinterest_charged_sweep_reversal
internal_transferinterest_correction
internal_transferinterest_correction_reversal
internal_transferinterest_income
internal_transferinterest_income_reversal
internal_transferinterest_payout
internal_transferinterest_payout_reversal
internal_transferinterest_payout_sweep
internal_transferinterest_payout_sweep_reversal
internal_transferinternational_wire_incoming_sweep
internal_transferinternational_wire_incoming_sweep_reversal
internal_transferinternational_wire_outgoing_return_sweep
internal_transferinternational_wire_outgoing_return_sweep_reversal
internal_transferinternational_wire_outgoing_sweep
internal_transferinternational_wire_outgoing_sweep_reversal
internal_transferinvoice
internal_transferinvoice_reversal
internal_transferjit_fund
internal_transferjit_fund_reversal
internal_transferloan_disbursement
internal_transferloan_disbursement_reversal
internal_transferloan_funding
internal_transferloan_funding_reversal
internal_transferloc_usage
internal_transferloc_usage_reversal
internal_transfermanual_adjustment
internal_transfermanual_adjustment_reversal
internal_transfermanual_adjustment_sweep
internal_transfermanual_adjustment_sweep_reversal
internal_transfermanual_aft_sweep
internal_transfermanual_aft_sweep_reversal
internal_transfermanual_card_sweep
internal_transfermanual_card_sweep_reversal
internal_transfermanual_cash_deposit_sweep
internal_transfermanual_cash_deposit_sweep_reversal
internal_transfermanual_cash_order_sweep
internal_transfermanual_cash_order_sweep_reversal
internal_transfermanual_check_issuance
internal_transfermanual_check_issuance_reversal
internal_transfermanual_check_sweep
internal_transfermanual_check_sweep_reversal
internal_transfermanual_oct_sweep
internal_transfermanual_oct_sweep_reversal
internal_transfermanual_wire_sweep
internal_transfermanual_wire_sweep_reversal
internal_transfermastercard_gross_sweep
internal_transfermastercard_gross_sweep_reversal
internal_transfermastercard_interchange_sweep
internal_transfermastercard_interchange_sweep_reversal
internal_transfermastercard_net_sweep
internal_transfermastercard_net_sweep_reversal
internal_transfermobile_deposit_return_sweep
internal_transfermobile_deposit_return_sweep_reversal
internal_transfermobile_deposit_sweep
internal_transfermobile_deposit_sweep_reversal
internal_transfernegative_balance_draw
internal_transfernegative_balance_draw_reversal
internal_transfernegative_balance_repayment
internal_transfernegative_balance_repayment_reversal
internal_transfernegative_balance_reserve
internal_transfernegative_balance_reserve_reversal
internal_transfernegative_balance_reserve_writeoff
internal_transfernegative_balance_reserve_writeoff_reversal
internal_transfernegative_balance_writeoff
internal_transfernegative_balance_writeoff_reversal
internal_transfernetwork_adjustment_sweep
internal_transfernetwork_adjustment_sweep_reversal
internal_transfernetwork_chargeback_sweep
internal_transfernetwork_chargeback_sweep_reversal
internal_transferoutgoing_international_remittance
internal_transferoutgoing_international_remittance_reversal
internal_transferoverdue_card_writeoff
internal_transferoverdue_card_writeoff_reversal
internal_transferpeer_to_peer
internal_transferpeer_to_peer_reversal
internal_transferprogram_decrease
internal_transferprogram_decrease_reversal
internal_transferprogram_expansion
internal_transferprogram_expansion_reversal
internal_transferpromotional_credit
internal_transferpromotional_credit_reversal
internal_transferpromotional_credit_sweep
internal_transferpromotional_credit_sweep_reversal
internal_transferpulse_gross_sweep
internal_transferpulse_gross_sweep_reversal
internal_transferpulse_interchange_sweep
internal_transferpulse_interchange_sweep_reversal
internal_transferrepayment
internal_transferrepayment_reversal
internal_transfersc_usage
internal_transfersc_usage_reversal
internal_transfersecurity_account_payment
internal_transfersecurity_account_payment_reversal
internal_transfersecurity_hold
internal_transfersecurity_overpay_adjustment
internal_transfersecurity_overpay_adjustment_reversal
internal_transfersign_up_bonus
internal_transfersign_up_bonus_reversal
internal_transfersubscription_fee
internal_transfersubscription_fee_reversal
internal_transfertransfer_fee
internal_transfertransfer_fee_reversal
internal_transfertransfer_fee_reversal_reversal
internal_transferusc_usage
internal_transferusc_usage_reversal
internal_transfervisa_gross_sweep
internal_transfervisa_gross_sweep_reversal
internal_transfervisa_interchange_sweep
internal_transfervisa_interchange_sweep_reversal
internal_transfervisa_net_sweep
internal_transfervisa_net_sweep_reversal
internal_transferwire_settlement_credit
internal_transferwire_settlement_credit_reversal
internal_transferwire_settlement_debit
internal_transferwire_settlement_debit_reversal
rewardaccount_opening_bonus
rewardaccount_opening_bonus_reversal
rewardcashback
rewardcashback_reversal
rewardinterest_rate_bonus
rewardinterest_rate_bonus_reversal
rewardloan_interest_rate_reduction
rewardloan_interest_rate_reduction_reversal
rewardmanual_adjustment
rewardmanual_adjustment_reversal
rewardmiles
rewardmiles_reversal
rewardmiscellaneous
rewardmiscellaneous_reversal
rewardpoints
rewardpoints_reversal
rewardreferral_bonus
rewardreferral_bonus_reversal
synctera_payincoming_interac_autodeposit
synctera_payincoming_interac_autodeposit_return
synctera_payincoming_interac_autodeposit_return_reversal
synctera_payincoming_interac_autodeposit_reversal
synctera_payincoming_interac_e_transfer
synctera_payincoming_interac_e_transfer_return
synctera_payincoming_interac_e_transfer_return_reversal
synctera_payincoming_interac_e_transfer_reversal
synctera_payincoming_international_wire
synctera_payoutgoing_account_transfer
synctera_payoutgoing_account_transfer_return
synctera_payoutgoing_account_transfer_return_reversal
synctera_payoutgoing_account_transfer_reversal
synctera_payoutgoing_bill_payment
synctera_payoutgoing_bill_payment_return
synctera_payoutgoing_bill_payment_return_reversal
synctera_payoutgoing_bill_payment_reversal
synctera_payoutgoing_card_load
synctera_payoutgoing_card_load_reversal
synctera_payoutgoing_interac_e_transfer
synctera_payoutgoing_interac_e_transfer_return
synctera_payoutgoing_interac_e_transfer_return_reversal
synctera_payoutgoing_interac_e_transfer_reversal
synctera_payoutgoing_international_remittance
synctera_payoutgoing_international_remittance_return
synctera_payoutgoing_international_remittance_return_reversal
synctera_payoutgoing_international_remittance_reversal
wirebulk_domestic_outgoing
wirebulk_domestic_outgoing_reversal
wiredomestic_incoming
wiredomestic_incoming_return
wiredomestic_incoming_return_reversal
wiredomestic_incoming_reversal
wiredomestic_outgoing
wiredomestic_outgoing_return
wiredomestic_outgoing_return_reversal
wiredomestic_outgoing_reversal
wireinternational_incoming
wireinternational_incoming_return
wireinternational_incoming_return_reversal
wireinternational_incoming_reversal
wireinternational_outgoing
wireinternational_outgoing_return
wireinternational_outgoing_return_reversal
wireinternational_outgoing_reversal

The Transaction Life-cycle

While specific details may differ slightly across different payment networks, most payments follow the same basic flow:

  1. A hold is placed on an account for the requested amount. This is represented in the system as a pending transaction.
  2. Synctera performs various account status, KYC, and fraud checks. If any of these checks fail, the pending transaction is declined.
  3. The amount of the hold may be increased or decreased. This is mainly seen in the context of a card transaction. For example if you are at a gas station authorize $100 at the pump, but only end up filling up $50 worth.
  4. At some point later the pending transaction either expires, is cancelled, or settles. When settled, this is represented as a new posted transaction.

Depending on the type of payment, the time between steps (1) and (3) may be anywhere from a few seconds, to several days (in the case of ACH payments).

Each time a transaction changes state, a webhook will be triggered. The exact events are described below:

ScenarioWebhook event(s)Notes
A hold is placed on an accountTRANSACTION.PENDING.CREATED
Hold amount is increased or decreasedTRANSACTION.PENDING.UPDATEDFinal amount is reflected in total_amount.
Fraud service declines transactionTRANSACTION.PENDING.UPDATEDstatus field changes from PENDING to DECLINED to DECLINED. Additional risk data may be placed in user_data.
Fraud service accepts transactionTRANSACTION.PENDING.UPDATEDAdditional risk data may be placed in user_data.
Transaction expiresTRANSACTION.PENDING.UPDATEDstatus field changes from PENDING to EXPIRED.
Transaction is posted to accountTRANSACTION.PENDING.UPDATED, TRANSACTION.POSTED.CREATEDPending transaction status changes from PENDING to POSTED. A new "posted" transaction is created.

Transaction History

Synctera provides 2 endpoints for viewing transactions:

  1. List pending transactions retrieves all "pending" or
    "unsettled" transaction within a given time period
  2. List posted transactions returns all "posted" or "settled"
    transactions within a given time period

You can also take advantage of the TRANSACTION Webhook) events to build your own transaction feed tailored to your specific use case.