SlideShare a Scribd company logo
1 of 7
Download to read offline
How to Integrate Stripe Payment with Liferay: A
Step-by-Step Guide
Introduction
• There is mainly two ways to implement stripe payment integration
1.Prebuit Payment Page:
• This payment provides by the stripe so we no need to code for it.
• It has all functionality coupon for discount, etc
• UI part for the payment integration is fixed. We cannot change it.
• Need to create product in the stripe dashboard.
• And only passing quantity at payment time total price and discount all those
things managed by the stripe.
2. Custom Payment flow:
• This flow will use when we have custom payment page or different design
• And customisation from the payment side and only user will do payment only
not specify any product.
• In this flow, no need to create Product for the payment.
• Need to create below APIs
• Create-payment-intent API: add payment related detail in the stripe. It will
return client_secret for make payment.
• Webhook
• Confirm Payment: It will take card detail and client_secret that we got from the
create-payment-intent API.
Object Definition for the Stripe
Introduction
• We are using the stripe for payments but in feature there might be
client will use other payment service provider use.
• So, using two object we will handle it
• Payment Object that contains unique data like useid, stripe user id,
type, and relation with Calander Event Payment object
Payment Object
Liferay User Id
Stripe Customer Id
Paypal Customer Id –
Type Calander Event, Chat
Calander Event Relation ship Calander Event Id
Site Id
Calendar Event Object
Adult Price
Adult Quantity
Children Price
Children Quantity
Guest Price
Guest Quantity
Tax Amount
Total Amount
Payment Status Failed, Cancelled, Succeeded, Require Action,
Transaction Id
Calander Event ID
Site Id
P-Flow for the Stripe payment integration
• We will perform the below operations for Stripe payment integration in the
Calander event.
• Create a customer in Stripe while the Liferay user gets created.
• Add create a customer in register API
• Also, while the Liferay user gets created using the Liferay admin panel
• Create Payment Intent API for adding payment related in the stripe and take
payment stripe ID for confirm Payment
• Add the same detail in the Liferay object with event data (status – pending)
while they call payment intent API.
• After creating the Payment Intent API success response, FE will call Liferay
Object API to set payment detail in the Object and status pending.
• Confirm Payment with Payment Intent stripe Id, email, and card detail
• Create Webhook API that will call by the stripe while any update is there
related to the specified e.
• After successful payment, Webhook API will call to update the status (status –
success or failed)
• In webhook based on the switch case, we will update its status in Liferay
Object
o
Create Payment Intent API
→ Using Payment Intent API, we are insert transaction data and status as
incomplete in the stripe, so it takes few parameters like Liferay user id,
calendar event id, stripe customer id, total amount and currency. It will return
payment Intent id and client secret.
Get User Payment Detail Id if Not Prent Then Add
→ Get Parent object Id from the below API for passing it into
→ We need id of the parent object to make relationship so we will call user
payment details headless API by passing the Liferay user id from the session
storage. It will return id in the items for the POST eventpayments API.
• If above API items tab is empty, then you need to add user related data in the
user payment details object and take id from response and pass it in POST
eventpayments API.
Add Data in Calendar Event Payment
Object
• The calendar Event object is used to track the event payment transaction data
in our database.
• To add an entry in the calendar event object after the payment intent success
response because we are passing payment intent id as transaction id in the
Object.
• Add prices, quantity, payment status (default – in Complete), tax amt, total
amt, transaction Id(Id from the create payment intent response),
r_event_c_payment_id(id from the userpaymentdetails headless API), site id
as 20119 as default value.
Conclusion:
Integrating Stripe payment functionality with Liferay Development has proven to be
a seamless and efficient solution for businesses seeking to streamline their online
payment processes. By implementing this integration, businesses can offer their
customers a secure and convenient payment experience, leading to increased
customer satisfaction and loyalty.
Originally published by: Stripe Payment Integration with Liferay

More Related Content

