SlideShare a Scribd company logo
Payment Gateway Demystified
December 11, 2021
Lợi Nguyễn - Technical Architect @ VeXeRe
1
Vietnam’s largest online bus booking system
vexere.com
Self Introduction
Name: Lợi Nguyễn
Company:
● Vexere - #1 Saas based bus ticket platform in Vietnam
● Chotot - #1 Classified Marketplace in Vietnam
● Blue Orchid - A start-up founded by ex-Grab CTO
● Softfoundry - VoIP product
2
Vietnam’s largest online bus booking system
vexere.com
Vexere Intro - SaaS Based Booking Platform
VeXeRe.com is a Vietnamese online bus ticket booking system that operates through
many transportation companies.
3
Vietnam’s largest online bus booking system
vexere.com
Vexere Tech Stack
4
Vietnam’s largest online bus booking system
vexere.com
Agenda
● Payment Domain Knowledge
● Payment Gateway Integration
○ Order Creation
○ Order Availability (Optional)
○ Browser Redirect
○ Instant Payment Notification (IPN)
○ Payment Query (QueryDR)
○ Lesson Learned
● Advance Concept
○ Tokenization
○ Credit Card Authorization/Reversal/Settle
● Q/A 5
Vietnam’s largest online bus booking system
vexere.com
What do you get after 2 hour?
Basic payment domain knowledge
Reliable payment service implementation
3 years lesson learned of integrating with 10 payment gateways for 4 business units @ Vexere
Vietnam’s largest online bus booking system
vexere.com
Payment Domain Knowledge
Vietnam’s largest online bus booking system
vexere.com
Internet Banking Payment API Flow
Vietnam’s largest online bus booking system
vexere.com
Credit Card Payment API Flow
Vietnam’s largest online bus booking system
vexere.com
Payment API Flow
Vietnam’s largest online bus booking system
vexere.com
Simple Payment Integration
What problem could occur in this
integration flow?
Vietnam’s largest online bus booking system
vexere.com
Simple Payment Integration
Problem could arises when:
● User close browser
● User’s network error
Vietnam’s largest online bus booking system
vexere.com
Simple Payment Integration
Problem arises when connection
between client browser and
payment gateway:
● User close browser
● User’s network error
Vietnam’s largest online bus booking system
vexere.com
Payment Gateway Integration
Vietnam’s largest online bus booking system
vexere.com
Lesson Learned 1
How fast you can sync transaction status with others determine how good your payment
service is.
Implement 3 these API is required
● Redirect
● Instant Payment Notification (IPN)
● Polling (QueryDR)
Vietnam’s largest online bus booking system
vexere.com
Lesson Learned 2
● Design your payment service for multiple tenant usage, standardize and
decouple:
○ Order creation API
■ Design an interface for many payment gateway/method (i.e. momo/zalo/onepay)
○ Order availability API
■ Design clear interface api response format, then use for all merchants.
○ IPN
Vietnam’s largest online bus booking system
vexere.com
Lesson Learned 3
● Rate limit your IPN to external system (especially to critical system)
● Best practice: max retry is 5 times, sample:
○ Zalopay gateway: 3 times
○ VNpay: 5 times
○ Momo: 3 times
Sample: call to like airline booking system
Vietnam’s largest online bus booking system
vexere.com
Tokenization
Problem:
● User input wrong card info: (top 6 reason of failed transaction)
○ Card number
○ Card holder
○ Issue/expire date
○ CVN number
Vietnam’s largest online bus booking system
vexere.com
Tokenization
Vietnam’s largest online bus booking system
vexere.com
Tokenization
Problem:
● User input wrong card info: (top 6 reason of failed transaction)
○ Card number
○ Card holder
○ Issue/expire date
○ CVN number
● Recurring billing (i.e. electric bill)
Solution:
● Tokenization
○ Internet Banking Card Info
○ Visa/Master Card Info
Vietnam’s largest online bus booking system
vexere.com
Tokenization
Vietnam’s largest online bus booking system
vexere.com
Tokenization
Vietnam’s largest online bus booking system
vexere.com
Tokenization - Demo
Vietnam’s largest online bus booking system
vexere.com
Credit Card Authorization
Problem:
● Quick refund:
○ Normal visa/master transaction take 7-30 days for refund. Customer won’t be happy.
● Save cost of transaction fee:
○ 2-3% on transaction amount on transaction fee and refund fee.
Vietnam’s largest online bus booking system
vexere.com
Credit Card Authorization
Problem:
● Quick refund:
○ Normal visa/master transaction take 7-30 days for refund. Customer won’t happy.
● Transaction fee:
○ 2-3% on transaction amount
Solution:
1. Authorization: Lock user account balance
2. Authorization reversal: Unlock user account balance
3. Settle: after user has started or finished their trip
Vietnam’s largest online bus booking system
vexere.com
Credit Card Authorization
● Authorization refers to the process by which the business owner confirms that the customer
actually has funds available on their card to complete the transaction.
● Capture, on the other hand, refers to the process by which a transaction moves out of the pending
state and you get your money.
● Sale = Authorization + Capture
Vietnam’s largest online bus booking system
vexere.com
Credit Card Authorization
● Credit Card popular transaction type is Sale, which charge user account balance
immediately
● But you can implement it differently, just lock user account some amount, then charge later
(i.e. after user finished using your service)
Vietnam’s largest online bus booking system
vexere.com
Credit Card Authorization Refund
Vietnam’s largest online bus booking system
vexere.com
Credit Card Refund
● Store authorization transaction id in DB
● Cronjob to scan & settle authorization older than 3-7 days
● Alert Slack when settle failed
Vietnam’s largest online bus booking system
vexere.com
Demo
● Integrated with 10 payment gateway/wallet in Vietnam
● Integrated with 4 business units at Vexere
● Has 4 payment method:
○ Credit card payment
○ Internet banking payment
○ Wallet payment
○ QRCode
Vietnam’s largest online bus booking system
vexere.com
Q&A
31
Vietnam’s largest online bus booking system
vexere.com
Reference
● https://blog.clover.com/payment-gateway-vs-payment-processor-what-is-the-difference/
● https://home.bluesnap.com/snap-center/blog/global-payment-processor/
● https://docs.vexere.net/pages/viewpage.action?pageId=17205847
32
Vietnam’s largest online bus booking system
vexere.com
Payment Terms
● Issuing bank - The customer’s bank that issued their credit card.
● Merchant - The business supplying goods or services for sale. This can be in-person or online.
● Merchant account - A merchant account is a special account that lets you accept and process digital
payments. This includes purchases made with credit or debit cards and other forms of electronic
payments.
● Acquiring bank - The bank that hosts the merchant’s credit card processing account.
● Payment processor - The service that sends transaction info between the merchant, the issuing bank,
and the acquiring bank.
● Payment gateway - The equivalent to a point of sale system for online transactions, it encrypts and
transmits information to the payment processor. A payment gateway provides integrations into
different e-commerce platforms and APIs to perform transactions. It also receives authorization for the
banks to move money from the customer to the merchant.
● Payment tokenization - The process of converting the customer’s card to another number to secure
their private information for the online purchase.
Vietnam’s largest online bus booking system
vexere.com
Agenda
● Payment Domain Knowledge
● Payment Gateway Integration
○ Order Creation
○ Order Check (Optional)
○ Browser Redirect
○ Instant Payment Notification (IPN)
○ Payment Query (QueryDR)
● Advance Concept
○ Tokenization
○ Credit Card Authorization/Reversal/Settle
● Q/A
34
Vietnam’s largest online bus booking system
vexere.com
Thank you <3
35
Join us:
● Software Engineer
● Product Manager
● Product UX Designer
careers.vexere.com

