Ths page provides a look into how the functionality of airtime load should work in SaFi system.

Process Flow - Initial Request:

Process Flow - Product Data synchronization:

Execution Steps (happy path):

  1. User selects Airtime load option from the main dashboard

  2. User selects the provider from shown list and inputs phone number

  3. User selects the product of the selected provider

  4. Validate transactions details

  5. Get user/account details

  6. Run fraud check

  7. Save the transaction with the fraud check details

  8. Reserve money needed from user in thoughmachine

  9. Send request to Paynamics

  10. Process the response from paynamics

  11. Update transaction

  12. Update account balance

  13. Notify user of the result

Execution Steps (data synchronization):

  1. Scheduler will initiate merchant manager to synchronize its product data with paynamics in specified interval(up to discussion)

  2. Merchant manager queries paynamics gateway to return the list of products for airtime load

  3. Paynamics gateway retrieves the full list from paynamics(currently it is 813 products and the response has max of 500 returned)

  4. Merchant manager updates it db with the current codes, descriptions and amount that it received from paynamics-gateway

    1. Currently we did not intend to implement the SKU E-PIN codes, which we can either filter out in this step or we can already include them as it is no extra work to include them with this solution.

Attachments:

top-up-via-bank-transfer.drawio-989ae41c8a0008cbb230f524aa360ff8428b2d9b.png (image/png)
top-up-via-bank-transfer.drawio.png (image/png)
top-up-via-bank-transfer.drawio (application/vnd.jgraph.mxfile)
~top-up-via-bank-transfer.drawio.tmp (application/vnd.jgraph.mxfile)
SaFi Transaction - EWallet Cash In-Initial Request.png (image/png)
SaFi Transaction - EWallet Cash In.drawio (application/vnd.jgraph.mxfile)
SaFi Transaction - EWallet Cash In.drawio.png (image/png)
SaFi Transaction - EWallet Cash In.drawio-78f37b0e49517886f4360ca1556dccc95aa2ddfa.png (image/png)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~drawio~5b8c00ead5f27c2c1933be2f~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
airtime_load_tech_analysis.drawio (application/vnd.jgraph.mxfile)
airtime_load_tech_analysis.drawio.png (image/png)
airtime_load_tech_analysis.drawio-f6345f495b7b64c344078de1dcd41afa7cf7ff72.png (image/png)
~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
airtime_load_tech_analysis.drawio (application/vnd.jgraph.mxfile)
airtime_load_tech_analysis.drawio.png (image/png)
~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
~airtime_load_tech_analysis.drawio.tmp (application/vnd.jgraph.mxfile)
airtime_load_tech_analysis.drawio (application/vnd.jgraph.mxfile)
airtime_load_tech_analysis.drawio.png (image/png)
airtime_load_tech_analysis.drawio-ea0f70126094ea075b5ee177c41198baa387d3f4.png (image/png)