Similar to How to Integrate Stripe Payment with Liferay A Step-by-Step Guide

apidays LIVE Australia 2021 - API Economy in Financial Services by Siddhant A...
apidays LIVE Australia 2021 - API Economy in Financial Services by Siddhant A...apidays LIVE Australia 2021 - API Economy in Financial Services by Siddhant A...
apidays LIVE Australia 2021 - API Economy in Financial Services by Siddhant A...apidays
 
Safex pay avantgarde -presentation
Safex pay avantgarde -presentationSafex pay avantgarde -presentation
Safex pay avantgarde -presentationNeha Sahay
 
Payment Request API with a React high order component
Payment Request API with a React high order componentPayment Request API with a React high order component
Payment Request API with a React high order componentMarco Lanaro
 
Getting started with Stripe
Getting started with StripeGetting started with Stripe
Getting started with StripeTechMagic
 
Safex pay wl-pg-presentation
Safex pay wl-pg-presentationSafex pay wl-pg-presentation
Safex pay wl-pg-presentationNeha Sahay
 
java and javascript api dev guide
java and javascript api dev guidejava and javascript api dev guide
java and javascript api dev guideZenita Smythe
 
Check printing in_r12
Check printing in_r12Check printing in_r12
Check printing in_r12Rajesh Khatri
 
Adaptive Payments: Changing How We Pay with PIN, Pre-approved and Split Payments
Adaptive Payments: Changing How We Pay with PIN, Pre-approved and Split PaymentsAdaptive Payments: Changing How We Pay with PIN, Pre-approved and Split Payments
Adaptive Payments: Changing How We Pay with PIN, Pre-approved and Split PaymentsPayPalX Developer Network
 
Stripe connect for marketplaces
Stripe connect for marketplacesStripe connect for marketplaces
Stripe connect for marketplacesUmangChugh2
 
PayPal Account Authentication Service
PayPal Account Authentication ServicePayPal Account Authentication Service
PayPal Account Authentication ServiceSherief Razzaque
 
Unified Payment Interface
Unified Payment InterfaceUnified Payment Interface
Unified Payment InterfaceAkash Chandra
 
Resume_YasirGhauri_HOD
Resume_YasirGhauri_HODResume_YasirGhauri_HOD
Resume_YasirGhauri_HODYasir Ghauri
 
Sample Oracle Payable User Manual
Sample Oracle Payable User ManualSample Oracle Payable User Manual
Sample Oracle Payable User ManualSuvrendu Bose
 
Creating an Uber Clone - Part XXXI - Transcript.pdf
Creating an Uber Clone - Part XXXI - Transcript.pdfCreating an Uber Clone - Part XXXI - Transcript.pdf
Creating an Uber Clone - Part XXXI - Transcript.pdfShaiAlmog1
 
Finance-Presentation-CRP1.pdf
Finance-Presentation-CRP1.pdfFinance-Presentation-CRP1.pdf
Finance-Presentation-CRP1.pdfPrasoonMohanty1
 

Similar to How to Integrate Stripe Payment with Liferay A Step-by-Step Guide (20)

apidays LIVE Australia 2021 - API Economy in Financial Services by Siddhant A...
apidays LIVE Australia 2021 - API Economy in Financial Services by Siddhant A...apidays LIVE Australia 2021 - API Economy in Financial Services by Siddhant A...
apidays LIVE Australia 2021 - API Economy in Financial Services by Siddhant A...
 
Safex pay avantgarde -presentation
Safex pay avantgarde -presentationSafex pay avantgarde -presentation
Safex pay avantgarde -presentation
 
Payment Request API with a React high order component
Payment Request API with a React high order componentPayment Request API with a React high order component
Payment Request API with a React high order component
 
Getting started with Stripe
Getting started with StripeGetting started with Stripe
Getting started with Stripe
 
Razorpay
RazorpayRazorpay
Razorpay
 