More Related Content

What's hot

Grokking Techtalk #46: Lessons from years hacking and defending Vietnamese banks
Grokking Techtalk #46: Lessons from years hacking and defending Vietnamese banksGrokking Techtalk #46: Lessons from years hacking and defending Vietnamese banks
Grokking Techtalk #46: Lessons from years hacking and defending Vietnamese banks
Grokking VN
 
Grokking Techtalk #42: Engineering challenges on building data platform for M...
Grokking Techtalk #42: Engineering challenges on building data platform for M...Grokking Techtalk #42: Engineering challenges on building data platform for M...
Grokking Techtalk #42: Engineering challenges on building data platform for M...
Grokking VN
 
Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178
Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178
Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178
Đồ án access 01677525178
 
Domain Driven Design và Event Driven Architecture
Domain Driven Design và Event Driven Architecture Domain Driven Design và Event Driven Architecture
Domain Driven Design và Event Driven Architecture
IT Expert Club
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFramework
banq jdon
 
Đồ án xây dựng website trang báo thương mại điện tử
Đồ án xây dựng website trang báo thương mại điện tử Đồ án xây dựng website trang báo thương mại điện tử
Đồ án xây dựng website trang báo thương mại điện tử
Luanvantot.com 0934.573.149
 
Pros and Cons of a MicroServices Architecture talk at AWS ReInvent
Pros and Cons of a MicroServices Architecture talk at AWS ReInventPros and Cons of a MicroServices Architecture talk at AWS ReInvent
Pros and Cons of a MicroServices Architecture talk at AWS ReInvent
Sudhir Tonse
 
ce-digital-banking-maturity-study-emea.pdf
ce-digital-banking-maturity-study-emea.pdfce-digital-banking-maturity-study-emea.pdf
ce-digital-banking-maturity-study-emea.pdf
AnuradhaTulsyan1
 
Payments Key Performance Indicators (KPIs): A Basic Perspective
Payments Key Performance Indicators (KPIs):  A Basic PerspectivePayments Key Performance Indicators (KPIs):  A Basic Perspective
Payments Key Performance Indicators (KPIs): A Basic Perspective
Christopher Uriarte
 
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồBáo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồzDollz Lovez
 
Payment Gateway Integration: Growth Strategy for SAAS
Payment Gateway Integration: Growth Strategy for SAASPayment Gateway Integration: Growth Strategy for SAAS
Payment Gateway Integration: Growth Strategy for SAAS
Wayne Akey
 
