{"id":2004,"date":"2025-01-13T18:05:10","date_gmt":"2025-01-13T18:05:10","guid":{"rendered":"https:\/\/www.devopsconsulting.in\/blog\/?p=2004"},"modified":"2025-01-13T18:05:13","modified_gmt":"2025-01-13T18:05:13","slug":"unified-payment-confirmation-flow","status":"publish","type":"post","link":"https:\/\/www.devopsconsulting.in\/blog\/unified-payment-confirmation-flow\/","title":{"rendered":"Unified Payment Confirmation Flow"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Combining both flows allows for a comprehensive payment confirmation system where users can submit screenshots of payments to vendors, and both vendors and admins have roles in reviewing and approving\/rejecting payments. Here&#8217;s how to design and implement the system:<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Unified Payment Confirmation Flow<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Overview<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>User submits payment proof:<\/strong> Users upload payment screenshots along with payment details.<\/li>\n\n\n\n<li><strong>Vendor reviews payments:<\/strong> Vendors review payments made to them and approve\/reject the payments.<\/li>\n\n\n\n<li><strong>Admin oversight (optional):<\/strong> Admins can view all payments and override vendor decisions if necessary.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Database Setup<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Create a <code>payments<\/code> table that associates payments with users, vendors, and tracks the approval status.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Migration for <code>payments<\/code> Table:<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>php artisan make:migration create_payments_table\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Migration Code:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Schema::create('payments', function (Blueprint $table) {\n    $table-&gt;id();\n    $table-&gt;unsignedBigInteger('user_id'); \/\/ User who made the payment\n    $table-&gt;unsignedBigInteger('vendor_id'); \/\/ Vendor receiving the payment\n    $table-&gt;string('transaction_id')-&gt;nullable();\n    $table-&gt;string('payment_method')-&gt;nullable();\n    $table-&gt;string('screenshot_path'); \/\/ Screenshot of payment\n    $table-&gt;string('status')-&gt;default('pending'); \/\/ pending, approved, rejected\n    $table-&gt;unsignedBigInteger('approved_by')-&gt;nullable(); \/\/ Admin or vendor who approved\n    $table-&gt;timestamps();\n});\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Run the migration:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>php artisan migrate\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Models<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Payment Model:<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Add relationships for users, vendors, and approvers.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>namespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass Payment extends Model\n{\n    protected $fillable = &#91;\n        'user_id',\n        'vendor_id',\n        'transaction_id',\n        'payment_method',\n        'screenshot_path',\n        'status',\n        'approved_by',\n    ];\n\n    public function user()\n    {\n        return $this-&gt;belongsTo(User::class);\n    }\n\n    public function vendor()\n    {\n        return $this-&gt;belongsTo(User::class, 'vendor_id');\n    }\n\n    public function approver()\n    {\n        return $this-&gt;belongsTo(User::class, 'approved_by');\n    }\n}\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. User Payment Submission<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Payment Form Blade Template (<code>resources\/views\/payment.blade.php<\/code>):<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;form method=\"POST\" action=\"{{ route('payment.store') }}\" enctype=\"multipart\/form-data\"&gt;\n    @csrf\n    &lt;div&gt;\n        &lt;label for=\"vendor\"&gt;Select Vendor:&lt;\/label&gt;\n        &lt;select id=\"vendor\" name=\"vendor_id\" required&gt;\n            @foreach($vendors as $vendor)\n                &lt;option value=\"{{ $vendor-&gt;id }}\"&gt;{{ $vendor-&gt;name }}&lt;\/option&gt;\n            @endforeach\n        &lt;\/select&gt;\n    &lt;\/div&gt;\n    &lt;div&gt;\n        &lt;label for=\"transaction_id\"&gt;Transaction ID (optional):&lt;\/label&gt;\n        &lt;input type=\"text\" id=\"transaction_id\" name=\"transaction_id\"&gt;\n    &lt;\/div&gt;\n    &lt;div&gt;\n        &lt;label for=\"payment_method\"&gt;Payment Method:&lt;\/label&gt;\n        &lt;select id=\"payment_method\" name=\"payment_method\" required&gt;\n            &lt;option value=\"bank_transfer\"&gt;Bank Transfer&lt;\/option&gt;\n            &lt;option value=\"upi\"&gt;UPI&lt;\/option&gt;\n            &lt;option value=\"other\"&gt;Other&lt;\/option&gt;\n        &lt;\/select&gt;\n    &lt;\/div&gt;\n    &lt;div&gt;\n        &lt;label for=\"screenshot\"&gt;Upload Screenshot:&lt;\/label&gt;\n        &lt;input type=\"file\" id=\"screenshot\" name=\"screenshot\" accept=\"image\/*\" required&gt;\n    &lt;\/div&gt;\n    &lt;button type=\"submit\"&gt;Submit Payment&lt;\/button&gt;\n&lt;\/form&gt;\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">Payment Submission Controller:<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>namespace App\\Http\\Controllers;\n\nuse App\\Models\\Payment;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Auth;\nuse Illuminate\\Support\\Facades\\Storage;\n\nclass PaymentController extends Controller\n{\n    public function store(Request $request)\n    {\n        $request-&gt;validate(&#91;\n            'vendor_id' =&gt; 'required|exists:users,id',\n            'payment_method' =&gt; 'required|string',\n            'screenshot' =&gt; 'required|image|max:2048',\n        ]);\n\n        $screenshotPath = $request-&gt;file('screenshot')-&gt;store('payment_screenshots', 'public');\n\n        Payment::create(&#91;\n            'user_id' =&gt; Auth::id(),\n            'vendor_id' =&gt; $request-&gt;vendor_id,\n            'transaction_id' =&gt; $request-&gt;transaction_id,\n            'payment_method' =&gt; $request-&gt;payment_method,\n            'screenshot_path' =&gt; $screenshotPath,\n            'status' =&gt; 'pending',\n        ]);\n\n        \/\/ Notify the vendor\n        $vendor = User::find($request-&gt;vendor_id);\n        $vendor-&gt;notify(new PaymentSubmittedNotification(Auth::user()));\n\n        return redirect()-&gt;back()-&gt;with('success', 'Payment submitted successfully.');\n    }\n}\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Vendor Dashboard<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Vendor Payment List Blade (<code>resources\/views\/vendor\/payments.blade.php<\/code>):<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;h1&gt;Payments Received&lt;\/h1&gt;\n&lt;table border=\"1\"&gt;\n    &lt;thead&gt;\n        &lt;tr&gt;\n            &lt;th&gt;User&lt;\/th&gt;\n            &lt;th&gt;Transaction ID&lt;\/th&gt;\n            &lt;th&gt;Payment Method&lt;\/th&gt;\n            &lt;th&gt;Screenshot&lt;\/th&gt;\n            &lt;th&gt;Status&lt;\/th&gt;\n            &lt;th&gt;Actions&lt;\/th&gt;\n        &lt;\/tr&gt;\n    &lt;\/thead&gt;\n    &lt;tbody&gt;\n        @foreach($payments as $payment)\n        &lt;tr&gt;\n            &lt;td&gt;{{ $payment-&gt;user-&gt;name }}&lt;\/td&gt;\n            &lt;td&gt;{{ $payment-&gt;transaction_id }}&lt;\/td&gt;\n            &lt;td&gt;{{ $payment-&gt;payment_method }}&lt;\/td&gt;\n            &lt;td&gt;&lt;a href=\"{{ asset('storage\/' . $payment-&gt;screenshot_path) }}\" target=\"_blank\"&gt;View Screenshot&lt;\/a&gt;&lt;\/td&gt;\n            &lt;td&gt;{{ $payment-&gt;status }}&lt;\/td&gt;\n            &lt;td&gt;\n                &lt;form method=\"POST\" action=\"{{ route('payment.update', $payment-&gt;id) }}\"&gt;\n                    @csrf\n                    @method('PUT')\n                    &lt;button name=\"status\" value=\"approved\"&gt;Approve&lt;\/button&gt;\n                    &lt;button name=\"status\" value=\"rejected\"&gt;Reject&lt;\/button&gt;\n                &lt;\/form&gt;\n            &lt;\/td&gt;\n        &lt;\/tr&gt;\n        @endforeach\n    &lt;\/tbody&gt;\n&lt;\/table&gt;\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">Vendor Controller:<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>namespace App\\Http\\Controllers;\n\nuse App\\Models\\Payment;\nuse Illuminate\\Support\\Facades\\Auth;\n\nclass VendorController extends Controller\n{\n    public function payments()\n    {\n        $payments = Payment::where('vendor_id', Auth::id())-&gt;get();\n\n        return view('vendor.payments', compact('payments'));\n    }\n\n    public function update(Request $request, Payment $payment)\n    {\n        if ($payment-&gt;vendor_id !== Auth::id()) {\n            abort(403, 'Unauthorized action.');\n        }\n\n        $payment-&gt;update(&#91;\n            'status' =&gt; $request-&gt;status,\n            'approved_by' =&gt; Auth::id(),\n        ]);\n\n        return redirect()-&gt;back()-&gt;with('success', 'Payment status updated successfully.');\n    }\n}\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Admin Oversight<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Admins can review all payments and override vendor decisions if necessary.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Admin Dashboard Controller:<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>public function payments()\n{\n    $payments = Payment::all(); \/\/ Retrieve all payments\n    return view('admin.payments', compact('payments'));\n}\n\npublic function update(Request $request, Payment $payment)\n{\n    $payment-&gt;update(&#91;\n        'status' =&gt; $request-&gt;status,\n        'approved_by' =&gt; Auth::id(),\n    ]);\n\n    return redirect()-&gt;back()-&gt;with('success', 'Payment status updated successfully.');\n}\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Final Flow<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>User:<\/strong> Submits payment details and screenshot.<\/li>\n\n\n\n<li><strong>Vendor:<\/strong> Reviews payments made to them and approves\/rejects them.<\/li>\n\n\n\n<li><strong>Admin (Optional):<\/strong> Reviews all payments and overrides decisions if necessary.<\/li>\n\n\n\n<li><strong>Notifications:<\/strong> Users and vendors are notified of status changes.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">This combined flow ensures that both vendors and admins can manage payments efficiently while keeping users informed.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Combining both flows allows for a comprehensive payment confirmation system where users can submit screenshots of payments to vendors, and both vendors and admins have roles in&#8230; <\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2004","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Unified Payment Confirmation Flow - DevOps Consulting<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.devopsconsulting.in\/blog\/unified-payment-confirmation-flow\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Unified Payment Confirmation Flow - DevOps Consulting\" \/>\n<meta property=\"og:description\" content=\"Combining both flows allows for a comprehensive payment confirmation system where users can submit screenshots of payments to vendors, and both vendors and admins have roles in...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.devopsconsulting.in\/blog\/unified-payment-confirmation-flow\/\" \/>\n<meta property=\"og:site_name\" content=\"DevOps Consulting\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-13T18:05:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-13T18:05:13+00:00\" \/>\n<meta name=\"author\" content=\"Abhishek Singh\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Abhishek Singh\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/unified-payment-confirmation-flow\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/unified-payment-confirmation-flow\\\/\"},\"author\":{\"name\":\"Abhishek Singh\",\"@id\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/#\\\/schema\\\/person\\\/fc397ba8be42f9fdd53450edfc73006f\"},\"headline\":\"Unified Payment Confirmation Flow\",\"datePublished\":\"2025-01-13T18:05:10+00:00\",\"dateModified\":\"2025-01-13T18:05:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/unified-payment-confirmation-flow\\\/\"},\"wordCount\":212,\"commentCount\":0,\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/unified-payment-confirmation-flow\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/unified-payment-confirmation-flow\\\/\",\"url\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/unified-payment-confirmation-flow\\\/\",\"name\":\"Unified Payment Confirmation Flow - DevOps Consulting\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/#website\"},\"datePublished\":\"2025-01-13T18:05:10+00:00\",\"dateModified\":\"2025-01-13T18:05:13+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/#\\\/schema\\\/person\\\/fc397ba8be42f9fdd53450edfc73006f\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/unified-payment-confirmation-flow\\\/\"]}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/\",\"name\":\"DevOps Consulting\",\"description\":\"DevOps Consulting | SRE Consulting | DevSecOps Consulting | MLOps Consulting\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/#\\\/schema\\\/person\\\/fc397ba8be42f9fdd53450edfc73006f\",\"name\":\"Abhishek Singh\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/790feefe779852cdf344ca7318bf6c13832223c9b3c6bf4d217658412041026d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/790feefe779852cdf344ca7318bf6c13832223c9b3c6bf4d217658412041026d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/790feefe779852cdf344ca7318bf6c13832223c9b3c6bf4d217658412041026d?s=96&d=mm&r=g\",\"caption\":\"Abhishek Singh\"},\"description\":\"I\u2019m Abhishek, a DevOps, SRE, DevSecOps, and Cloud expert with a passion for sharing knowledge and real-world experiences. I\u2019ve had the opportunity to work with Cotocus and continue to contribute to multiple platforms where I share insights across different domains: \u2022 DevOps School \u2013 Tech blogs and tutorials \u2022 Holiday Landmark \u2013 Travel stories and guides \u2022 Stocks Mantra \u2013 Stock market strategies and tips \u2022 My Medic Plus \u2013 Health and fitness guidance \u2022 TrueReviewNow \u2013 Honest product reviews \u2022 Wizbrand \u2013 SEO and digital tools for businesses I\u2019m also exploring the fascinating world of Quantum Computing.\",\"url\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/author\\\/abhishek\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Unified Payment Confirmation Flow - DevOps Consulting","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.devopsconsulting.in\/blog\/unified-payment-confirmation-flow\/","og_locale":"en_US","og_type":"article","og_title":"Unified Payment Confirmation Flow - DevOps Consulting","og_description":"Combining both flows allows for a comprehensive payment confirmation system where users can submit screenshots of payments to vendors, and both vendors and admins have roles in...","og_url":"https:\/\/www.devopsconsulting.in\/blog\/unified-payment-confirmation-flow\/","og_site_name":"DevOps Consulting","article_published_time":"2025-01-13T18:05:10+00:00","article_modified_time":"2025-01-13T18:05:13+00:00","author":"Abhishek Singh","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Abhishek Singh","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.devopsconsulting.in\/blog\/unified-payment-confirmation-flow\/#article","isPartOf":{"@id":"https:\/\/www.devopsconsulting.in\/blog\/unified-payment-confirmation-flow\/"},"author":{"name":"Abhishek Singh","@id":"https:\/\/www.devopsconsulting.in\/blog\/#\/schema\/person\/fc397ba8be42f9fdd53450edfc73006f"},"headline":"Unified Payment Confirmation Flow","datePublished":"2025-01-13T18:05:10+00:00","dateModified":"2025-01-13T18:05:13+00:00","mainEntityOfPage":{"@id":"https:\/\/www.devopsconsulting.in\/blog\/unified-payment-confirmation-flow\/"},"wordCount":212,"commentCount":0,"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.devopsconsulting.in\/blog\/unified-payment-confirmation-flow\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.devopsconsulting.in\/blog\/unified-payment-confirmation-flow\/","url":"https:\/\/www.devopsconsulting.in\/blog\/unified-payment-confirmation-flow\/","name":"Unified Payment Confirmation Flow - DevOps Consulting","isPartOf":{"@id":"https:\/\/www.devopsconsulting.in\/blog\/#website"},"datePublished":"2025-01-13T18:05:10+00:00","dateModified":"2025-01-13T18:05:13+00:00","author":{"@id":"https:\/\/www.devopsconsulting.in\/blog\/#\/schema\/person\/fc397ba8be42f9fdd53450edfc73006f"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.devopsconsulting.in\/blog\/unified-payment-confirmation-flow\/"]}]},{"@type":"WebSite","@id":"https:\/\/www.devopsconsulting.in\/blog\/#website","url":"https:\/\/www.devopsconsulting.in\/blog\/","name":"DevOps Consulting","description":"DevOps Consulting | SRE Consulting | DevSecOps Consulting | MLOps Consulting","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.devopsconsulting.in\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.devopsconsulting.in\/blog\/#\/schema\/person\/fc397ba8be42f9fdd53450edfc73006f","name":"Abhishek Singh","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/790feefe779852cdf344ca7318bf6c13832223c9b3c6bf4d217658412041026d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/790feefe779852cdf344ca7318bf6c13832223c9b3c6bf4d217658412041026d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/790feefe779852cdf344ca7318bf6c13832223c9b3c6bf4d217658412041026d?s=96&d=mm&r=g","caption":"Abhishek Singh"},"description":"I\u2019m Abhishek, a DevOps, SRE, DevSecOps, and Cloud expert with a passion for sharing knowledge and real-world experiences. I\u2019ve had the opportunity to work with Cotocus and continue to contribute to multiple platforms where I share insights across different domains: \u2022 DevOps School \u2013 Tech blogs and tutorials \u2022 Holiday Landmark \u2013 Travel stories and guides \u2022 Stocks Mantra \u2013 Stock market strategies and tips \u2022 My Medic Plus \u2013 Health and fitness guidance \u2022 TrueReviewNow \u2013 Honest product reviews \u2022 Wizbrand \u2013 SEO and digital tools for businesses I\u2019m also exploring the fascinating world of Quantum Computing.","url":"https:\/\/www.devopsconsulting.in\/blog\/author\/abhishek\/"}]}},"_links":{"self":[{"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/posts\/2004","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/comments?post=2004"}],"version-history":[{"count":2,"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/posts\/2004\/revisions"}],"predecessor-version":[{"id":2009,"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/posts\/2004\/revisions\/2009"}],"wp:attachment":[{"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/media?parent=2004"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/categories?post=2004"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/tags?post=2004"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}