KEMBAR78
API Mapping Sprint3 | PDF | Exchange Rate | Financial Transaction
0% found this document useful (0 votes)
40 views9 pages

API Mapping Sprint3

The document provides details of APIs to be called for a money transfer application's transaction booking journey, including: 1. APIs to populate dropdowns for countries, currencies, and purposes on the send money page. 2. APIs to calculate exchange rates and amounts based on currency selected. 3. APIs to call when adding a transaction and making an online payment, including required parameters.

Uploaded by

For Test
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views9 pages

API Mapping Sprint3

The document provides details of APIs to be called for a money transfer application's transaction booking journey, including: 1. APIs to populate dropdowns for countries, currencies, and purposes on the send money page. 2. APIs to calculate exchange rates and amounts based on currency selected. 3. APIs to call when adding a transaction and making an online payment, including required parameters.

Uploaded by

For Test
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

Version Date Description Author

1 22-10-2021 Sprint 3 req based on BRD Saurabh

       

       

Contents
Upesi<>Fable Sprint 3:...........................................................................................................................1
Send Money:.........................................................................................................................................1
Exchange Rate calculation:....................................................................................................................2
Get APIs for Countries, Currencies & Purposes:....................................................................................3
Transaction review:...............................................................................................................................6
Transaction Confirmation:.....................................................................................................................8
Failure of Make Payment:......................................................................................................................9

Upesi<>Fable Sprint 3:
 Sprint 3 will cover transaction booking journey which has:
o Send Money page - Exchange rate
o Transaction booking – review and confirmation page

Send Money:

Customer will land on send money page as shown above


1. Receiving country dropdown will be populated by calling.
/api/Utility/GetOperationalCountries
2. Simultaneously /api/Utility/GetAvailableCurrencies/{countryId} will be called to get the FCY
of the country selected
3. Local currency will always be KES
4. Payment option will always be mPesa
5. Send To dropdown will be populated by: /api/Beneficiary/GetBeneficiaries
6. Amount Dropdown will have KES and FCY which was received from Get Available Currencies
7. Purpose of sending dropdown will be populated by:
/api/Transaction/GetPurposeofRemittance

Exchange Rate calculation:


1. When customer enters the value in amount parameter call the following API based on the
currency type selected
2. If LCY is selected and amount is entered, then call: /api/Transaction/GetSenderAmount
3. If FCY is selected and amount is entered, then call: /api/Transaction/GetReceiverAmount
4. Populate Total amount field based on LCY response field: receiverAmount
5. Populate Fees with: fees
6. Populate Exchange Rate field from response: exchangeRate
7. Populate Receiving amount field based on FCY response field: receiverAmount

API:

/api/Transaction/GetReceiverAmount - if FCY is entered


{
"fromCountryID": 0,
"fromCurrencyID": 0,
"toCountryID": 0,
"toCurrencyID": 0,
"serviceTypeID": 0,
"amount": 0
}
res:
{
"sendAmount": 0,
"fees": 0,
"exciseDutyRate": 0,
"exciseDutyAmount": 0,
"exchangeRate": 0,
"recieverAmount": 0
}

/api/Transaction/GetSenderAmount - if LCY is entered


req:
{
"fromCountryID": 0,
"fromCurrencyID": 0,
"toCountryID": 0,
"toCurrencyID": 0,
"serviceTypeID": 0,
"amount": 0
}

res:
{
"sendAmount": 0,
"fees": 0,
"exciseDutyRate": 0,
"exciseDutyAmount": 0,
"exchangeRate": 0,
"recieverAmount": 0
}

Get APIs for Countries, Currencies & Purposes:


/api/Utility/GetOperationalCountries
req: no params

res:
[
{
"name": "string",
"capital": "string",
"code": "string",
"currencyID": 0,
"id": 0,
"createdOnStr": "string",
"createdAtStr": "string",
"createdOn": "2021-10-22T06:46:48.944Z",
"createdBy": "string",
"updatedBy": "string",
"approvedBy": "string",
"updatedOn": "2021-10-22T06:46:48.945Z",
"approvedOn": "2021-10-
22T06:46:48.945Z",
"active": true,
"hasError": true,
"errorMessage": "string",
"paginationInfo": {
"currentPage": 0,
"pageSize": 0,
"total": 0,
"nextPageText": "string",
"prevPageText": "string",
"text": "string"
}
}
]

/api/Utility/GetAvailableCurrencies/
{countryId}
req:
countryId

res:
[
{
"name": "string",
"code": "string",
"symbol": "string",
"nameCode": "string",
"id": 0,
"createdOnStr": "string",
"createdAtStr": "string",
"createdOn": "2021-10-22T06:49:03.931Z",
"createdBy": "string",
"updatedBy": "string",
"approvedBy": "string",
"updatedOn": "2021-10-22T06:49:03.931Z",
"approvedOn": "2021-10-
22T06:49:03.931Z",
"active": true,
"hasError": true,
"errorMessage": "string",
"paginationInfo": {
"currentPage": 0,
"pageSize": 0,
"total": 0,
"nextPageText": "string",
"prevPageText": "string",
"text": "string"
}
}
]