Safex pay wl-pg-presentation
Safex pay wl-pg-presentationSafex pay wl-pg-presentation
Safex pay wl-pg-presentation
 
Payment gateway
Payment gatewayPayment gateway
Payment gateway
 
java and javascript api dev guide
java and javascript api dev guidejava and javascript api dev guide
java and javascript api dev guide
 
Check printing in_r12
Check printing in_r12Check printing in_r12
Check printing in_r12
 
CS-Cart payTabs payment gateway
CS-Cart payTabs payment gatewayCS-Cart payTabs payment gateway
CS-Cart payTabs payment gateway
 
Adaptive Payments: Changing How We Pay with PIN, Pre-approved and Split Payments
Adaptive Payments: Changing How We Pay with PIN, Pre-approved and Split PaymentsAdaptive Payments: Changing How We Pay with PIN, Pre-approved and Split Payments
Adaptive Payments: Changing How We Pay with PIN, Pre-approved and Split Payments
 
Stripe connect for marketplaces
Stripe connect for marketplacesStripe connect for marketplaces
Stripe connect for marketplaces
 
PayPal Account Authentication Service
PayPal Account Authentication ServicePayPal Account Authentication Service
PayPal Account Authentication Service
 
Unified Payment Interface
Unified Payment InterfaceUnified Payment Interface
Unified Payment Interface
 
Bill Me Later
Bill Me LaterBill Me Later
Bill Me Later
 
Resume_YasirGhauri_HOD
Resume_YasirGhauri_HODResume_YasirGhauri_HOD
Resume_YasirGhauri_HOD
 
Sample Oracle Payable User Manual
Sample Oracle Payable User ManualSample Oracle Payable User Manual
Sample Oracle Payable User Manual
 
Creating an Uber Clone - Part XXXI - Transcript.pdf
Creating an Uber Clone - Part XXXI - Transcript.pdfCreating an Uber Clone - Part XXXI - Transcript.pdf
Creating an Uber Clone - Part XXXI - Transcript.pdf
 
Finance-Presentation-CRP1.pdf
Finance-Presentation-CRP1.pdfFinance-Presentation-CRP1.pdf
Finance-Presentation-CRP1.pdf
 
Payment Gateway
Payment GatewayPayment Gateway
Payment Gateway
 

More from Inexture Solutions

Spring Boot for WebRTC Signaling Servers: A Comprehensive Guide
Spring Boot for WebRTC Signaling Servers: A Comprehensive GuideSpring Boot for WebRTC Signaling Servers: A Comprehensive Guide
Spring Boot for WebRTC Signaling Servers: A Comprehensive GuideInexture Solutions
 
Mobile App Development Cost 2024 Budgeting Your Dream App
Mobile App Development Cost 2024 Budgeting Your Dream AppMobile App Development Cost 2024 Budgeting Your Dream App
Mobile App Development Cost 2024 Budgeting Your Dream AppInexture Solutions
 
Data Serialization in Python JSON vs. Pickle
Data Serialization in Python JSON vs. PickleData Serialization in Python JSON vs. Pickle
Data Serialization in Python JSON vs. PickleInexture Solutions
 
Best EV Charging App 2024 A Tutorial on Building Your Own
Best EV Charging App 2024 A Tutorial on Building Your OwnBest EV Charging App 2024 A Tutorial on Building Your Own
Best EV Charging App 2024 A Tutorial on Building Your OwnInexture Solutions
 
What is a WebSocket? Real-Time Communication in Applications
What is a WebSocket? Real-Time Communication in ApplicationsWhat is a WebSocket? Real-Time Communication in Applications
What is a WebSocket? Real-Time Communication in ApplicationsInexture Solutions
 
SaaS Application Development Explained in 10 mins
SaaS Application Development Explained in 10 minsSaaS Application Development Explained in 10 mins
SaaS Application Development Explained in 10 minsInexture Solutions
 
