Initiate a transaction once a valid PIN is provided
This commit is contained in:
parent
6e0ea07cde
commit
7b33f2f644
@ -101,6 +101,7 @@ func main() {
|
|||||||
rfs.AddLocalFunc("reset_transaction_amount", ussdHandlers.ResetTransactionAmount)
|
rfs.AddLocalFunc("reset_transaction_amount", ussdHandlers.ResetTransactionAmount)
|
||||||
rfs.AddLocalFunc("get_recipient", ussdHandlers.GetRecipient)
|
rfs.AddLocalFunc("get_recipient", ussdHandlers.GetRecipient)
|
||||||
rfs.AddLocalFunc("get_sender", ussdHandlers.GetSender)
|
rfs.AddLocalFunc("get_sender", ussdHandlers.GetSender)
|
||||||
|
rfs.AddLocalFunc("get_amount", ussdHandlers.GetAmount)
|
||||||
rfs.AddLocalFunc("reset_incorrect", ussdHandlers.ResetIncorrectPin)
|
rfs.AddLocalFunc("reset_incorrect", ussdHandlers.ResetIncorrectPin)
|
||||||
rfs.AddLocalFunc("save_firstname", ussdHandlers.SaveFirstname)
|
rfs.AddLocalFunc("save_firstname", ussdHandlers.SaveFirstname)
|
||||||
rfs.AddLocalFunc("save_familyname", ussdHandlers.SaveFamilyname)
|
rfs.AddLocalFunc("save_familyname", ussdHandlers.SaveFamilyname)
|
||||||
@ -115,6 +116,7 @@ func main() {
|
|||||||
rfs.AddLocalFunc("verify_yob", ussdHandlers.VerifyYob)
|
rfs.AddLocalFunc("verify_yob", ussdHandlers.VerifyYob)
|
||||||
rfs.AddLocalFunc("reset_incorrect_date_format", ussdHandlers.ResetIncorrectYob)
|
rfs.AddLocalFunc("reset_incorrect_date_format", ussdHandlers.ResetIncorrectYob)
|
||||||
rfs.AddLocalFunc("set_reset_single_edit", ussdHandlers.SetResetSingleEdit)
|
rfs.AddLocalFunc("set_reset_single_edit", ussdHandlers.SetResetSingleEdit)
|
||||||
|
rfs.AddLocalFunc("initiate_transaction", ussdHandlers.InitiateTransaction)
|
||||||
|
|
||||||
cont, err := en.Init(ctx)
|
cont, err := en.Init(ctx)
|
||||||
en.SetDebugger(engine.NewSimpleDebug(nil))
|
en.SetDebugger(engine.NewSimpleDebug(nil))
|
||||||
|
@ -494,8 +494,9 @@ func (h *Handlers) TransactionReset(ctx context.Context, sym string, input []byt
|
|||||||
return res, err
|
return res, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// reset the recipient
|
// reset the transaction
|
||||||
accountData["Recipient"] = ""
|
accountData["Recipient"] = ""
|
||||||
|
accountData["Amount"] = ""
|
||||||
|
|
||||||
err = h.accountFileHandler.WriteAccountData(accountData)
|
err = h.accountFileHandler.WriteAccountData(accountData)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -662,6 +663,21 @@ func (h *Handlers) GetSender(ctx context.Context, sym string, input []byte) (res
|
|||||||
return res, nil
|
return res, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetAmount retrieves the amount from a JSON data file.
|
||||||
|
func (h *Handlers) GetAmount(ctx context.Context, sym string, input []byte) (resource.Result, error) {
|
||||||
|
res := resource.Result{}
|
||||||
|
|
||||||
|
accountData, err := h.accountFileHandler.ReadAccountData()
|
||||||
|
if err != nil {
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
|
||||||
|
res.Content = accountData["Amount"]
|
||||||
|
|
||||||
|
return res, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
func (h *Handlers) QuitWithBalance(ctx context.Context, sym string, input []byte) (resource.Result, error) {
|
func (h *Handlers) QuitWithBalance(ctx context.Context, sym string, input []byte) (resource.Result, error) {
|
||||||
res := resource.Result{}
|
res := resource.Result{}
|
||||||
|
|
||||||
@ -677,3 +693,13 @@ func (h *Handlers) QuitWithBalance(ctx context.Context, sym string, input []byte
|
|||||||
res.FlagReset = append(res.FlagReset, models.USERFLAG_ACCOUNT_UNLOCKED)
|
res.FlagReset = append(res.FlagReset, models.USERFLAG_ACCOUNT_UNLOCKED)
|
||||||
return res, nil
|
return res, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (h *Handlers) InitiateTransaction(ctx context.Context, sym string, input []byte) (resource.Result, error) {
|
||||||
|
res := resource.Result{}
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
// Use the amount, recipient and sender to call the API and initialize the transaction
|
||||||
|
|
||||||
|
res.FlagReset = append(res.FlagReset, models.USERFLAG_ACCOUNT_UNLOCKED)
|
||||||
|
return res, nil
|
||||||
|
}
|
||||||
|
1
services/registration/transaction_initiated
Normal file
1
services/registration/transaction_initiated
Normal file
@ -0,0 +1 @@
|
|||||||
|
Your request has been sent. {{.get_recipient}} will receive {{.get_amount}} from {{.get_sender}}.
|
12
services/registration/transaction_initiated.vis
Normal file
12
services/registration/transaction_initiated.vis
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
LOAD reset_incorrect 0
|
||||||
|
LOAD get_amount 10
|
||||||
|
MAP get_amount
|
||||||
|
RELOAD get_recipient
|
||||||
|
MAP get_recipient
|
||||||
|
RELOAD get_sender
|
||||||
|
MAP get_sender
|
||||||
|
LOAD initiate_transaction 0
|
||||||
|
RELOAD transaction_reset
|
||||||
|
MOUT quit 9
|
||||||
|
HALT
|
||||||
|
INCMP quit 9
|
1
services/registration/transaction_initiated_swa
Normal file
1
services/registration/transaction_initiated_swa
Normal file
@ -0,0 +1 @@
|
|||||||
|
Ombi lako limetumwa. {{.get_recipient}} atapokea {{.get_amount}} kutoka kwa {{.get_sender}}.
|
@ -6,5 +6,9 @@ MAP get_sender
|
|||||||
MOUT back 0
|
MOUT back 0
|
||||||
MOUT quit 9
|
MOUT quit 9
|
||||||
HALT
|
HALT
|
||||||
|
LOAD unlock_account 1
|
||||||
|
RELOAD unlock_account
|
||||||
|
CATCH incorrect_pin 15 1
|
||||||
INCMP _ 0
|
INCMP _ 0
|
||||||
INCMP quit 9
|
INCMP quit 9
|
||||||
|
MOVE transaction_initiated
|
||||||
|
Loading…
Reference in New Issue
Block a user