Giáo trình thương mại điện tử (2)
Giáo trình thương mại điện tử (2)Giáo trình thương mại điện tử (2)
Giáo trình thương mại điện tử (2)
vinhthanhdbk
 
Tấn công sql injection sử dụng câu lệnh select union
Tấn công sql injection sử dụng câu lệnh select unionTấn công sql injection sử dụng câu lệnh select union
Tấn công sql injection sử dụng câu lệnh select union
Nguyễn Danh Thanh
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàng
leemindinh
 
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Tú Cao
 
Do an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuDo an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tu
ThiênĐàng CôngDân
 
báo cáo bài tập lớn phân tích thiết kế hệ thống quản lý khách sạn
báo cáo bài tập lớn phân tích thiết kế hệ thống quản lý khách sạnbáo cáo bài tập lớn phân tích thiết kế hệ thống quản lý khách sạn
báo cáo bài tập lớn phân tích thiết kế hệ thống quản lý khách sạn
nataliej4
 
Peter Afanasiev - Architecture of online Payments
Peter Afanasiev - Architecture of online PaymentsPeter Afanasiev - Architecture of online Payments
Peter Afanasiev - Architecture of online Payments
Ciklum Ukraine
 

What's hot (20)

Grokking Techtalk #46: Lessons from years hacking and defending Vietnamese banks
Grokking Techtalk #46: Lessons from years hacking and defending Vietnamese banksGrokking Techtalk #46: Lessons from years hacking and defending Vietnamese banks
Grokking Techtalk #46: Lessons from years hacking and defending Vietnamese banks
 
Grokking Techtalk #42: Engineering challenges on building data platform for M...
Grokking Techtalk #42: Engineering challenges on building data platform for M...Grokking Techtalk #42: Engineering challenges on building data platform for M...
Grokking Techtalk #42: Engineering challenges on building data platform for M...
 
Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178
Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178
Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178
 
Domain Driven Design và Event Driven Architecture
Domain Driven Design và Event Driven Architecture Domain Driven Design và Event Driven Architecture
Domain Driven Design và Event Driven Architecture
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFramework
 
Đồ án xây dựng website trang báo thương mại điện tử
Đồ án xây dựng website trang báo thương mại điện tử Đồ án xây dựng website trang báo thương mại điện tử
Đồ án xây dựng website trang báo thương mại điện tử
 
Pros and Cons of a MicroServices Architecture talk at AWS ReInvent
Pros and Cons of a MicroServices Architecture talk at AWS ReInventPros and Cons of a MicroServices Architecture talk at AWS ReInvent
Pros and Cons of a MicroServices Architecture talk at AWS ReInvent
 
ce-digital-banking-maturity-study-emea.pdf
ce-digital-banking-maturity-study-emea.pdfce-digital-banking-maturity-study-emea.pdf
ce-digital-banking-maturity-study-emea.pdf
 
Payments Key Performance Indicators (KPIs): A Basic Perspective
Payments Key Performance Indicators (KPIs):  A Basic PerspectivePayments Key Performance Indicators (KPIs):  A Basic Perspective
Payments Key Performance Indicators (KPIs): A Basic Perspective
 
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồBáo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
 
Payment Gateway Integration: Growth Strategy for SAAS
Payment Gateway Integration: Growth Strategy for SAASPayment Gateway Integration: Growth Strategy for SAAS
Payment Gateway Integration: Growth Strategy for SAAS
 
Giáo trình thương mại điện tử (2)
Giáo trình thương mại điện tử (2)Giáo trình thương mại điện tử (2)
Giáo trình thương mại điện tử (2)
 
Tấn công sql injection sử dụng câu lệnh select union
Tấn công sql injection sử dụng câu lệnh select unionTấn công sql injection sử dụng câu lệnh select union
Tấn công sql injection sử dụng câu lệnh select union
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàng
 
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
 
Do an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuDo an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tu
 
báo cáo bài tập lớn phân tích thiết kế hệ thống quản lý khách sạn
báo cáo bài tập lớn phân tích thiết kế hệ thống quản lý khách sạnbáo cáo bài tập lớn phân tích thiết kế hệ thống quản lý khách sạn
báo cáo bài tập lớn phân tích thiết kế hệ thống quản lý khách sạn
 
Peter Afanasiev - Architecture of online Payments
Peter Afanasiev - Architecture of online PaymentsPeter Afanasiev - Architecture of online Payments
Peter Afanasiev - Architecture of online Payments
 
Báo cáo đồ án - Thiết kế web tại Thanh Hóa
Báo cáo đồ án - Thiết kế web tại Thanh HóaBáo cáo đồ án - Thiết kế web tại Thanh Hóa
Báo cáo đồ án - Thiết kế web tại Thanh Hóa
 
Ptit tmdt
Ptit   tmdtPtit   tmdt
Ptit tmdt
 

Similar to Grokking Techtalk #43: Payment gateway demystified

Payments primer
Payments primerPayments primer
Payments primer
Sumeet Maniar
 
Payment Integration A Comprehensive Guide to Payment Gateway
Payment Integration A Comprehensive Guide to Payment GatewayPayment Integration A Comprehensive Guide to Payment Gateway
Payment Integration A Comprehensive Guide to Payment Gateway
Inexture Solutions
 
