Peter Afanasiev - Architecture of online Payments

6,798 views

Published on

Payment Service Providers
Merchant Payment Systems
General architecture of a Payment System

Know-hows:
Payment queues with MSSQL Broker
Adapter Polymorphism
Tracing in Service Oriented World
Dynamic configuration editor with ASP.Net MVC

Published in: Technology, Economy & Finance
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,798
On SlideShare
0
From Embeds
0
Number of Embeds
241
Actions
Shares
0
Downloads
275
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide
  • 1. Basic flow showing queues, adapter encapsulation, web pooling, popups
  • Peter Afanasiev - Architecture of online Payments

    1. 1. Architecture of Payment Systems<br />PetrAfanasiev<br />Software engineer<br />Betsson Technologies<br />
    2. 2. Relevance<br />Internet business is developing<br />More & more products are being sold online<br />More & more services are build on top of payments<br />
    3. 3. Plan<br />
    4. 4. Payment Systems<br />
    5. 5. Payment Service Providers<br />
    6. 6. Payment Service Providers<br />Actual bank Processing<br />Multiple Banks<br />Multiple Countries<br />
    7. 7. PSP<br />Credit Card<br />eWallet<br />Bank Transfer<br />Vouchers<br />The fastest<br />Most used<br />Most secure*<br />Supports only some banks<br />Difficult withdrawals<br />Security standards<br /><ul><li>No limits!
    8. 8. The slowest
    9. 9. Requires manual work
    10. 10. May seem more trustworthy
    11. 11. High integration cost
    12. 12. Low popularity
    13. 13. Lot’s of fun for marketing
    14. 14. Local market
    15. 15. No withdrawals</li></li></ul><li>PSP<br />Credit Card<br />eWallet<br />Bank Transfer<br />Vouchers<br />The fastest<br />Most used<br />Most secure*<br />Supports only some banks<br />Difficult withdrawals<br />Security standards<br /><ul><li>No limits!
    16. 16. The slowest
    17. 17. Requires manual work
    18. 18. May seem more trustworthy
    19. 19. High integration cost
    20. 20. Low popularity
    21. 21. Lot’s of fun for marketing
    22. 22. Local market
    23. 23. No withdrawals</li></li></ul><li>Payment System<br />Consolidate PSPs into 1 module<br />High Acceptance Rate<br />Different payment options by country<br />Fraud Protection<br />Monitoring & Reporting<br />Custom business flows<br />
    24. 24. Acceptance Rate<br />PSP1<br />PSP2<br /><ul><li>432156
    25. 25. 432157
    26. 26. 432158
    27. 27. 432159
    28. 28.
    29. 29. 432299
    30. 30. 473485
    31. 31. 473486
    32. 32. 473487
    33. 33. 473488
    34. 34.
    35. 35. 473799</li></ul>Bin serie<br /><ul><li>Payment Systems know which PSP to use with which Credit Card</li></li></ul><li>Provider Chains<br />It get’s even better ;)<br />4321 5678 9012 1234<br /><ul><li>If one provider failed to process a card – it’s passed to the next provider in chain</li></ul>Chain1<br />Chain2<br />PSP1<br />PSP2<br />PSP2<br />PSP3<br />PSP3<br />PSP5<br />
    36. 36. Developer overview of Betsson Payments Architecture<br /><ul><li>Scalability
    37. 37. Provider encapsulation
    38. 38. Provider Configuration
    39. 39. Tracing</li></li></ul><li>
    40. 40. Simplified Flow<br />
    41. 41. Dynamic configuration editor with Asp.Net MVC<br />The Problem:<br />Hard to maintain config file<br />8000 lines of config code<br />Each adapter defines it’s own config section<br />Continuous problems with merging, synchronization, human error<br />
    42. 42. Dynamic configuration editor with Asp.Net MVC<br />Easily editable<br />Validated (schema and content)<br />Saved to database<br />Passed over network<br />
    43. 43. Dynamic configuration editor with Asp.Net MVC<br />
    44. 44. Dynamic configuration editor with Asp.Net MVC<br />
    45. 45. Dynamic configuration editor with Asp.Net MVC<br />
    46. 46. Dynamic configuration editor with Asp.Net MVC<br />
    47. 47. Tracing in Service Oriented Architecture<br />
    48. 48. Tracing in Service Oriented Architecture<br />How to trace payment request flow across service domain?<br />PaymentID ?<br />SessionID ?<br />ActivityID!<br />
    49. 49. Tracing in Service Oriented Architecture<br />
    50. 50. Tracing in Service Oriented Architecture<br />
    51. 51. Tracing in Service Oriented Architecture<br />
    52. 52.
    53. 53. PetyaAfanasievpaf@ciklum.netBetsson TechnologiesCiklum<br />

    ×