A card transaction is defined as a transaction that occurs on a customer issued card.
/transactions
resource - see API reference for details.
transaction.pending.created
topic with initial status PENDING
.
Synctera then makes a determination on whether to approve or decline the funding request. See declined transactions for more details.
While evaluating the funding request, the Pending Transaction may be updated with supplemental data gathered during the process. A transaction.pending.upated
webhook is published when the transaction is updated. For example, enhanced transaction information may be added.
transaction.pending.updated
when Pending Transaction status is changed to CLEARED
. Second, transaction.posted.created
when the Posted Transaction is created.
DECLINED
. In most cases, a transaction.pending.updated
will be issued to signal change of status. However, in the case of network declination, there will only be a transaction.pending.created
webhook with initial status of DECLINED
.
The data.reason
field of the Pending Transaction body contains the reason for why the transaction was declined. Below is a list of reasons and their sources:
Customer/account standing:
NO_CHECKING_ACCOUNT
NO_SAVINGS_ACCOUNT
NO_CREDIT_ACCOUNT
CLOSED_ACCOUNT
SUSPECTED_FRAUD
INSUFFICIENT_FUNDS
DISABLED_PAYMENT_TYPE
BALANCE_VIOLATION
DUPLICATE_TRANSACTION
SPEND_CONTROL_VIOLATED
(see Spend Controls)NETWORK_DECLINED
data.user_data.network_decline_details
of the Pending Transaction body.GATEWAY_DECLINED
GATEWAY_ERROR
ADDRESS_VERIFICATION_FAILED
TRANSACTION_NOT_PERMITTED
/cards/transaction_simulations
path - see API reference for details. These endpoints can only be used in the Synctera Sandbox environment.
This guide will explain how to simulate a selection of typical transaction scenarios.
card_acceptor
object, which contains merchant information:
mcc
(MCC - Merchant Category Code) field is a universal code assigned to merchants for the purpose of classifying the type of goods and services they provide.
In addition, the top level mid
(MID - Merchant Identification Number) field is sometimes required. This is a unique identifier assigned to all merchants that process card transactions.
For simulations, the content used for card_acceptor
and mid
is not neccesarily important. However, merchant information is often crucial for FinTech in the Auth Flow.
card_id
, along with the authorization amount
. This will generate an authorization (funding request), which applies a hold for the given amount of money and creates a Pending Transaction. On a successful call, a transaction token
is generated. The token
is needed for clearing.
Next, call Simulate clearing or refund with the same amount
as was used in the authorization and original_transaction_id
set to the authorization transaction token
.
token
.
Next, issue an authorization advice with Simulate authorization advice, providing the new amount
and original_transaction_id
(token
).
Finally, issue the clearing with Simulate clearing or refund, using the final amount
from the authorization advice and original_transaction_id
set to the transaction token
from the original authorization response.
amount
and original_transaction_id
set authorization transaction token
for original_transaction_id
.
Likewise, to simulate a refund, a cleared transaction must already exist. To issue the refund, call Simulate clearing or refund, providing the final amount
from the clearing and the original authorization transaction token
for original_transaction_id
.
amount
and card_id
must be provided.amount
and card_id
must be provided.data.user_data
object. For the most part, this information is limited and often inconsistently formatted.
If desired, a card product can be configured with a supported third party provider to add enhanced metadata to each transaction. Synctera’s current supported enhanced transaction provider is MX.
For example, given the following network provided merchant name and MCC (merchant category code):
data.user_data.enhanced_transaction
object. enhanced_raw
contains the complete set of data received from the enhanced transaction provider.
200
: approve the funding request402
: decline the funding request402
is conventional, any code other than 200
will also be interpreted as a decline.
active
status is set to true
by default. Gateways may be turned off by setting this field false
.
Note that a Card Product may not be configured on more than one active Gateway at a time.