Application of e banking in bangladesh
Application of e banking in bangladeshApplication of e banking in bangladesh
Application of e banking in bangladesh
Md Mir Belal
 
Authorized payment gateway
Authorized payment gatewayAuthorized payment gateway
Authorized payment gateway
spencerwebb
 
Topic6 Electronic Payment Systems.pptx
Topic6 Electronic Payment Systems.pptxTopic6 Electronic Payment Systems.pptx
Topic6 Electronic Payment Systems.pptx
CallplanetsDeveloper
 
Payment Gateway
Payment Gateway Payment Gateway
Payment Gateway
Rohit Srivastav
 
Guide to Understanding Credit Card Processing for Merchants
Guide to Understanding Credit Card Processing for MerchantsGuide to Understanding Credit Card Processing for Merchants
Guide to Understanding Credit Card Processing for Merchants
ChloeBeckham
 
Safex pay wl-pg-presentation
Safex pay wl-pg-presentationSafex pay wl-pg-presentation
Safex pay wl-pg-presentation
Neha Sahay
 
These things you must know about online payment solutions.
These things you must know about online payment solutions.These things you must know about online payment solutions.
These things you must know about online payment solutions.
Riya Sen
 
Online Payment Gateway System
Online Payment Gateway SystemOnline Payment Gateway System
Online Payment Gateway System
Mannu Khani
 
Implementing a Secured E-Payment Authorisation System Using Two-Factor Authen...
Implementing a Secured E-Payment Authorisation System Using Two-Factor Authen...Implementing a Secured E-Payment Authorisation System Using Two-Factor Authen...
Implementing a Secured E-Payment Authorisation System Using Two-Factor Authen...
IJRESJOURNAL
 
E-commerce System Technologies, Repository and Networking Technology
E-commerce System Technologies, Repository and Networking TechnologyE-commerce System Technologies, Repository and Networking Technology
E-commerce System Technologies, Repository and Networking Technology
izan28
 
Electronic Payment Method
Electronic Payment MethodElectronic Payment Method
Electronic Payment Method
Mehul Boghra
 
eCheck Eases the Work of a Merchant and a Payee. Read to Know More!.pdf
eCheck Eases the Work of a Merchant and a Payee. Read to Know More!.pdfeCheck Eases the Work of a Merchant and a Payee. Read to Know More!.pdf
eCheck Eases the Work of a Merchant and a Payee. Read to Know More!.pdf
Paycron
 
Online payments and Security Gateways
Online payments and Security Gateways Online payments and Security Gateways
Online payments and Security Gateways
Sarujan Chandrakumaran
 
E payment
E paymentE payment
E payment
Dr. Muath Asmar
 
Read the Right Way to Set up eCheck Account for Business
Read the Right Way to Set up eCheck Account for BusinessRead the Right Way to Set up eCheck Account for Business
Read the Right Way to Set up eCheck Account for Business
Paycron
 
6. electronic payment systems
6. electronic payment systems6. electronic payment systems
6. electronic payment systems
Pratap Tirkey
 
Have questions about eCheck.pdf
Have questions about eCheck.pdfHave questions about eCheck.pdf
Have questions about eCheck.pdf
Paycron
 

Similar to Grokking Techtalk #43: Payment gateway demystified (20)

Payments primer
Payments primerPayments primer
Payments primer
 
Payment Integration A Comprehensive Guide to Payment Gateway
Payment Integration A Comprehensive Guide to Payment GatewayPayment Integration A Comprehensive Guide to Payment Gateway
Payment Integration A Comprehensive Guide to Payment Gateway
 
Application of e banking in bangladesh
Application of e banking in bangladeshApplication of e banking in bangladesh
Application of e banking in bangladesh
 
Authorized payment gateway
Authorized payment gatewayAuthorized payment gateway
Authorized payment gateway
 
Profile Epayment center VTC Pay
Profile Epayment center VTC PayProfile Epayment center VTC Pay
Profile Epayment center VTC Pay
 
Topic6 Electronic Payment Systems.pptx
Topic6 Electronic Payment Systems.pptxTopic6 Electronic Payment Systems.pptx
Topic6 Electronic Payment Systems.pptx
 
Payment Gateway
Payment Gateway Payment Gateway
Payment Gateway
 
Guide to Understanding Credit Card Processing for Merchants
Guide to Understanding Credit Card Processing for MerchantsGuide to Understanding Credit Card Processing for Merchants
Guide to Understanding Credit Card Processing for Merchants
 
Safex pay wl-pg-presentation
Safex pay wl-pg-presentationSafex pay wl-pg-presentation
Safex pay wl-pg-presentation
 
These things you must know about online payment solutions.
These things you must know about online payment solutions.These things you must know about online payment solutions.
These things you must know about online payment solutions.
 
Online Payment Gateway System
Online Payment Gateway SystemOnline Payment Gateway System
Online Payment Gateway System
 
Implementing a Secured E-Payment Authorisation System Using Two-Factor Authen...
Implementing a Secured E-Payment Authorisation System Using Two-Factor Authen...Implementing a Secured E-Payment Authorisation System Using Two-Factor Authen...
Implementing a Secured E-Payment Authorisation System Using Two-Factor Authen...
 
