Wallet Funding
Last updated
Last updated
{"event":"USER_CATEGORY","data":{"user_reference":"saudiemcode001","mode":"LIVE"}} if (body.event === 'USER_CATEGORY') {
const user = await this.user_repository.FindById(
body.data.user_reference,
[
'-permissions',
'-settings',
'-recovery_keys',
'-contigency_lock_expires',
'-contigency_level',
'-verification_code',
],
);
return {
status: 'success',
message: 'User category sent!',
data: {
user_category: body.data.user_reference,
user,
},
};
}{"event":"CREDIT_TRANSACTION","data":{"user_reference":"saudiemcode001","amount"10,"currency":"sar","transaction_reference":"FIN-DXVb1CpC6jnTXkqJ1682607236","quarantine":false,"mode":"LIVE"}} if (body.event === 'CREDIT_TRANSACTION') {
//! consider crediting your wallet here
const credit_model = {
txn_reference: body.data.txn_reference,
user_reference: body.data.user_reference,
amount: body.data.amount,
currency: body.data.currency,
};
const wallet = await this.wallet_repository.FindByUserId(
credit_model.user_reference,
);
if (!wallet) {
throw new notFoundException(en['wallet-not-found']);
}
await this.finswich_txn_logs_repository.CreateTxnLogs({
txn_reference: credit_model.txn_reference,
amount: credit_model.amount,
currency: credit_model.currency,
user: credit_model.user_reference,
wallet_id: wallet.id,
type: 'incoming',
status: 'success',
});
await this.wallet_repository.IncreaseBalance(
credit_model.user_reference,
credit_model.amount,
);
await this.wallet_repository.UpdateById(
wallet.id,
{},
{ total_incoming: credit_model.amount },
);
return {
status: 'success',
message: en['user-account-credited-success'],
};
} else {
throw badRequestException(en['user-account-credited-failure']);
}