0% found this document useful (0 votes)
16 views11 pages

Rapid Wallet

The document outlines a payment system that utilizes dynamic encryption for secure transactions via NFC cards. It describes the process of encrypting card numbers, creating payment objects, and handling various types of payments, including MRT transactions. The system checks the validity of encrypted strings and processes payments based on user authentication and sufficient funds.

Uploaded by

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

Rapid Wallet

The document outlines a payment system that utilizes dynamic encryption for secure transactions via NFC cards. It describes the process of encrypting card numbers, creating payment objects, and handling various types of payments, including MRT transactions. The system checks the validity of encrypted strings and processes payments based on user authentication and sufficient funds.

Uploaded by

alifnew225
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Rapid

Payment Wallet
Rapid

Pay seemless
MFS
Agent

card

Bus Metro taxi shops delivery


PYTHON SCRIPT
CardNumbr: “IU22853N4T5H89485T”
EncryptionProcess(CardNumber) =>
EncriptedString:
“*@#*@HU#$(*H($*YH$#HDIU#$GI$#YUG@I#@*O#OI$@*YHRF”

NFC Card
Gets Encripted String from NFC card(EncriptedString)=>
Creates Object => data{
Type: “Payment”
Encripted auth id:EncriptedString
Performer: “BRTC-B18”
Amount: “120”
date_string : “120325D, 1204T”
special_data: {0}
}
Sends to server(CreatedObject)=>
wait((if Return === ‘True’{
Display(‘Success’)
})(else{
Display(‘error’) Nfc reader
}))
RecivesTheEncriptedString(EncriptedString)=>
Checks if the EncriptedString is valid and active
Authenticate(EncriptedString)=> if(returns === “true”){
Card_details
initiate_payment_process(Card_details ){
Check_payment_type =>
Procceed_payment(Payment_type, Performer, Card_details.Card, Amount) =>
if (Amount_is_enough){
Innit_payment()
}else{
decline_payment()
}
} NODEServer
}
Types of payment

Payment req MRT (Metro)

data{ data{
Type: “Payment” Type: “MRT”
Encripted auth id: “12OE8954GBITG38U0” Encripted auth id: “12OE8954GBITG38U0”
Performer: “BRTC-B18” Performer: “MRTD-L1”
Amount: “120” Amount: null
date_string : “120325D, 1204T” date_string : “120325D, 1204T”
special_data: {0} special_data: {B_Station: “L1S6”, D_Station: 0}
} }
Dynamic Encryption (NTAG 424 DNA)

PYTHON SCRIPT
CardNumbr: “IU22853N4T5H89485T”
EncryptionProcess(CardNumber) =>
EncriptedString:
“*@#*@HU#$(*H($*YH$#HDIU#$GI$#YUG@I#@*O#OI$@*YHRF”
HD20HIO3RFI8HURG4UH4GPOWQPO349239-UF4HIO9U34RF48
WE97Y3R49-U NKHU8E3D9U-SNKO9U03290UR48YHUHR4UHR8
RIU3UYRFEFPOIJ839Y54UGI43289GCRBUO2309UE2DHI0R90H9

Generates diffrent Encripted key every


times
data{
Type: “MRT”
Encripted auth id: “12OE8954GBITG38U0”
Performer: “MRTD-L1”
Amount: 0
date_string : “120325D, 1204T”
special_data: {B_Station: “L1S6”, D_Station: 0}
}
if the user is valid then checks the type
if the type is MRT then calls a function to handle MRT Transections

MRT function checks that users Boarding station and Depature station .
if boarding station have value but departure station doesn't have value then
it register this data in database with payment status hold once they exit the station
the device at station sends another request this time the req has departure station
value but no boarding station value. it triggers the MRT function to find the latest hold
payment with type “MRT” in it. after finding the desired row it will perform
transaction
card genarets dynamic encripted key
reciver

Checks if the encripted value is valid or not if


Backend
it is valid it performs the task that requires

You might also like