E-commerce System Technologies, Repository and Networking Technology
E-commerce System Technologies, Repository and Networking TechnologyE-commerce System Technologies, Repository and Networking Technology
E-commerce System Technologies, Repository and Networking Technology
 
Electronic Payment Method
Electronic Payment MethodElectronic Payment Method
Electronic Payment Method
 
eCheck Eases the Work of a Merchant and a Payee. Read to Know More!.pdf
eCheck Eases the Work of a Merchant and a Payee. Read to Know More!.pdfeCheck Eases the Work of a Merchant and a Payee. Read to Know More!.pdf
eCheck Eases the Work of a Merchant and a Payee. Read to Know More!.pdf
 
Online payments and Security Gateways
Online payments and Security Gateways Online payments and Security Gateways
Online payments and Security Gateways
 
E payment
E paymentE payment
E payment
 
Read the Right Way to Set up eCheck Account for Business
Read the Right Way to Set up eCheck Account for BusinessRead the Right Way to Set up eCheck Account for Business
Read the Right Way to Set up eCheck Account for Business
 
6. electronic payment systems
6. electronic payment systems6. electronic payment systems
6. electronic payment systems
 
Have questions about eCheck.pdf
Have questions about eCheck.pdfHave questions about eCheck.pdf
Have questions about eCheck.pdf
 

More from Grokking VN

Grokking Techtalk #40: Consistency and Availability tradeoff in database cluster
Grokking Techtalk #40: Consistency and Availability tradeoff in database clusterGrokking Techtalk #40: Consistency and Availability tradeoff in database cluster
Grokking Techtalk #40: Consistency and Availability tradeoff in database cluster
Grokking VN
 
Grokking Techtalk #40: AWS’s philosophy on designing MLOps platform
Grokking Techtalk #40: AWS’s philosophy on designing MLOps platformGrokking Techtalk #40: AWS’s philosophy on designing MLOps platform
Grokking Techtalk #40: AWS’s philosophy on designing MLOps platform
Grokking VN
 
Grokking Techtalk #39: Gossip protocol and applications
Grokking Techtalk #39: Gossip protocol and applicationsGrokking Techtalk #39: Gossip protocol and applications
Grokking Techtalk #39: Gossip protocol and applications
Grokking VN
 
Grokking Techtalk #39: How to build an event driven architecture with Kafka ...
 Grokking Techtalk #39: How to build an event driven architecture with Kafka ... Grokking Techtalk #39: How to build an event driven architecture with Kafka ...
Grokking Techtalk #39: How to build an event driven architecture with Kafka ...
Grokking VN
 
Grokking Techtalk #38: Escape Analysis in Go compiler
 Grokking Techtalk #38: Escape Analysis in Go compiler Grokking Techtalk #38: Escape Analysis in Go compiler
Grokking Techtalk #38: Escape Analysis in Go compiler
Grokking VN
 
Grokking Techtalk #37: Data intensive problem
 Grokking Techtalk #37: Data intensive problem Grokking Techtalk #37: Data intensive problem
Grokking Techtalk #37: Data intensive problem
Grokking VN
 
Grokking Techtalk #37: Software design and refactoring
 Grokking Techtalk #37: Software design and refactoring Grokking Techtalk #37: Software design and refactoring
Grokking Techtalk #37: Software design and refactoring
Grokking VN
 
Grokking TechTalk #35: Efficient spellchecking
Grokking TechTalk #35: Efficient spellcheckingGrokking TechTalk #35: Efficient spellchecking
Grokking TechTalk #35: Efficient spellchecking
Grokking VN
 
Grokking Techtalk #34: K8S On-premise: Incident & Lesson Learned ZaloPay Mer...
 Grokking Techtalk #34: K8S On-premise: Incident & Lesson Learned ZaloPay Mer... Grokking Techtalk #34: K8S On-premise: Incident & Lesson Learned ZaloPay Mer...
Grokking Techtalk #34: K8S On-premise: Incident & Lesson Learned ZaloPay Mer...
Grokking VN
 
Grokking TechTalk #33: High Concurrency Architecture at TIKI
Grokking TechTalk #33: High Concurrency Architecture at TIKIGrokking TechTalk #33: High Concurrency Architecture at TIKI
Grokking TechTalk #33: High Concurrency Architecture at TIKI
Grokking VN
 
Grokking TechTalk #33: Architecture of AI-First Systems - Engineering for Big...
Grokking TechTalk #33: Architecture of AI-First Systems - Engineering for Big...Grokking TechTalk #33: Architecture of AI-First Systems - Engineering for Big...
Grokking TechTalk #33: Architecture of AI-First Systems - Engineering for Big...
Grokking VN
 
SOLID & Design Patterns
SOLID & Design PatternsSOLID & Design Patterns
SOLID & Design Patterns
Grokking VN
 
Grokking TechTalk #31: Asynchronous Communications
Grokking TechTalk #31: Asynchronous CommunicationsGrokking TechTalk #31: Asynchronous Communications
Grokking TechTalk #31: Asynchronous Communications
Grokking VN
 
