aws-samples / aws-serverless-airline-booking

Airline Booking is a sample web application that provides Flight Search, Flight Payment, Flight Booking and Loyalty points including end-to-end testing, GraphQL and CI/CD. This web application was the theme of Build on Serverless Season 2 on AWS Twitch running from April 24th until end of August in 2019.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Payment] New API

heitorlessa opened this issue · comments

Payment today is largely a thin abstraction to Stripe, as we wanted to demonstrate how customers could use SAR for app composition. As the Airline evolved, payment SAR App didn't.

We can fix this and other related issues like latency, disjoint endpoints, and AuthZ, by creating the API end-to-end, yet talking to Stripe directly instead of through the SAR App.

Minimal changes:

  • Recreate Stripe SAR App API - payment authorization, payment collection, payment refund
  • Ensure idempotency as Stripe does
  • Integrate GraphQL API with new Payment API directly via HTTP Data Sources
  • Update Process Booking State Machine to use Payment API not cross-function invoke
  • Tests

Optional depending who's tackling the issue:

  • Use Ports & Adapters to more easily change Payment gateway
    • Front-end might not be easily swappable due to iFrame security protections & card elements

I am interested in fixing this issue. it will be great opportunity to solve it, if you allot me this issue . @heitorlessa @sthulb @julienlepine @hyandell @deldrid1