1 00:00:04,960 --> 00:00:06,840 Hi all. 2 00:00:06,840 --> 00:00:09,280 Hope everyone is doing well. 3 00:00:09,300 --> 00:00:15,700 In this circumstance, we are having a lot of things going in our life. 4 00:00:15,700 --> 00:00:20,500 Apart from that, we are today eager to learn something to grow our knowledge. 5 00:00:20,500 --> 00:00:25,420 I am thankful to Payment Village for giving me this opportunity to deliver this wonderful session. 6 00:00:25,420 --> 00:00:31,960 And we are going to our session, Architecting Modern Payment Gateway in .NET Core with Azure. 7 00:00:31,960 --> 00:00:34,500 Why I took this topic as a concern? 8 00:00:34,500 --> 00:00:36,980 What exactly today we are going to discuss? 9 00:00:36,980 --> 00:00:43,280 Today we are going to discuss about how we are going to architect our payment gateways in .NET Core. 10 00:00:43,280 --> 00:00:45,880 That is, here I am using Stripe. 11 00:00:45,880 --> 00:00:50,140 You can use some other third party tools like Payble, whatever it is. 12 00:00:50,140 --> 00:01:01,840 Wherever we are using the bank credentials, wherever we are using the customer end details, we need to follow the compliance rule so that we can have the security as well as we can prevent from data breach. 13 00:01:01,840 --> 00:01:04,100 That is the main concern of security. 14 00:01:04,100 --> 00:01:09,340 That is the main concern of everyone to make the apps available to user end. 15 00:01:09,340 --> 00:01:14,660 Security is the main thing that makes us important to work with the banking clients. 16 00:01:14,660 --> 00:01:20,840 So , I choose this platform as a basic platform to implement the security. 17 00:01:20,840 --> 00:01:30,080 At first, today as a demo, we are first going to see how exactly our payment gateway is designed in our .NET Core. 18 00:01:30,080 --> 00:01:37,060 Every framework has its own style of doing the payment activities or some other activities. 19 00:01:37,240 --> 00:01:40,740 So, .NET Core has some special architecture. 20 00:01:40,740 --> 00:01:45,360 So, we need to understand the architecture to implement the payment activity. 21 00:01:45,400 --> 00:01:47,980 So, let's go to the next slide. 22 00:01:48,300 --> 00:01:50,240 I want to explain about myself. 23 00:01:50,240 --> 00:01:51,060 Who am I? 24 00:01:51,060 --> 00:01:54,440 So, it may be fit to you to understand the titles. 25 00:01:54,440 --> 00:01:55,300 Very good. 26 00:01:55,300 --> 00:01:57,460 I am Menaka Bhaskar Pillai. 27 00:01:57,460 --> 00:02:01,260 I am working as an associate software engineer at Accenture Digital. 28 00:02:01,260 --> 00:02:08,440 And I am a C-Shop Corner MVP with Azure and .NET certified professional with a blogger and an international speaker. 29 00:02:08,440 --> 00:02:13,620 You can reach out to me via my LinkedIn or Twitter as well as you can drop me mail. 30 00:02:13,620 --> 00:02:14,760 I will keep on checking. 31 00:02:14,760 --> 00:02:19,320 For any doubts and clarification, you can approach me via any of this platform. 32 00:02:19,320 --> 00:02:28,760 So, let's begin our slides of how we are going to explore our architecting the payment gateways in our .NET Core. 33 00:02:29,000 --> 00:02:32,060 So, what we are going to discuss today? 34 00:02:32,060 --> 00:02:38,300 The agenda is the main thing that gives the detail of what we are going to see in further upcoming slides. 35 00:02:38,300 --> 00:02:41,860 Why payment security is important at its peak now? 36 00:02:41,860 --> 00:02:44,620 What are the key features of payment app? 37 00:02:44,620 --> 00:02:47,920 Why we go to .NET Core for payment integration? 38 00:02:47,920 --> 00:02:55,380 Key components in Azure for secure payments, Azure payment processing environments, Azure security capabilities. 39 00:02:55,380 --> 00:02:59,140 You can see two words as common, .NET Core and Azure. 40 00:02:59,140 --> 00:03:03,820 Because as a .NET developer, we guys are not using .NET Framework. 41 00:03:03,820 --> 00:03:07,260 Even it has the upgraded version that is similar to .NET Core. 42 00:03:07,260 --> 00:03:12,640 .NET Core supports each and every OS that starts from Linux to Mac to Windows. 43 00:03:12,640 --> 00:03:15,580 But .NET Framework supports only Windows. 44 00:03:15,580 --> 00:03:21,040 So, that's the main reason we are facing many difficulty to implement the solution via .NET Framework. 45 00:03:21,040 --> 00:03:23,220 So, we are migrating to .NET Core. 46 00:03:23,220 --> 00:03:27,100 And another thing is .NET Core support the open source platform. 47 00:03:27,100 --> 00:03:30,820 So, you can take the code and you can also contribute your code. 48 00:03:30,820 --> 00:03:35,840 So, that's the only reason we are going behind the .NET Core. 49 00:03:35,900 --> 00:03:44,060 Implementing security behind the scenes is very complicated compared to doing with .NET Core and Azure. 50 00:03:44,060 --> 00:03:49,580 As a cloud provider, Azure is growing as a faster and faster in implementing the security. 51 00:03:49,580 --> 00:03:54,920 It have lot of services that been used for securing your application. 52 00:03:55,200 --> 00:04:04,680 For a business need or on the basics of business requirement, you can use any of the service that makes your application secure from each and every point. 53 00:04:04,680 --> 00:04:11,920 Today, we are going to discuss the start and end wherever we can implement Azure in securing your web application. 54 00:04:11,920 --> 00:04:20,040 Before that, we need to understand the architecture of how exactly the payment application can be implemented using the .NET Core. 55 00:04:20,040 --> 00:04:28,820 So, I created a small demo to view you how the architecture of the payment application looks alike. 56 00:04:28,820 --> 00:04:34,900 So, we can see the demo at the middle of the topic where .NET Core comes for the payment integration. 57 00:04:34,900 --> 00:04:37,660 Before that, we can go to our next slide. 58 00:04:38,580 --> 00:04:41,780 Why payment security is important at its peak? 59 00:04:41,780 --> 00:04:53,720 You can see, payment security is the place where the customer is giving his card details for his owner whom he want to pay something. 60 00:04:53,720 --> 00:04:57,380 My card is more valuable as compared to my life. 61 00:04:57,380 --> 00:05:05,960 Any breach in data or any security incompetence that leads to the amount from my card that been disappeared. 62 00:05:05,960 --> 00:05:11,200 And second thing, my entire details and personal and professional details can also be leaked. 63 00:05:11,200 --> 00:05:14,100 That can impact my family circumstance also. 64 00:05:14,100 --> 00:05:21,320 So, implementing security in payment gateway is very major and it's very trendful in today's concern. 65 00:05:21,320 --> 00:05:26,560 Every banking securities are being highly concerned about implementing the security. 66 00:05:26,560 --> 00:05:32,740 So, the usage of mobile payment expected to reach by dollar 503 billion by 2020. 67 00:05:32,740 --> 00:05:46,200 So, what they are telling is, we are not going to the traditional approach of paying something with via our website where it is highly protected environment where we need to log in again and get to method transaction detail. 68 00:05:46,200 --> 00:05:51,700 And again we are giving some detail to encrypt your details that you are the one who belong to that bank. 69 00:05:51,700 --> 00:05:56,580 We are easily accessing everything from our mobile including the payment application. 70 00:05:56,580 --> 00:06:02,640 I am, I can say like Paytm also, other application, everything been integrated with the payments. 71 00:06:02,640 --> 00:06:08,100 So, I am ordering something in Flipkart that takes me directly to my GPay or another wallet. 72 00:06:08,100 --> 00:06:09,940 So, I can add my payment. 73 00:06:09,940 --> 00:06:16,280 So, nothing of the application nowadays they are developing is with payment, without payment is very rare. 74 00:06:16,280 --> 00:06:21,620 So, the concentration of security also booming here to 2025. 75 00:06:22,480 --> 00:06:28,800 In addition 75% of all financial transaction will be cashless by 2025. 76 00:06:28,800 --> 00:06:31,520 You can consider now itself it's a Corona time. 77 00:06:31,520 --> 00:06:34,000 We are having the payment application. 78 00:06:34,000 --> 00:06:36,360 So, we are directly paying without card. 79 00:06:36,360 --> 00:06:42,060 So, what exactly here happening is I don't need to depend on someone or my card to pay my cash. 80 00:06:42,060 --> 00:06:43,960 I can pay by single click. 81 00:06:43,960 --> 00:06:48,660 So, that is the concern that makes the security as important in today's scenario. 82 00:06:50,200 --> 00:06:53,380 What are the key features of payment app? 83 00:06:53,380 --> 00:06:57,240 Okay, I am developing an application that supports my payment. 84 00:06:57,240 --> 00:06:59,720 What are the features I need? 85 00:06:59,720 --> 00:07:04,500 What are the features I need to concern while creating or developing an application? 86 00:07:04,500 --> 00:07:07,740 First thing, I should have the notification pop-up. 87 00:07:07,740 --> 00:07:17,280 Whenever transaction appearing, I need to get notification via my mail, via my SMS, via other things that related to my payment. 88 00:07:17,280 --> 00:07:19,180 So, notification is a primary concern. 89 00:07:19,180 --> 00:07:24,480 So, I can track the amount that been debited or credited. 90 00:07:24,480 --> 00:07:26,100 Billing and invoicing. 91 00:07:26,100 --> 00:07:31,960 Billing and invoicing is a track about how much cash I been deposited, how much cash I been withdrawn. 92 00:07:32,040 --> 00:07:33,780 Transaction history is a history. 93 00:07:33,780 --> 00:07:39,140 So, I can trace this amount, this much amount I been spent, this much amount I been withdrawn. 94 00:07:39,140 --> 00:07:40,820 So, fingerprint security. 95 00:07:40,820 --> 00:07:47,120 This is a main security that need to be implemented in further upcoming apps if it is not been in before application. 96 00:07:47,120 --> 00:07:50,780 So, fingerprint is like a, it is like, it is not similar to everyone. 97 00:07:50,780 --> 00:07:52,900 So, it give the distinct of humans. 98 00:07:52,900 --> 00:07:55,240 So, I can access via my fingerprint. 99 00:07:55,240 --> 00:07:56,720 That is also main thing. 100 00:07:56,780 --> 00:07:58,820 Cryptocurrency is a booming technology. 101 00:07:58,820 --> 00:08:03,440 Without cryptocurrency, we cannot say like my application is secure or not secure. 102 00:08:03,440 --> 00:08:08,020 So, bitcoins and cryptocurrency are leading in securing our application. 103 00:08:08,720 --> 00:08:12,360 So, here comes our main topic. 104 00:08:12,360 --> 00:08:16,060 Why we go to .NET Core for payment integration? 105 00:08:16,060 --> 00:08:20,840 It provides a cloud ready, environmental based configuration system. 106 00:08:20,840 --> 00:08:28,800 So, deploying my application which I designed for payment purpose is very easy if it is a .NET Core application. 107 00:08:28,800 --> 00:08:31,080 Because everything are very customizable. 108 00:08:31,080 --> 00:08:36,240 I don't need to write lot of code to maintain my application or to develop my application. 109 00:08:36,240 --> 00:08:43,880 It is a very lightweight because .NET Core itself a lightweight and it stimulates the high performance with modular HTTP request. 110 00:08:43,880 --> 00:08:48,200 .NET Core as I said before it is easy to maintain as well as update. 111 00:08:48,200 --> 00:08:54,340 As in first slide itself I told why people are migrating even as a .NET developer from framework to .NET Core. 112 00:08:54,340 --> 00:09:01,180 It is very, very easy to support every OS starting from Mac, Linux and Windows. 113 00:09:01,180 --> 00:09:04,860 So, that is for very good to develop something in .NET Core. 114 00:09:04,860 --> 00:09:08,980 So, I don't need to do a code reuse or copy my code to support the other system. 115 00:09:08,980 --> 00:09:10,480 It is a scalable one. 116 00:09:10,480 --> 00:09:14,100 So, I can able to scale my application as per my trends. 117 00:09:14,100 --> 00:09:18,640 Easy to integrate inside and outside as well as on Google Cloud Platform. 118 00:09:18,640 --> 00:09:24,780 Along with other Cloud Platform that using Agilnix or IIS or other supports. 119 00:09:25,100 --> 00:09:35,240 So, let's see here itself a demo how exactly the architecture of the application via .NET Core will be looks like. 120 00:09:35,240 --> 00:09:40,940 So, I am going to my coding session where I implemented a simple application. 121 00:09:40,940 --> 00:09:45,000 That uses the payment third party tool. 122 00:09:45,000 --> 00:09:50,220 So, see this is how my architecture looks like. 123 00:09:50,220 --> 00:09:54,020 I choose .NET Core web MVC. 124 00:09:54,020 --> 00:09:57,340 So, I have my views, model and controller folder. 125 00:09:57,340 --> 00:10:00,820 Startup is the place where my code starts to work. 126 00:10:00,820 --> 00:10:05,400 So, I need to register my middleware, HTTP, every action been performed here. 127 00:10:05,400 --> 00:10:11,560 I am using third party tool called Stripe to integrate my payment in my application. 128 00:10:11,760 --> 00:10:19,220 So , if you are using any tool for integration either it is a Paypal or Stripe or anything. 129 00:10:19,220 --> 00:10:21,460 Just go to the official documentation. 130 00:10:21,460 --> 00:10:24,700 You can get idea how to integrate with your SDK. 131 00:10:24,700 --> 00:10:26,400 It's a Java or .NET Core. 132 00:10:26,400 --> 00:10:28,460 Since I am doing .NET Framework. 133 00:10:28,460 --> 00:10:31,940 I am just converted that to my .NET Core Platform. 134 00:10:31,940 --> 00:10:34,180 So, since I am a .NET developer. 135 00:10:34,180 --> 00:10:38,960 I just use the .NET Core for implementing the payment solutions. 136 00:10:39,620 --> 00:10:44,360 So, what I am doing is for implementing the Stripe. 137 00:10:44,360 --> 00:10:45,940 We need to have two things. 138 00:10:45,940 --> 00:10:48,940 That are the environmental thing that remains constant. 139 00:10:48,940 --> 00:10:53,380 Here I am declaring my environmental variable as in app setting.json. 140 00:10:53,380 --> 00:10:56,700 So, it's easy for me to work on that. 141 00:10:56,700 --> 00:10:59,460 Sorry, here it's app setting development.json. 142 00:10:59,460 --> 00:11:04,060 It holds the two primary things like publishing key and my secret key. 143 00:11:04,060 --> 00:11:08,560 This acts as a main thing while we are doing our transaction. 144 00:11:08,560 --> 00:11:15,160 So, in order to use our keys from the app setting to our controller or model class. 145 00:11:15,160 --> 00:11:19,680 We need to register or we need to consume this value to our startup class. 146 00:11:19,680 --> 00:11:24,040 So, that it may be available to all of our services. 147 00:11:24,040 --> 00:11:26,340 So, what I am doing here is. 148 00:11:26,340 --> 00:11:27,060 I 149 00:11:32,650 --> 00:11:36,990 am just configuring my key here. 150 00:11:37,130 --> 00:11:41,750 So, this is the thing that we, this is a common thing that you need to do. 151 00:11:41,750 --> 00:11:46,470 Like I am getting the value of secret key that is a mandatory step to be done. 152 00:11:46,470 --> 00:11:52,710 So, what I am doing is I already have my class that holds the method of set API key. 153 00:11:52,710 --> 00:11:55,790 This sets the key API from the secret key. 154 00:11:55,790 --> 00:11:59,930 After doing that I need to register my class that going to use. 155 00:11:59,930 --> 00:12:01,530 Because tightly coupled class. 156 00:12:01,530 --> 00:12:04,570 So , I just need to do this by using a class. 157 00:12:04,570 --> 00:12:10,090 So , I just created a data class inside my model folder to use those keys. 158 00:12:10,090 --> 00:12:17,010 So, those both the keys what you declared in app setting.json need to be declared here also with the same name. 159 00:12:17,010 --> 00:12:19,810 So, here I want to bound my values. 160 00:12:19,810 --> 00:12:24,190 So, from the app setting.json which is declared here. 161 00:12:25,590 --> 00:12:28,130 So, I registering my class. 162 00:12:28,130 --> 00:12:31,570 So, I can use my class via injection dependency. 163 00:12:31,770 --> 00:12:34,470 So, configuration dot get section. 164 00:12:34,470 --> 00:12:39,490 So, this get section holds the value of both the publish key as well as the secret key. 165 00:12:39,510 --> 00:12:43,470 Once it is done I need to design my controller. 166 00:12:43,470 --> 00:12:45,570 So, how my values been obtained at. 167 00:12:45,710 --> 00:12:48,610 So, I am going to my controller class. 168 00:12:48,650 --> 00:12:57,230 Here my controller class has the values of charge that been the both the things been originating from the form of stripe. 169 00:12:57,230 --> 00:13:00,430 That I will show while I am running the application. 170 00:13:00,530 --> 00:13:04,070 So, it contain the stripe email as well as the stripe token. 171 00:13:04,130 --> 00:13:07,570 So, from this I am going to create the customer. 172 00:13:07,570 --> 00:13:15,170 I am going to validate my customer like the email of the my email that been I am entering along with the source everything. 173 00:13:15,290 --> 00:13:18,790 After that I am just paying some amount by fixed amount. 174 00:13:19,030 --> 00:13:24,250 So, while the status code is succeeded I am just viewing my transaction is succeed. 175 00:13:24,250 --> 00:13:34,530 So, it is very simple to implement because I just give my end points that is environmental variables in my app setting dot json that is development json. 176 00:13:34,530 --> 00:13:42,070 And after that I am consuming my both of my keys like by using a tightly coupled class that I declared as a data class. 177 00:13:42,070 --> 00:13:48,470 Once after that as I am just doing the action method by consuming from my view. 178 00:13:48,470 --> 00:13:55,450 So , those are my email as well as the token from my view page into my controller. 179 00:13:59,520 --> 00:14:02,420 See here I am just using that. 180 00:14:02,520 --> 00:14:09,260 After that what I am doing I am just creating the transaction by means of what I want to do. 181 00:14:09,260 --> 00:14:15,020 So, I just give the currency value description and everything the charge options I am just creating. 182 00:14:15,020 --> 00:14:16,900 After that I am returning the status code. 183 00:14:16,900 --> 00:14:19,820 Here you can validate whatever the thing you want. 184 00:14:19,820 --> 00:14:22,560 Suppose you want to send some mail you can add those things. 185 00:14:22,560 --> 00:14:26,980 It is a additional thing for the deeper application developer you can add those things also. 186 00:14:26,980 --> 00:14:31,260 But it is not that much important if you going for a test purpose. 187 00:14:31,260 --> 00:14:36,580 For a demo purpose I just want to show you how it works with a third party that is right. 188 00:14:36,680 --> 00:14:41,400 So, I am just running it 189 00:15:05,810 --> 00:15:07,730 takes some time to load. 190 00:15:09,070 --> 00:15:25,230 Yeah, so a simple line of code with very less complication is integrated my payment third party tool with my .net core MVC application. 191 00:15:25,230 --> 00:15:30,130 So, what I am doing is I am just testing I already have one card. 192 00:15:30,130 --> 00:15:32,630 So, I am just paying this. 193 00:15:33,130 --> 00:15:35,970 So, my controller will hit here. 194 00:15:35,970 --> 00:15:46,390 So, you can see from the form it takes the values of email as well as my stripe token. 195 00:15:46,390 --> 00:15:48,200 That is a token that been generated. 196 00:15:48,650 --> 00:15:53,110 Those text box been already designed by stripe we are just consuming. 197 00:15:53,110 --> 00:16:01,090 So, just keep in mind giving the name should be very punctual compared to what exactly in your stripe. 198 00:16:01,870 --> 00:16:08,210 So, after that I am creating the customer service object and a charge object, charge service object. 199 00:16:08,210 --> 00:16:13,530 My customer is creating a new customer using a create operation. 200 00:16:13,810 --> 00:16:15,490 Once again it is loaded. 201 00:16:15,690 --> 00:16:18,430 You can see my customer while I am hoovering. 202 00:16:18,430 --> 00:16:24,670 I have my customer ID and my object and some other detail if you want to give something you can add. 203 00:16:24,670 --> 00:16:26,830 I just given the important things. 204 00:16:26,830 --> 00:16:31,050 After that my charge service. 205 00:16:32,570 --> 00:16:36,630 Here I will have my ID, amount, refunded. 206 00:16:36,630 --> 00:16:39,150 You can add all those things if you want. 207 00:16:39,550 --> 00:16:45,630 If I am going to design a complete application not for a test I just want to give everything. 208 00:16:45,630 --> 00:16:47,830 This is for the charge operations. 209 00:16:47,830 --> 00:16:56,590 What kind of charging you are performing like you are charging based on your USD or INR depends upon your currency value. 210 00:16:56,590 --> 00:16:58,910 So, this is a charge option that you need to be consider. 211 00:16:58,910 --> 00:17:04,610 So, two things you need to consider that is a customer validation that is what we perform before creating the customer. 212 00:17:04,610 --> 00:17:11,070 And you are consuming the value from your firm and by means of that you are creating that charge value. 213 00:17:11,310 --> 00:17:15,310 So, after that the status code. 214 00:17:15,530 --> 00:17:20,730 So, if it is validated I just want to go to the transaction ID. 215 00:17:20,730 --> 00:17:22,670 This is for my display purpose. 216 00:17:22,670 --> 00:17:25,810 If I want to display my transaction ID I can do here. 217 00:17:25,810 --> 00:17:27,850 Or some other email triggering. 218 00:17:27,850 --> 00:17:30,790 Every options can be performed after it is succeeded. 219 00:17:30,790 --> 00:17:33,590 So, I can able to view this. 220 00:17:34,630 --> 00:17:37,130 So, my code succeeded. 221 00:17:37,130 --> 00:17:39,770 So, it is returning to view. 222 00:17:41,310 --> 00:17:42,850 Transaction is succeeded. 223 00:17:42,850 --> 00:17:45,210 Check email to view the receipt. 224 00:17:46,550 --> 00:17:48,630 Okay, it's fine. 225 00:17:48,630 --> 00:17:54,150 This is already the running application that I have already the stored value. 226 00:17:54,150 --> 00:17:56,510 What if I want to do from the scratch? 227 00:17:57,370 --> 00:17:59,850 Where I been written those kind of script? 228 00:17:59,850 --> 00:18:03,310 What I am having in my view page? 229 00:18:03,310 --> 00:18:04,830 So, I will show that also. 230 00:18:04,830 --> 00:18:06,410 It's taking to load. 231 00:18:20,330 --> 00:18:22,210 So, pay with card. 232 00:18:25,760 --> 00:18:29,200 No, I do not want to do for the existing detail. 233 00:18:29,200 --> 00:18:31,420 I want to do some cookie clear out or something. 234 00:18:31,420 --> 00:18:32,520 So, it will clear. 235 00:18:32,520 --> 00:18:37,880 Mostly for banking details we should not use this type of card registering. 236 00:18:37,880 --> 00:18:41,940 Until unless it is necessary we should not have the practice of this. 237 00:18:41,940 --> 00:18:44,980 Just I am going to give something like. 238 00:18:53,380 --> 00:18:57,860 So, for testing purpose this have some test mode. 239 00:19:07,690 --> 00:19:11,630 Take any card number from this for testing purpose. 240 00:19:19,960 --> 00:19:25,120 So, give the year and because expiry date will be future. 241 00:19:25,120 --> 00:19:28,240 So, give something in future dates. 242 00:19:28,240 --> 00:19:30,160 And give any three numbers. 243 00:19:30,160 --> 00:19:31,840 Because it's for testing. 244 00:19:33,100 --> 00:19:34,060 Sorry. 245 00:19:34,840 --> 00:19:37,020 And zip code is location code. 246 00:19:41,030 --> 00:19:42,730 Do you remember me? 247 00:19:42,730 --> 00:19:44,850 And it will ask you a phone number. 248 00:19:45,610 --> 00:19:49,230 You can give your original number or something somewhere. 249 00:19:49,230 --> 00:19:54,450 But don't give the usable number because it will trigger the start message to them. 250 00:19:54,630 --> 00:19:57,410 So, give something that is not existing. 251 00:19:57,570 --> 00:20:00,990 If it is validated only it will show you green tick. 252 00:20:01,170 --> 00:20:03,030 So, it's validated. 253 00:20:03,990 --> 00:20:06,230 So, I can just give continue. 254 00:20:06,930 --> 00:20:10,090 Because I don't need to explore because I already explored that. 255 00:20:11,510 --> 00:20:14,430 So, see the new code also. 256 00:20:14,430 --> 00:20:15,670 Transaction has succeeded. 257 00:20:16,790 --> 00:20:18,830 Check email to view the report. 258 00:20:18,830 --> 00:20:23,370 So, my view page holds all my details. 259 00:20:23,810 --> 00:20:31,010 So, view page will be like you need to add the view from customizable view or from the existing view. 260 00:20:31,010 --> 00:20:35,170 I just use the existing views because I am showing everything in a single page today. 261 00:20:35,230 --> 00:20:37,170 So, this is back. 262 00:20:37,170 --> 00:20:41,430 I just need to add the script of this type along with the other future. 263 00:20:41,430 --> 00:20:44,670 These are the futures that been displayed in your form. 264 00:20:44,670 --> 00:20:53,250 So, if you want to add a zip local code or something you can add here or it is a inbuilt property. 265 00:20:53,250 --> 00:20:59,610 So, you can choose auto property to set in your that you need to add some flavors to your form. 266 00:20:59,610 --> 00:21:01,270 So, those things are customizable. 267 00:21:01,270 --> 00:21:02,970 You can add those things. 268 00:21:02,970 --> 00:21:10,310 That is guys this is how our payment gateway looks like using the integration with the third party tool. 269 00:21:10,310 --> 00:21:15,690 Looks while we are constructing architecting in our .net core. 270 00:21:15,730 --> 00:21:17,670 Do you feel this is secure? 271 00:21:17,670 --> 00:21:23,010 I can develop like this and I can give to my customer and to yeah start doing your payment. 272 00:21:23,010 --> 00:21:25,650 I just do a deployment in my production and give. 273 00:21:25,830 --> 00:21:29,690 No, because this is not at all a secure one. 274 00:21:29,690 --> 00:21:36,770 It is not even having authentication or the any token validation whether the user is existing or not existing. 275 00:21:36,770 --> 00:21:38,890 And my values been already registered. 276 00:21:38,890 --> 00:21:40,070 So, it is not secure. 277 00:21:40,070 --> 00:21:46,030 So, how we are going to implement the security for the same application via Azure? 278 00:21:46,030 --> 00:21:52,670 If you want to implement security for the same application with Azure, we have lot and lot of services. 279 00:21:52,670 --> 00:21:59,790 As I said before based on your requirement based on your need decide what kind of security you want. 280 00:21:59,790 --> 00:22:03,510 How much approach how much you want to deal with your application? 281 00:22:03,510 --> 00:22:06,280 How much compliance your application need to be? 282 00:22:06,280 --> 00:22:14,220 So, we are going to see some of the Azure service that is used to implement the security in your payment application. 283 00:22:14,220 --> 00:22:20,240 And that is very much useful for architecting your application with wide level of security. 284 00:22:20,240 --> 00:22:22,120 So, let us go to our slide. 285 00:22:30,270 --> 00:22:34,610 So, key Azure component to secure your payments. 286 00:22:34,610 --> 00:22:36,710 This is very limited guys. 287 00:22:36,710 --> 00:22:47,350 If you go with Azure's complete services there are lot and lot of security components that can you can use in nook and corners of your application development. 288 00:22:47,350 --> 00:22:55,790 But these are the very basic services that in ready in a normal payment application should needs need to be done. 289 00:22:55,790 --> 00:22:59,910 So, the main thing is like Azure AD application. 290 00:22:59,910 --> 00:23:04,510 I am doing something with my windows authentication that is up to my windows. 291 00:23:04,510 --> 00:23:09,110 I cannot say after I am published to my Azure app service. 292 00:23:09,110 --> 00:23:12,430 I deployed my application and after that I published my application. 293 00:23:12,430 --> 00:23:14,730 I want to deal every user in a cloud. 294 00:23:14,730 --> 00:23:16,990 I can use Azure AD application. 295 00:23:16,990 --> 00:23:20,050 So, that it authenticate the user along with this password. 296 00:23:20,050 --> 00:23:26,730 So, the particular person with the particular knowledge of particular thing he have can able to login. 297 00:23:26,730 --> 00:23:29,250 Even that also provided by the cloud service. 298 00:23:29,250 --> 00:23:32,630 That is quite good because my application is also already in my cloud. 299 00:23:32,630 --> 00:23:35,590 And my application authentication is also in my cloud. 300 00:23:35,590 --> 00:23:40,450 So, this is the first way to secure your application if you are using the payment gateways. 301 00:23:40,450 --> 00:23:42,810 After that Azure key wallets. 302 00:23:43,050 --> 00:23:45,150 Whenever my token is getting originated. 303 00:23:45,150 --> 00:23:47,110 I want somewhere to store my token. 304 00:23:47,110 --> 00:23:49,890 So, I can use my token to secure my application. 305 00:23:49,930 --> 00:23:53,830 I cannot simply store my tokens that been originated in my application somewhere. 306 00:23:53,830 --> 00:23:55,810 So, I can use again reuse again. 307 00:23:55,810 --> 00:23:57,530 So, we can use Azure key wallet. 308 00:23:57,530 --> 00:24:01,150 So, it is a secure platform you can keep everything. 309 00:24:01,150 --> 00:24:04,390 It name itself and its symbol itself have the key symbol. 310 00:24:04,730 --> 00:24:08,570 So, then Azure SQL always encrypted concept. 311 00:24:08,570 --> 00:24:15,430 This is the main concept and main thing that need to be concerned while we are developing from our database end. 312 00:24:15,430 --> 00:24:18,390 Because the encrypted concept is very useful. 313 00:24:18,390 --> 00:24:25,590 While we are doing something as a backup knowledge of the transaction details or another thing we want to track for every application. 314 00:24:25,590 --> 00:24:29,890 So, Azure SQL always encrypted concept is helps a lot. 315 00:24:29,890 --> 00:24:31,770 Azure DDoS production. 316 00:24:32,010 --> 00:24:35,130 This is a recent production that taken into the account. 317 00:24:35,130 --> 00:24:42,810 Because DDoS production plays an important role of security breaches and other security danger and hazardous to your modern web application. 318 00:24:42,810 --> 00:24:53,150 So, these are the 5 main core concept that need to be implemented while you are architecting your modern payment gateway or modern payment with any of the third party tools. 319 00:24:53,150 --> 00:25:02,410 So, next thing is like this is I want to develop application that is completely secured from my back end to front end even from my data storage. 320 00:25:02,410 --> 00:25:04,930 That I need to implement by means of Azure. 321 00:25:04,930 --> 00:25:06,170 How can I do that? 322 00:25:06,170 --> 00:25:07,310 That's the thing. 323 00:25:07,310 --> 00:25:16,270 So, they have every security features that need to be implemented while you are developing your application via Azure. 324 00:25:16,270 --> 00:25:28,610 So, if you are using a database at your back end, just try to use the Azure key valid for protecting your all the necessary key values and everything that is like a tokens or something. 325 00:25:28,610 --> 00:25:34,410 And there is a special thing for you governing your security of an application called Azure Security Center. 326 00:25:34,410 --> 00:25:37,870 And as I told you the encrypt concept there at the SQL. 327 00:25:37,870 --> 00:25:40,170 And Azure Blob storage is highly secured. 328 00:25:40,170 --> 00:25:47,070 So, you can store your blog or any other file oriented data that is a transaction bills or anything in a blob storage. 329 00:25:47,070 --> 00:25:53,610 OMS log analytics used to trace the logs, what are the logs you have been performed from your application level. 330 00:25:53,610 --> 00:25:59,650 So, you can implement the security and application insight specially for monitoring your application. 331 00:25:59,650 --> 00:26:05,050 So, any insecure communication or insecure request been getting into your application. 332 00:26:05,050 --> 00:26:06,750 So, that it will product your application. 333 00:26:07,470 --> 00:26:13,470 After that, coming to the Azure Active Directory and our role-based. 334 00:26:13,470 --> 00:26:16,670 So, role-based authentication is very important. 335 00:26:16,670 --> 00:26:18,970 It is like a role-based access control. 336 00:26:18,970 --> 00:26:23,290 It is like what role exactly and how I can secure my application. 337 00:26:23,290 --> 00:26:25,990 It is similar along with Azure AD also. 338 00:26:25,990 --> 00:26:28,810 We can authenticate the user by AD service also. 339 00:26:28,810 --> 00:26:34,030 Once I am coming to my front end, I am using the load balancer that is a payment gateways. 340 00:26:34,030 --> 00:26:44,310 So, along with my app service environment, I can customize my application by adding my certificate, SSL certificate or other certificate. 341 00:26:44,310 --> 00:26:45,750 So, that is very important. 342 00:26:45,750 --> 00:26:48,850 And main thing is like application gateway. 343 00:26:48,850 --> 00:26:51,610 Application gateway is very important. 344 00:26:51,610 --> 00:26:56,610 Like I can implement by normal third party tool, we have oscillate. 345 00:26:56,610 --> 00:26:59,770 If you are going with cloud, you already have the application gateway. 346 00:26:59,770 --> 00:27:03,030 So, secure your application, balance your load. 347 00:27:03,030 --> 00:27:06,010 Lot of request coming to one server, it is so hard. 348 00:27:06,010 --> 00:27:09,990 So, the application gateway split the loads according to the servers. 349 00:27:09,990 --> 00:27:16,350 So, it act as the direct contact to your client rather than to your API or some other. 350 00:27:16,350 --> 00:27:19,290 So, your client do not need to approach directly. 351 00:27:19,310 --> 00:27:23,990 So, all of these are producted by some of the thing is Azure DNS. 352 00:27:24,130 --> 00:27:27,270 This is a very main concept if you are developing those things. 353 00:27:27,970 --> 00:27:35,470 And along with the middle tier, everything I can be completely wrap up inside my DNS and environment. 354 00:27:35,490 --> 00:27:42,630 So, I will have my storage policies along with other security policies and compliance and certified experts. 355 00:27:42,630 --> 00:27:48,650 So, that makes my application productive if I am architecting my application via Azure services. 356 00:27:48,650 --> 00:27:53,390 So, this is how the exact architecture of your application looks. 357 00:27:53,390 --> 00:27:59,410 If you are implementing a normal .NET core application through your Azure service. 358 00:27:59,410 --> 00:28:03,030 Guys, think after seeing this what you are getting into the knowledge like. 359 00:28:03,030 --> 00:28:07,230 It is very easy and it is very cost conception is very less. 360 00:28:07,230 --> 00:28:09,650 And other security breach also very less. 361 00:28:09,650 --> 00:28:15,350 I will tell in further slide why my other things also like cost conception is less. 362 00:28:15,350 --> 00:28:18,330 As well as why I can say this is a compliance one. 363 00:28:18,330 --> 00:28:22,870 Why I can say believe this I can use this much things inside my application. 364 00:28:22,870 --> 00:28:32,110 So, this is how exactly architecting the modern payment application via .NET core with Azure service looks like. 365 00:28:32,110 --> 00:28:37,730 Use at least some of the services that is very important to your web application. 366 00:28:37,730 --> 00:28:40,750 Where you are implementing the payment application things. 367 00:28:40,750 --> 00:28:43,430 So, not all services you do need to use. 368 00:28:43,430 --> 00:28:48,150 But there are some services you must need to use because of producting your application. 369 00:28:48,150 --> 00:28:50,830 Even though you are not using this cloud service provider. 370 00:28:50,830 --> 00:28:57,950 There is some other cloud service provider also where you need to use some of the things like authentication, load balancing, API gateway. 371 00:28:57,950 --> 00:29:07,790 So, that will act as the productor of your application from malware or another hazardous things from hackers or some things. 372 00:29:08,070 --> 00:29:12,190 So , data residency and boundaries. 373 00:29:12,190 --> 00:29:15,290 Today we are going to discuss this data residency. 374 00:29:15,290 --> 00:29:17,770 Why we need data residency? 375 00:29:17,870 --> 00:29:21,170 Like our data been stored in somewhere. 376 00:29:21,230 --> 00:29:28,290 So, whenever my data been lost I just need to depend on my own data center where I stored all my data. 377 00:29:28,290 --> 00:29:35,310 By using or migrating to cloud it makes me available as a copy or reflect my copy to multiple region. 378 00:29:35,310 --> 00:29:40,930 And it is accomplishing my multiple regions as a single availability zone to multiple availability zone. 379 00:29:40,930 --> 00:29:44,270 So, inside a single region I will have multiple availability zone. 380 00:29:44,270 --> 00:29:47,490 And all the availability zones are interlinked to each other. 381 00:29:47,490 --> 00:29:52,350 And I will have another region that both my regions also interlinked to each other. 382 00:29:52,350 --> 00:30:00,630 So, for accessing my request and approving my request for performing the action I do not need to depend on something a single availability zone. 383 00:30:00,630 --> 00:30:03,790 I can perform everything with my facility perimeters. 384 00:30:03,790 --> 00:30:09,630 So, I can have building entrance inside the building and data center floor. 385 00:30:09,630 --> 00:30:15,870 So, it is very useful while we are designing our web application with lot of security features. 386 00:30:15,870 --> 00:30:21,690 Everything inside a wrap of single thing is very hard to understand and very hard to product the data. 387 00:30:21,690 --> 00:30:26,250 We need to keep our eye open to identify where it is, what it is. 388 00:30:26,250 --> 00:30:30,450 So, just make and just make this things very clear. 389 00:30:30,450 --> 00:30:34,450 Like that is the only reason we are migrating our things to cloud. 390 00:30:34,450 --> 00:30:43,430 It provide lot of availability because data breach and data loss is not possible in cloud as we follow its policy futures. 391 00:30:43,430 --> 00:30:46,470 So, this is one of the important slide to understand. 392 00:30:47,010 --> 00:30:49,690 Azure SQL database security capabilities. 393 00:30:49,690 --> 00:30:55,830 As we discussed in our few further slides like in our older slides I think so. 394 00:30:55,830 --> 00:30:58,450 We see like encryption concept. 395 00:30:58,450 --> 00:31:01,070 By means of this we have the customer data. 396 00:31:01,070 --> 00:31:06,530 And we have the information production, threat production, access management and network security. 397 00:31:06,530 --> 00:31:12,290 Think someone want to access your data need to pause all of the layer to access your data at the center. 398 00:31:12,290 --> 00:31:16,730 That is quite that is even if he breaks the first network security. 399 00:31:16,730 --> 00:31:23,470 He need to meet the access management after the threat production, after that information production to reach your customer data. 400 00:31:23,470 --> 00:31:30,510 So, our how much our data is being producted inside our cloud by using the Azure SQL database security capabilities. 401 00:31:30,510 --> 00:31:37,810 So, if you are working in a DB and it is very good to use DB security capabilities that is Azure security capabilities. 402 00:31:37,810 --> 00:31:41,770 So , that makes our application to work good and secured. 403 00:31:42,290 --> 00:31:44,390 Industry leading Azure security. 404 00:31:44,390 --> 00:31:48,770 We can say why Azure is growing tremendously. 405 00:31:49,490 --> 00:31:53,230 If I am choosing Azure as a service provider for me. 406 00:31:53,230 --> 00:31:59,510 What is the difference of my cloud service with other services? 407 00:31:59,510 --> 00:32:00,450 Why it is? 408 00:32:00,470 --> 00:32:06,390 Because for a banking application or some other application where I am using my e-commerce application. 409 00:32:06,390 --> 00:32:08,370 Where I am using my customer details. 410 00:32:08,370 --> 00:32:13,550 It is not good to go with something which I have no knowledge. 411 00:32:13,550 --> 00:32:16,410 Because data privacy is very important. 412 00:32:16,510 --> 00:32:18,950 So, why I need to go to Azure? 413 00:32:18,950 --> 00:32:22,630 Because the only thing is like it is not a one and only thing. 414 00:32:22,630 --> 00:32:27,970 The main thing is like it they invested nearly 1 billion dollar annually. 415 00:32:27,970 --> 00:32:31,370 So, for implementing the security future. 416 00:32:31,370 --> 00:32:33,630 Not only for Azure security environment. 417 00:32:33,630 --> 00:32:37,850 But for all the services in Azure for implementing the security. 418 00:32:37,850 --> 00:32:42,150 So, each and every services of Azure implements the security. 419 00:32:42,150 --> 00:32:49,250 So, that makes people who works in a normal application to the high end banking application secured in what they are using. 420 00:32:49,250 --> 00:32:52,670 And this is around 3500 security expert. 421 00:32:52,670 --> 00:32:55,930 And it has post a lot of compliance certification. 422 00:32:55,930 --> 00:33:02,150 So, seeing the investment itself we can understand the security experts and the compliance certificate it got. 423 00:33:02,150 --> 00:33:05,090 That makes us to move towards the cloud service provider. 424 00:33:05,090 --> 00:33:12,190 So, we want to work in a secured environment where you need to keep everything in a very good maintained manner. 425 00:33:12,190 --> 00:33:13,370 Well maintained manner. 426 00:33:13,370 --> 00:33:14,870 In a secured manner. 427 00:33:14,890 --> 00:33:24,030 You can start to implement your cloud service provider Azure to all your activity from back end, front end even at the middle tier also. 428 00:33:24,030 --> 00:33:26,870 So, we ended the session. 429 00:33:26,870 --> 00:33:28,610 I hope I made your day. 430 00:33:28,610 --> 00:33:30,510 Like I just delivered my session. 431 00:33:30,510 --> 00:33:31,770 This is a thank you slide. 432 00:33:31,770 --> 00:33:36,030 I want to thank you all and everyone for listening my session. 433 00:33:36,030 --> 00:33:38,050 For any doubts you can ask me. 434 00:33:38,050 --> 00:33:40,130 I am here to clarify your doubt. 435 00:33:40,130 --> 00:33:43,250 If the doubts be not satisfactory. 436 00:33:43,250 --> 00:33:45,170 You want something to get more. 437 00:33:45,170 --> 00:33:47,810 You can approach me again via my social platform. 438 00:33:47,810 --> 00:33:49,090 So, I am available. 439 00:33:49,090 --> 00:33:51,570 So, this is our today's session guys. 440 00:33:51,570 --> 00:33:54,310 Thanks for giving an opportunity to Payment Village.