Grokking TechTalk #30: From App to Ecosystem: Lessons Learned at Scale
Grokking TechTalk #30: From App to Ecosystem: Lessons Learned at ScaleGrokking TechTalk #30: From App to Ecosystem: Lessons Learned at Scale
Grokking TechTalk #30: From App to Ecosystem: Lessons Learned at Scale
Grokking VN
 
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedIn
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedInGrokking TechTalk #29: Building Realtime Metrics Platform at LinkedIn
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedIn
Grokking VN
 
Grokking TechTalk #27: Optimal Binary Search Tree
Grokking TechTalk #27: Optimal Binary Search TreeGrokking TechTalk #27: Optimal Binary Search Tree
Grokking TechTalk #27: Optimal Binary Search Tree
Grokking VN
 
Grokking TechTalk #26: Kotlin, Understand the Magic
Grokking TechTalk #26: Kotlin, Understand the MagicGrokking TechTalk #26: Kotlin, Understand the Magic
Grokking TechTalk #26: Kotlin, Understand the Magic
Grokking VN
 
Grokking TechTalk #26: Compare ios and android platform
Grokking TechTalk #26: Compare ios and android platformGrokking TechTalk #26: Compare ios and android platform
Grokking TechTalk #26: Compare ios and android platform
Grokking VN
 
Grokking TechTalk #24: Thiết kế hệ thống Background Job Queue bằng Ruby & Pos...
Grokking TechTalk #24: Thiết kế hệ thống Background Job Queue bằng Ruby & Pos...Grokking TechTalk #24: Thiết kế hệ thống Background Job Queue bằng Ruby & Pos...
Grokking TechTalk #24: Thiết kế hệ thống Background Job Queue bằng Ruby & Pos...
Grokking VN
 
Grokking TechTalk #24: Kafka's principles and protocols
Grokking TechTalk #24: Kafka's principles and protocolsGrokking TechTalk #24: Kafka's principles and protocols
Grokking TechTalk #24: Kafka's principles and protocols
Grokking VN
 

More from Grokking VN (20)

Grokking Techtalk #40: Consistency and Availability tradeoff in database cluster
Grokking Techtalk #40: Consistency and Availability tradeoff in database clusterGrokking Techtalk #40: Consistency and Availability tradeoff in database cluster
Grokking Techtalk #40: Consistency and Availability tradeoff in database cluster
 
Grokking Techtalk #40: AWS’s philosophy on designing MLOps platform
Grokking Techtalk #40: AWS’s philosophy on designing MLOps platformGrokking Techtalk #40: AWS’s philosophy on designing MLOps platform
Grokking Techtalk #40: AWS’s philosophy on designing MLOps platform
 
Grokking Techtalk #39: Gossip protocol and applications
Grokking Techtalk #39: Gossip protocol and applicationsGrokking Techtalk #39: Gossip protocol and applications
Grokking Techtalk #39: Gossip protocol and applications
 
Grokking Techtalk #39: How to build an event driven architecture with Kafka ...
 Grokking Techtalk #39: How to build an event driven architecture with Kafka ... Grokking Techtalk #39: How to build an event driven architecture with Kafka ...
Grokking Techtalk #39: How to build an event driven architecture with Kafka ...
 
Grokking Techtalk #38: Escape Analysis in Go compiler
 Grokking Techtalk #38: Escape Analysis in Go compiler Grokking Techtalk #38: Escape Analysis in Go compiler
Grokking Techtalk #38: Escape Analysis in Go compiler
 
Grokking Techtalk #37: Data intensive problem
 Grokking Techtalk #37: Data intensive problem Grokking Techtalk #37: Data intensive problem
Grokking Techtalk #37: Data intensive problem
 
Grokking Techtalk #37: Software design and refactoring
 Grokking Techtalk #37: Software design and refactoring Grokking Techtalk #37: Software design and refactoring
Grokking Techtalk #37: Software design and refactoring
 
Grokking TechTalk #35: Efficient spellchecking
Grokking TechTalk #35: Efficient spellcheckingGrokking TechTalk #35: Efficient spellchecking
Grokking TechTalk #35: Efficient spellchecking
 
Grokking Techtalk #34: K8S On-premise: Incident & Lesson Learned ZaloPay Mer...
 Grokking Techtalk #34: K8S On-premise: Incident & Lesson Learned ZaloPay Mer... Grokking Techtalk #34: K8S On-premise: Incident & Lesson Learned ZaloPay Mer...
Grokking Techtalk #34: K8S On-premise: Incident & Lesson Learned ZaloPay Mer...
 
Grokking TechTalk #33: High Concurrency Architecture at TIKI
Grokking TechTalk #33: High Concurrency Architecture at TIKIGrokking TechTalk #33: High Concurrency Architecture at TIKI
Grokking TechTalk #33: High Concurrency Architecture at TIKI
 
Grokking TechTalk #33: Architecture of AI-First Systems - Engineering for Big...
Grokking TechTalk #33: Architecture of AI-First Systems - Engineering for Big...Grokking TechTalk #33: Architecture of AI-First Systems - Engineering for Big...
Grokking TechTalk #33: Architecture of AI-First Systems - Engineering for Big...
 