Best 7 SharePoint Migration Tools of 2024
Best 7 SharePoint Migration Tools of 2024Best 7 SharePoint Migration Tools of 2024
Best 7 SharePoint Migration Tools of 2024Inexture Solutions
 
Spring Boot with Microsoft Azure Integration.pdf
Spring Boot with Microsoft Azure Integration.pdfSpring Boot with Microsoft Azure Integration.pdf
Spring Boot with Microsoft Azure Integration.pdfInexture Solutions
 
Best Features of Adobe Experience Manager (AEM).pdf
Best Features of Adobe Experience Manager (AEM).pdfBest Features of Adobe Experience Manager (AEM).pdf
Best Features of Adobe Experience Manager (AEM).pdfInexture Solutions
 
React Router Dom Integration Tutorial for Developers
React Router Dom Integration Tutorial for DevelopersReact Router Dom Integration Tutorial for Developers
React Router Dom Integration Tutorial for DevelopersInexture Solutions
 
Python Kafka Integration: Developers Guide
Python Kafka Integration: Developers GuidePython Kafka Integration: Developers Guide
Python Kafka Integration: Developers GuideInexture Solutions
 
What is SaMD Model, Benefits, and Development Process.pdf
What is SaMD Model, Benefits, and Development Process.pdfWhat is SaMD Model, Benefits, and Development Process.pdf
What is SaMD Model, Benefits, and Development Process.pdfInexture Solutions
 
Unlocking the Potential of AI in Spring.pdf
Unlocking the Potential of AI in Spring.pdfUnlocking the Potential of AI in Spring.pdf
Unlocking the Potential of AI in Spring.pdfInexture Solutions
 
Mobile Banking App Development Cost in 2024.pdf
Mobile Banking App Development Cost in 2024.pdfMobile Banking App Development Cost in 2024.pdf
Mobile Banking App Development Cost in 2024.pdfInexture Solutions
 
Education App Development : Cost, Features and Example
Education App Development : Cost, Features and ExampleEducation App Development : Cost, Features and Example
Education App Development : Cost, Features and ExampleInexture Solutions
 
Firebase Push Notification in JavaScript Apps
Firebase Push Notification in JavaScript AppsFirebase Push Notification in JavaScript Apps
Firebase Push Notification in JavaScript AppsInexture Solutions
 
Micronaut Framework Guide Framework Basics and Fundamentals.pdf
Micronaut Framework Guide Framework Basics and Fundamentals.pdfMicronaut Framework Guide Framework Basics and Fundamentals.pdf
Micronaut Framework Guide Framework Basics and Fundamentals.pdfInexture Solutions
 
Steps to Install NPM and Node.js on Windows and MAC
Steps to Install NPM and Node.js on Windows and MACSteps to Install NPM and Node.js on Windows and MAC
Steps to Install NPM and Node.js on Windows and MACInexture Solutions
 
Python Requirements File How to Create Python requirements.txt
Python Requirements File How to Create Python requirements.txtPython Requirements File How to Create Python requirements.txt
Python Requirements File How to Create Python requirements.txtInexture Solutions
 
Gain Proficiency in Batch Processing with Spring Batch
Gain Proficiency in Batch Processing with Spring BatchGain Proficiency in Batch Processing with Spring Batch
Gain Proficiency in Batch Processing with Spring BatchInexture Solutions
 

More from Inexture Solutions (20)

Spring Boot for WebRTC Signaling Servers: A Comprehensive Guide
Spring Boot for WebRTC Signaling Servers: A Comprehensive GuideSpring Boot for WebRTC Signaling Servers: A Comprehensive Guide
Spring Boot for WebRTC Signaling Servers: A Comprehensive Guide
 
Mobile App Development Cost 2024 Budgeting Your Dream App
Mobile App Development Cost 2024 Budgeting Your Dream AppMobile App Development Cost 2024 Budgeting Your Dream App
Mobile App Development Cost 2024 Budgeting Your Dream App
 
