Business Process
BusinessProcess
is any process that can cause balance change of Coin
. It’s main purpose is grouping Transaction
s by business function they perform. For example, GateProcess
can have up to 8 Transaction
s: several funds holds, accounting transfers, hold captures etc. So to show transaction history for a user we need to group them into a “container” which is our BusinessProcess
. BusinessProcess
class is defined as abstract to force developer to specify related business information in each implementation. JPA inheritance strategy is JOINED
, so each subclass must have it’s own table and therefore migration for it.
Business Process Classes
Process Type |
Purpose |
Comments |
---|---|---|
BankProcess |
Business process for top up or withdrawal via bank. |
|
CardAttachmentProcess |
Business process of Payment Card verification. |
|
CardRefundProcess |
Returning funds to customer after they performed “processed” card payment. |
|
CashDeskProcess |
Process of manipulations with client coin via cash desk. Possible manipulations are: charge, redeem. |
|
CashbackPaymentProcess |
Payment for an invoice created by a merchant. |
|
ClientTransactionProcess |
Transaction between two coins. Possible operations are: transfer between two client coins, splitting one client coin into two, merge two client coins into one, issue of a client coin, checking balance of a client coin, withdrawal from a client coin, issuing a prepaid coin or transfer from client’s coin to a prepaid coin, transfer from a prepaid coin to a client coin. |
|
ContractTransitProcess |
Payment for a new contract settings. |
|
DepositProcess |
Operation, occurred with deposit coin: deposit top-up, payment of a profit form deposit, capitalization of profits, accruing deposit, paying out a deposit. |
|
ExchangeProcess |
Exchange process between coins. |
|
ExchangeReserveProcess |
Business process for top up or withdrawal exchange reserve wallet via bank. |
|
TopUpExchangeProcess* |
Process specifies top up part of an exchange process |
*deprecated in V4.17.0 new process: ExchangeProcess |
WithdrawExchangeProcess* |
Process specifies withdraw part of an exchange process. |
*deprecated in V4.17.0 new process: ExchangeProcess |
GateProcess |
Manipulation with a coin via gate: top-up, withdrawal, product purchase. |
|
MerchantBaseProcess |
|
|
MerchantInvoiceProcess |
Customer pays for the invoice from merchant. |
|
MerchantPaymentProcess |
Customer pays for merchant’s product. |
|
SystemCashProcess |
|
|
CashReserveProcess |
Transfer of cash or securities from cash desk or provider account coin to reserve coin and vice versa. |
|
InvestmentProcess |
Input of cash or securities into the system to cash desk or provider account coin. |
|
Business Process Types
businessProcess class |
businessProcess. businessProcessType |
UI field name (filter “Types”) |
businessProcessType |
---|---|---|---|
GateProcess |
gate_redeem |
Withdrawal via provider |
withdrawal from client coin through gate provider |
ClientTransactionProcess |
client_transaction_transfer |
Transfer |
transfer from one client coin to another (from client1 coin to client2 coin) |
ClientTransactionProcess |
client_transaction_issue |
Account creation |
creation a new client coin (transaction with amount = 0) |
ClientTransactionProcess |
client_create_prepaid |
Voucher creation |
voucher creation from client coin |
ClientTransactionProcess |
client_charge_prepaid |
Voucher activation |
payment of voucher amount to client coin |
MerchantPaymentProcess |
merchant_payment |
Merchant payment |
payment for merchant goods and services to merchant coin |
MerchantInvoiceProcess |
merchant_invoice |
Invoice |
the payment for the invoice that was created by merchant. |
GateProcess |
gate_charge |
Top up via provider |
top up of client coin through gate provider |
GateProcess |
gate_purchase |
Purchase via provider |
product purchase using client coin |
GateProcess |
gate_issue_card |
Issue Card |
issue card using client coin |
ExchangeProcess |
exchange_transaction |
Currency exchange |
currency exchange operation |
ExchangeReserveProcess |
exchange_reserve_top_up |
Top up Exchange reserve |
top up of exchange reserve coin from bank account |
ExchangeReserveProcess |
exchange_reserve_withdraw |
Withdraw Exchange reserve |
withdraw from exchange reserve coin to bank account |
CashDeskProcess |
cash_desk_redeem |
Withdrawal via cash desk |
withdrawal from client coin through cash desk |
CashDeskProcess |
cash_desk_charge |
Top up via cash desk |
top up of client through cash desk |
InvestmentProcess |
cash_investment |
Provider/cash desk account top up |
investment money to cash desk |
CashReserveProcess |
cash_collect |
Cash collect |
money movement between cash desks (collect money) |
CashReserveProcess |
cash_input |
Cash input |
money movement between cash desks (input money) |
ContractTransitProcess |
contract_transit |
Contract change fee |
|
BankProcess |
bank_topup |
Topup via bank |
top up of client coin from bank account |
BankProcess |
bank_redeem |
Withdrawal via bank |
withdrawal from client coin to bank account |
Business Process Statuses
BusinessProcessStatus
reflects step in BusinessProcess
flow.
Business process is created in either pending
or limited
statuses and transits to declined
, rejected
, error
or processed
, waiting_for_approval
statuses.
See more details about limited operations management
Status |
Meaning |
Comments |
---|---|---|
limited |
Process was restricted by limit profile and need to be approved |
|
pending |
Process was created and is waiting for processing or declining |
|
declined |
Pending process was declined |
|
processed |
Pending process has been processed |
|
error |
Error occurred while processing. |
|
rejected |
Limited process has been rejected by anti-fraud |
|
waiting_for_approval |
Process was created and is waiting for approval by Compliance or Administrator |
|
Business Process Flow
Status |
Can transit to |
Transition Reason |
---|---|---|
pending |
processed |
Pending process was completed successfully. |
|
declined |
Pending process was declined because of some decision. For example, when accountant decides to decline request to withdraw funds via cash desk. |
|
error |
Pending process failed due to some internal exception. |
limited |
processed |
Limited process, which was approved by anti-fraud specialist, was completed successfully. |
|
rejected |
Limited process was rejected by anti-fraud specialist. |
|
pending |
Limited process, which was approved by anti-fraud specialist, was requested to process again. |
|
error |
Limited process failed due to some internal exception. |
waiting_for_approval |
pending |
Process which was approved by anti-fraud specialist, was requested to process again |
|
declined |
Process which was waiting for approval declined because of some decision. For example, when Compliance decides to decline a request to issue a card via 3rd party provider. |
|
error |
Process failed due to some internal exception. |