/api/Transaction/GetPurposeofRemittance

req: No params
res:
{
"items": [
{
"name": "string",
"description": "string",
"systemCategoryContext": "string",
"systemCategoryType": "string",
"id": 0,
"createdOnStr": "string",
"createdAtStr": "string",
"createdOn": "2021-10-
22T06:55:21.427Z",
"createdBy": "string",
"updatedBy": "string",
"approvedBy": "string",
"updatedOn": "2021-10-
22T06:55:21.427Z",
"approvedOn": "2021-10-
22T06:55:21.427Z",
"active": true,
"hasError": true,
"errorMessage": "string",
"paginationInfo": {
"currentPage": 0,
"pageSize": 0,
"total": 0,
"nextPageText": "string",
"prevPageText": "string",
"text": "string"
}
}
],
"paginationInfo": {
"currentPage": 0,
"pageSize": 0,
"total": 0,
"nextPageText": "string",
"prevPageText": "string",
"text": "string"
}
}
Transaction review:

Customer will land on transaction review page after adding/selecting a bene and completing KYC.

Customer will enter their mPesa mobile number and submit.

API to call:

1. /api/Transaction/AddCustomerTransaction
2. /api/Transaction/MakeOnlinePayment

/api/Transaction/AddCustomerTransaction  Values to send


req:  
{  
"transactionReferenceNumber": "string", blank
"documentUploadID": 0, 0
"sourceofFundID": 0, 0
"purposeofRemittance": "string", Family Maintainence
"beneficiaryID": 0, Id of bene selected
"principalID": 0, 0
"serviceTypeID": 0, 0
Bank ID received for the beneficiary(only for bank
"beneficiaryBankDetailID": 0, bene)
"beneficiaryLocationID": 0, 0
"beneficiaryMobileWalletDetailID": 0, 0
"fromCountryID": 0, Upesi to confirm
"fromCurrencyID": 0, Upesi to confirm
"toCountryID": 0, To country ID received from operational countries
"toCurrencyID": 0, To currency ID received from available curriences
"amount": 0, Upesi to confirm
"city": "string", Null
"state": "string", Null
"address": "string", Null
"id": 0, 1-bank, 2-cash pickup, 3-Wallet
"createdOn": "2021-10-22T07:05:35.935Z",  
"createdBy": "string",  
"updatedBy": "string",  
"approvedBy": "string",  
"updatedOn": "2021-10-22T07:05:35.935Z",  
"approvedOn": "2021-10-
22T07:05:35.935Z",  
"active": true,  
"errorMessage": "string",  
"paginationInfo": {  
"currentPage": 0,  
"pageSize": 0,  
"total": 0,  
"nextPageText": "string",  
"prevPageText": "string"  
}  
}  
res:  
{  
"transactionReferenceNumber": "string",  
"documentUploadID": 0,  
"sourceofFundID": 0,  
"purposeofRemittance": "string",  
"beneficiaryID": 0,  
"principalID": 0,  
"serviceTypeID": 0,  
"beneficiaryBankDetailID": 0,  
"beneficiaryLocationID": 0,  
"beneficiaryMobileWalletDetailID": 0,  
"fromCountryID": 0,  
"fromCurrencyID": 0,  
"toCountryID": 0,  
"toCurrencyID": 0,  
"amount": 0,  
"city": "string",  
"state": "string",  
"address": "string",  
"id": 0,  
"createdOnStr": "string",  
"createdAtStr": "string",  
"createdOn": "2021-10-22T07:06:33.423Z",  
"createdBy": "string",  
"updatedBy": "string",  
"approvedBy": "string",  
"updatedOn": "2021-10-22T07:06:33.423Z",  
"approvedOn": "2021-10-
22T07:06:33.423Z",  
"active": true,  
"hasError": true,  
"errorMessage": "string",  
"paginationInfo": {  
"currentPage": 0,  
"pageSize": 0,  
"total": 0,  
"nextPageText": "string",  
"prevPageText": "string",  
"text": "string"  
}  
}  

/api/Transaction/
MakeOnlinePayment Values
req:  
{  
Reference number received in previous
"transactionID": 0, API
"msisdn": "string", Sender Mobile number
"mpesaCode": "string" blank
}  
   
res:  
success code 200  
string  

Transaction Confirmation:

Display the reference number in Upesi transaction no.


Failure of Make Payment:
In case the MakeOnlinePayment fails due to any reason the transaction will be displayed on status
tracker and dashboard with a CTA to make the payment.

System will call API to get transactions

When the customer clicks on Make payment a popup will open to enter the mobile number.

Once the mobile is entered and submitted system will call MakeOnlinePayment API if the action is
taken within 24 hours.

If the action is taken after 24 hours then first call

getSenderAmount where we send the receiving amount in request.

After getting the revised amount call the MakeOnlinePayment.

You might also like