Data Serialization in Python JSON vs. Pickle
Data Serialization in Python JSON vs. PickleData Serialization in Python JSON vs. Pickle
Data Serialization in Python JSON vs. Pickle
 
Best EV Charging App 2024 A Tutorial on Building Your Own
Best EV Charging App 2024 A Tutorial on Building Your OwnBest EV Charging App 2024 A Tutorial on Building Your Own
Best EV Charging App 2024 A Tutorial on Building Your Own
 
What is a WebSocket? Real-Time Communication in Applications
What is a WebSocket? Real-Time Communication in ApplicationsWhat is a WebSocket? Real-Time Communication in Applications
What is a WebSocket? Real-Time Communication in Applications
 
SaaS Application Development Explained in 10 mins
SaaS Application Development Explained in 10 minsSaaS Application Development Explained in 10 mins
SaaS Application Development Explained in 10 mins
 
Best 7 SharePoint Migration Tools of 2024
Best 7 SharePoint Migration Tools of 2024Best 7 SharePoint Migration Tools of 2024
Best 7 SharePoint Migration Tools of 2024
 
Spring Boot with Microsoft Azure Integration.pdf
Spring Boot with Microsoft Azure Integration.pdfSpring Boot with Microsoft Azure Integration.pdf
Spring Boot with Microsoft Azure Integration.pdf
 
Best Features of Adobe Experience Manager (AEM).pdf
Best Features of Adobe Experience Manager (AEM).pdfBest Features of Adobe Experience Manager (AEM).pdf
Best Features of Adobe Experience Manager (AEM).pdf
 
React Router Dom Integration Tutorial for Developers
React Router Dom Integration Tutorial for DevelopersReact Router Dom Integration Tutorial for Developers
React Router Dom Integration Tutorial for Developers
 
Python Kafka Integration: Developers Guide
Python Kafka Integration: Developers GuidePython Kafka Integration: Developers Guide
Python Kafka Integration: Developers Guide
 
What is SaMD Model, Benefits, and Development Process.pdf
What is SaMD Model, Benefits, and Development Process.pdfWhat is SaMD Model, Benefits, and Development Process.pdf
What is SaMD Model, Benefits, and Development Process.pdf
 
Unlocking the Potential of AI in Spring.pdf
Unlocking the Potential of AI in Spring.pdfUnlocking the Potential of AI in Spring.pdf
Unlocking the Potential of AI in Spring.pdf
 
Mobile Banking App Development Cost in 2024.pdf
Mobile Banking App Development Cost in 2024.pdfMobile Banking App Development Cost in 2024.pdf
Mobile Banking App Development Cost in 2024.pdf
 
Education App Development : Cost, Features and Example
Education App Development : Cost, Features and ExampleEducation App Development : Cost, Features and Example
Education App Development : Cost, Features and Example
 
Firebase Push Notification in JavaScript Apps
Firebase Push Notification in JavaScript AppsFirebase Push Notification in JavaScript Apps
Firebase Push Notification in JavaScript Apps
 
Micronaut Framework Guide Framework Basics and Fundamentals.pdf
Micronaut Framework Guide Framework Basics and Fundamentals.pdfMicronaut Framework Guide Framework Basics and Fundamentals.pdf
Micronaut Framework Guide Framework Basics and Fundamentals.pdf
 
Steps to Install NPM and Node.js on Windows and MAC
Steps to Install NPM and Node.js on Windows and MACSteps to Install NPM and Node.js on Windows and MAC
Steps to Install NPM and Node.js on Windows and MAC
 
Python Requirements File How to Create Python requirements.txt
Python Requirements File How to Create Python requirements.txtPython Requirements File How to Create Python requirements.txt
Python Requirements File How to Create Python requirements.txt
 
Gain Proficiency in Batch Processing with Spring Batch
Gain Proficiency in Batch Processing with Spring BatchGain Proficiency in Batch Processing with Spring Batch
Gain Proficiency in Batch Processing with Spring Batch
 