SOLID & Design Patterns
SOLID & Design PatternsSOLID & Design Patterns
SOLID & Design Patterns
 
Grokking TechTalk #31: Asynchronous Communications
Grokking TechTalk #31: Asynchronous CommunicationsGrokking TechTalk #31: Asynchronous Communications
Grokking TechTalk #31: Asynchronous Communications
 
Grokking TechTalk #30: From App to Ecosystem: Lessons Learned at Scale
Grokking TechTalk #30: From App to Ecosystem: Lessons Learned at ScaleGrokking TechTalk #30: From App to Ecosystem: Lessons Learned at Scale
Grokking TechTalk #30: From App to Ecosystem: Lessons Learned at Scale
 
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedIn
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedInGrokking TechTalk #29: Building Realtime Metrics Platform at LinkedIn
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedIn
 
Grokking TechTalk #27: Optimal Binary Search Tree
Grokking TechTalk #27: Optimal Binary Search TreeGrokking TechTalk #27: Optimal Binary Search Tree
Grokking TechTalk #27: Optimal Binary Search Tree
 
Grokking TechTalk #26: Kotlin, Understand the Magic
Grokking TechTalk #26: Kotlin, Understand the MagicGrokking TechTalk #26: Kotlin, Understand the Magic
Grokking TechTalk #26: Kotlin, Understand the Magic
 
Grokking TechTalk #26: Compare ios and android platform
Grokking TechTalk #26: Compare ios and android platformGrokking TechTalk #26: Compare ios and android platform
Grokking TechTalk #26: Compare ios and android platform
 
Grokking TechTalk #24: Thiết kế hệ thống Background Job Queue bằng Ruby & Pos...
Grokking TechTalk #24: Thiết kế hệ thống Background Job Queue bằng Ruby & Pos...Grokking TechTalk #24: Thiết kế hệ thống Background Job Queue bằng Ruby & Pos...
Grokking TechTalk #24: Thiết kế hệ thống Background Job Queue bằng Ruby & Pos...
 
Grokking TechTalk #24: Kafka's principles and protocols
Grokking TechTalk #24: Kafka's principles and protocolsGrokking TechTalk #24: Kafka's principles and protocols
Grokking TechTalk #24: Kafka's principles and protocols
 

Recently uploaded

Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 

Recently uploaded (20)

Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 