Recently uploaded

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 

Recently uploaded (20)

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 

How to Integrate Stripe Payment with Liferay A Step-by-Step Guide

  • 1. How to Integrate Stripe Payment with Liferay: A Step-by-Step Guide Introduction • There is mainly two ways to implement stripe payment integration 1.Prebuit Payment Page: • This payment provides by the stripe so we no need to code for it. • It has all functionality coupon for discount, etc • UI part for the payment integration is fixed. We cannot change it. • Need to create product in the stripe dashboard. • And only passing quantity at payment time total price and discount all those things managed by the stripe. 2. Custom Payment flow:
  • 2. • This flow will use when we have custom payment page or different design • And customisation from the payment side and only user will do payment only not specify any product. • In this flow, no need to create Product for the payment. • Need to create below APIs • Create-payment-intent API: add payment related detail in the stripe. It will return client_secret for make payment. • Webhook • Confirm Payment: It will take card detail and client_secret that we got from the create-payment-intent API. Object Definition for the Stripe Introduction • We are using the stripe for payments but in feature there might be client will use other payment service provider use. • So, using two object we will handle it • Payment Object that contains unique data like useid, stripe user id, type, and relation with Calander Event Payment object Payment Object Liferay User Id Stripe Customer Id Paypal Customer Id – Type Calander Event, Chat Calander Event Relation ship Calander Event Id Site Id Calendar Event Object
  • 3. Adult Price Adult Quantity Children Price Children Quantity Guest Price Guest Quantity Tax Amount Total Amount Payment Status Failed, Cancelled, Succeeded, Require Action, Transaction Id Calander Event ID Site Id P-Flow for the Stripe payment integration • We will perform the below operations for Stripe payment integration in the Calander event. • Create a customer in Stripe while the Liferay user gets created. • Add create a customer in register API • Also, while the Liferay user gets created using the Liferay admin panel • Create Payment Intent API for adding payment related in the stripe and take payment stripe ID for confirm Payment • Add the same detail in the Liferay object with event data (status – pending) while they call payment intent API. • After creating the Payment Intent API success response, FE will call Liferay Object API to set payment detail in the Object and status pending. • Confirm Payment with Payment Intent stripe Id, email, and card detail
  • 4. • Create Webhook API that will call by the stripe while any update is there related to the specified e. • After successful payment, Webhook API will call to update the status (status – success or failed) • In webhook based on the switch case, we will update its status in Liferay Object o Create Payment Intent API → Using Payment Intent API, we are insert transaction data and status as incomplete in the stripe, so it takes few parameters like Liferay user id, calendar event id, stripe customer id, total amount and currency. It will return payment Intent id and client secret. Get User Payment Detail Id if Not Prent Then Add → Get Parent object Id from the below API for passing it into → We need id of the parent object to make relationship so we will call user payment details headless API by passing the Liferay user id from the session storage. It will return id in the items for the POST eventpayments API.
  • 5. • If above API items tab is empty, then you need to add user related data in the user payment details object and take id from response and pass it in POST eventpayments API.
  • 6. Add Data in Calendar Event Payment Object • The calendar Event object is used to track the event payment transaction data in our database. • To add an entry in the calendar event object after the payment intent success response because we are passing payment intent id as transaction id in the Object. • Add prices, quantity, payment status (default – in Complete), tax amt, total amt, transaction Id(Id from the create payment intent response), r_event_c_payment_id(id from the userpaymentdetails headless API), site id as 20119 as default value.
  • 7. Conclusion: Integrating Stripe payment functionality with Liferay Development has proven to be a seamless and efficient solution for businesses seeking to streamline their online payment processes. By implementing this integration, businesses can offer their customers a secure and convenient payment experience, leading to increased customer satisfaction and loyalty. Originally published by: Stripe Payment Integration with Liferay