Grokking Techtalk #43: Payment gateway demystified

  • 1. Payment Gateway Demystified December 11, 2021 Lợi Nguyễn - Technical Architect @ VeXeRe 1
  • 2. Vietnam’s largest online bus booking system vexere.com Self Introduction Name: Lợi Nguyễn Company: ● Vexere - #1 Saas based bus ticket platform in Vietnam ● Chotot - #1 Classified Marketplace in Vietnam ● Blue Orchid - A start-up founded by ex-Grab CTO ● Softfoundry - VoIP product 2
  • 3. Vietnam’s largest online bus booking system vexere.com Vexere Intro - SaaS Based Booking Platform VeXeRe.com is a Vietnamese online bus ticket booking system that operates through many transportation companies. 3
  • 4. Vietnam’s largest online bus booking system vexere.com Vexere Tech Stack 4
  • 5. Vietnam’s largest online bus booking system vexere.com Agenda ● Payment Domain Knowledge ● Payment Gateway Integration ○ Order Creation ○ Order Availability (Optional) ○ Browser Redirect ○ Instant Payment Notification (IPN) ○ Payment Query (QueryDR) ○ Lesson Learned ● Advance Concept ○ Tokenization ○ Credit Card Authorization/Reversal/Settle ● Q/A 5
  • 6. Vietnam’s largest online bus booking system vexere.com What do you get after 2 hour? Basic payment domain knowledge Reliable payment service implementation 3 years lesson learned of integrating with 10 payment gateways for 4 business units @ Vexere
  • 7. Vietnam’s largest online bus booking system vexere.com Payment Domain Knowledge
  • 8. Vietnam’s largest online bus booking system vexere.com Internet Banking Payment API Flow
  • 9. Vietnam’s largest online bus booking system vexere.com Credit Card Payment API Flow
  • 10. Vietnam’s largest online bus booking system vexere.com Payment API Flow
  • 11. Vietnam’s largest online bus booking system vexere.com Simple Payment Integration What problem could occur in this integration flow?
  • 12. Vietnam’s largest online bus booking system vexere.com Simple Payment Integration Problem could arises when: ● User close browser ● User’s network error
  • 13. Vietnam’s largest online bus booking system vexere.com Simple Payment Integration Problem arises when connection between client browser and payment gateway: ● User close browser ● User’s network error
  • 14. Vietnam’s largest online bus booking system vexere.com Payment Gateway Integration
  • 15. Vietnam’s largest online bus booking system vexere.com Lesson Learned 1 How fast you can sync transaction status with others determine how good your payment service is. Implement 3 these API is required ● Redirect ● Instant Payment Notification (IPN) ● Polling (QueryDR)
  • 16. Vietnam’s largest online bus booking system vexere.com Lesson Learned 2 ● Design your payment service for multiple tenant usage, standardize and decouple: ○ Order creation API ■ Design an interface for many payment gateway/method (i.e. momo/zalo/onepay) ○ Order availability API ■ Design clear interface api response format, then use for all merchants. ○ IPN
  • 17. Vietnam’s largest online bus booking system vexere.com Lesson Learned 3 ● Rate limit your IPN to external system (especially to critical system) ● Best practice: max retry is 5 times, sample: ○ Zalopay gateway: 3 times ○ VNpay: 5 times ○ Momo: 3 times Sample: call to like airline booking system
  • 18. Vietnam’s largest online bus booking system vexere.com Tokenization Problem: ● User input wrong card info: (top 6 reason of failed transaction) ○ Card number ○ Card holder ○ Issue/expire date ○ CVN number
  • 19. Vietnam’s largest online bus booking system vexere.com Tokenization
  • 20. Vietnam’s largest online bus booking system vexere.com Tokenization Problem: ● User input wrong card info: (top 6 reason of failed transaction) ○ Card number ○ Card holder ○ Issue/expire date ○ CVN number ● Recurring billing (i.e. electric bill) Solution: ● Tokenization ○ Internet Banking Card Info ○ Visa/Master Card Info
  • 21. Vietnam’s largest online bus booking system vexere.com Tokenization
  • 22. Vietnam’s largest online bus booking system vexere.com Tokenization
  • 23. Vietnam’s largest online bus booking system vexere.com Tokenization - Demo
  • 24. Vietnam’s largest online bus booking system vexere.com Credit Card Authorization Problem: ● Quick refund: ○ Normal visa/master transaction take 7-30 days for refund. Customer won’t be happy. ● Save cost of transaction fee: ○ 2-3% on transaction amount on transaction fee and refund fee.
  • 25. Vietnam’s largest online bus booking system vexere.com Credit Card Authorization Problem: ● Quick refund: ○ Normal visa/master transaction take 7-30 days for refund. Customer won’t happy. ● Transaction fee: ○ 2-3% on transaction amount Solution: 1. Authorization: Lock user account balance 2. Authorization reversal: Unlock user account balance 3. Settle: after user has started or finished their trip
  • 26. Vietnam’s largest online bus booking system vexere.com Credit Card Authorization ● Authorization refers to the process by which the business owner confirms that the customer actually has funds available on their card to complete the transaction. ● Capture, on the other hand, refers to the process by which a transaction moves out of the pending state and you get your money. ● Sale = Authorization + Capture
  • 27. Vietnam’s largest online bus booking system vexere.com Credit Card Authorization ● Credit Card popular transaction type is Sale, which charge user account balance immediately ● But you can implement it differently, just lock user account some amount, then charge later (i.e. after user finished using your service)
  • 28. Vietnam’s largest online bus booking system vexere.com Credit Card Authorization Refund
  • 29. Vietnam’s largest online bus booking system vexere.com Credit Card Refund ● Store authorization transaction id in DB ● Cronjob to scan & settle authorization older than 3-7 days ● Alert Slack when settle failed
  • 30. Vietnam’s largest online bus booking system vexere.com Demo ● Integrated with 10 payment gateway/wallet in Vietnam ● Integrated with 4 business units at Vexere ● Has 4 payment method: ○ Credit card payment ○ Internet banking payment ○ Wallet payment ○ QRCode
  • 31. Vietnam’s largest online bus booking system vexere.com Q&A 31
  • 32. Vietnam’s largest online bus booking system vexere.com Reference ● https://blog.clover.com/payment-gateway-vs-payment-processor-what-is-the-difference/ ● https://home.bluesnap.com/snap-center/blog/global-payment-processor/ ● https://docs.vexere.net/pages/viewpage.action?pageId=17205847 32
  • 33. Vietnam’s largest online bus booking system vexere.com Payment Terms ● Issuing bank - The customer’s bank that issued their credit card. ● Merchant - The business supplying goods or services for sale. This can be in-person or online. ● Merchant account - A merchant account is a special account that lets you accept and process digital payments. This includes purchases made with credit or debit cards and other forms of electronic payments. ● Acquiring bank - The bank that hosts the merchant’s credit card processing account. ● Payment processor - The service that sends transaction info between the merchant, the issuing bank, and the acquiring bank. ● Payment gateway - The equivalent to a point of sale system for online transactions, it encrypts and transmits information to the payment processor. A payment gateway provides integrations into different e-commerce platforms and APIs to perform transactions. It also receives authorization for the banks to move money from the customer to the merchant. ● Payment tokenization - The process of converting the customer’s card to another number to secure their private information for the online purchase.
  • 34. Vietnam’s largest online bus booking system vexere.com Agenda ● Payment Domain Knowledge ● Payment Gateway Integration ○ Order Creation ○ Order Check (Optional) ○ Browser Redirect ○ Instant Payment Notification (IPN) ○ Payment Query (QueryDR) ● Advance Concept ○ Tokenization ○ Credit Card Authorization/Reversal/Settle ● Q/A 34
  • 35. Vietnam’s largest online bus booking system vexere.com Thank you <3 35 Join us: ● Software Engineer ● Product Manager ● Product UX Designer careers.vexere.com