42
The Payments Institute July 21-24, 2019 • Emory University, Atlanta GA School of Study: Masters, Payments Innovation and Technology, and Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz

School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

The Payments InstituteJuly 21-24, 2019 • Emory University, Atlanta GA

School of Study: Masters, Payments Innovation and Technology, and Payments Risk Management Masters Programs

Advanced APIsXYZs of APIs

Orlando Santos, Payrailz

Page 2: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

So what is an API?

Always on and communicating real-time

• Anyone that has integrated a third-party service or completed an acquisition understands the effort required to get different systems to communicate with each other. APIs are tools that do just that. Acting as a sort of universal adaptor for data, APIs create a common language for different systems to communicate and exchange information.

• Traditionally, APIs have been proprietary, non-standardized, and designed for internal use only. Today, the industry is developing open API standards that can facilitate data-sharing between companies.

Page 3: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

And what are APIs used for?

Page 4: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

And what else are APIs used for?

Page 5: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

Are there more uses for APIs?

Page 6: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

Always on!

Page 7: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

• Locations

• Make an Appointment

• Account Validation Services

• Foreign Exchange

• Payment Initiation

• Push to Card

• Payment Status

• Positive Pay

• Login/Verify Login Credentials

• Statement Download

• Account Balance/Aggregation

• Image Retrieval

• Tax Information

• …

And even in Financial Services!

Page 8: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

Designing an API

Page 9: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

Design Considerations

• API design or API architecture refers to the process of developing a software interface that exposes backend data and application functionality for use in new applications.

• A well-designed API should reflect the goals of the business it is designed to serve –otherwise API design can actually hinder the objectives driving the interface’s creation.

• API architects should always focus on real-world requirements rather than technical elegance.

• There is a common belief that Web APIs should conform to the constraints of the REST architectural style.

• APIs should be designed around core practical considerations.

Page 10: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

Developer Community Considerations

• One of the key principles of good API design is that an interface must provide a seamless and user-friendly developer experience (DX) if it is to facilitate the creation of applications that add value to the API owner’s business.

Page 11: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

Web API Architectural Styles

• Web API describes any software interface that is exposed over the Web using the HTTP protocol in order to facilitate application development(but not limited to any particular message format, pattern or implementation).

Page 12: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

• For a Web API to function effectively, it must meet a range of functional and non-functional requirements. These requirements are essentially software qualities the interface should display.

API Architectural Layers

Page 13: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

• The API server architecture is divided into a number of layers, through which each request must travel before reaching the API implementation itself. Each layer allows the interface to meet a key functional or non-functional requirement.

• This simplifies the process of interface design because each key software quality is abstracted away from the API implementation and handled in a centralized API server architecture, which can be used across multiple interfaces.

Layered Style of API Architecture

Page 14: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

• The USE Paradigm states that, by focusing on designing a Web API that exhibits these three qualities, you can create an interface that offers a better experience both for the developers who build client apps against your API and the end users who consume these apps, while also extending the longevity of these apps…

API USE Paradigm

Page 15: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

• Take into consideration who your target developers are, what they are interested in doing and what skill level they have.

• Must be able to effectively handle a growing workload over time.

• Must have evolvability to be able to grow and handle extra load over time. API should be able to evolve and adapt to changing circumstances. Make systems adaptive by designing in the ability to extend in order to quickly react to new developer needs and possibilities without breaking existing client apps.

API USE Paradigm

Page 16: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

• Microservice architecture is helping an increasing number of organizations to minimize the time required for software application projects and to maximize the reliability of backend systems. APIs are essential to microservice architecture.

Microservices Architecture

• Each microservice delivers a focused set of functions enabling systems and applications to be quickly composed by combining functionality from a collection of services.

Page 17: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on
Page 18: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

Dissecting an API

Page 19: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

• A private API is an interface that opens parts of an organization’s backend data and application functionality for use by developers working within (or contractors working for) that organization. The new applications these developers create may be distributed publicly but the interface itself is unavailable to anyone not working directly for the API publisher.

Private or Public?

Page 20: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

• An open or public APIs is an interface that has been designed to be easily accessible by the wider population of Web and mobile developers. This means an open API may be used both by developers inside the organization that published the API or by any developers outside that organization who wish to register for access to the interface.

Private or Public?

Page 21: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

• REST (Representational State Transfer) API has no official standard at all because it is an architectural style.

• SOAP (Simple Order Access Protocol) API has an official standard because it is a protocol.

• RESTful Web services (RWS) allow the requesting systems to access and manipulate textual representations of Web resources by using a uniform and predefined set of stateless operations.

• In RWS, requests made to a resource's URI will elicit a response with a payload formatted in HTML, XML, JSON, or some other format.

SOAP v REST

• When HTTP is used, the operations (HTTP methods) available are GET, HEAD, POST, PUT, PATCH, DELETE, CONNECT, OPTIONS and TRACE.

Page 22: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

SOAP v REST

Page 23: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

• Both JSON (JavaScript Object Notation) and XML (eXtensible Markup Language) can be used to receive data from a web server.

• XML is much more difficult to parse than JSON.

• JSON is parsed into a ready-to-use JavaScriptobject.

JSON v XML Syntax

Page 24: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

• OAuth is about authorization and not authentication.

• OAuth 2.0 tells you what somebody is allowed to do. Authorization is asking for permission to do stuff.

• The common analogy is OAuth is the valet key to your car. The valet key allows the valet to start and move the car but doesn’t give them access to the trunk or the glove box.

Open Authorization (OAuth) Protocol

Page 25: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

• Authentication is about proving you are the correct person because you know things.

• API keys

• OAuth access tokens

• JSON Web Tokens (JWT)

• IP Whitelisting

API Authentication

Page 26: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

• API testing is entirely different from GUI testing and mainly concentrates on the business logic layer of the software architecture. This testing won't concentrate on the look and feel of an application.

• Instead of using standard user inputs (keyboard) and outputs, in API testing you use software to send calls to the API, get output, and note the system's response.

• An API Sandbox is an environment that testers can use to mimic the characteristics of the production environment and create simulated responses from all APIs the application relies on.

How do I test an API?

Page 27: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

• Extended reach to new markets and devices (IoT/IoE)

• Generate new business/customers

• Enhanced branding

• Competitive advantage

• Better partner/supplier alignment

• Increased innovation and scale

Business Drivers of APIs

Page 28: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

API Lifecycle Management and Governance

Page 29: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

Reinventing Bill Pay…with APIs

Page 30: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

• The current bill pay model is broken and ripe for disruption; for all stakeholders, the experience is inadequate and fragmented.

The market opportunity

Page 31: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

The market opportunity

Page 32: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

Transaction Flow – ACH/RTP/Card

Page 33: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

Consumer Initiated Linking via Partner

Page 34: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

Afinis – Furthering Standardization of APIs Using REST/JSON and ISO 20022

Page 35: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

Who is Afinis?

• Afinis Interoperability Standards is a membership-based standards organization that brings together diverse collaborators – through innovative and agile processes – to develop implementable, interoperable and portable standards across operating environments and platforms.

• Afinis seeks to advance API standardization and other financial services standards to increase efficiency, innovation and interoperability in the industry.

• Standards drive adoption. Adoption drives ubiquity.

Page 36: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

Afinis Members

Page 37: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

API Lifecycle Management and Governance

Page 38: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

API Catalogue

Page 39: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

APIs in Development

Page 40: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

Payments Federated Directory

• Enables payees (billers, merchants, etc.) to register their electronic payment identity.

• Allows payees to specify their preferred method of payment.

• Enables payers to retrieve APIs to facilitate electronic payments.

• Allows multiple payment types to be listed in the directory.

• Supports related business information.

• Supports retrieval of payment routing instructions.

• Furthers electronification of payments for various use cases.

Page 41: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on

Payments Federated Directory Roles

Credentialed Service Provider (CSP) 1

CSP1 Payer/Financial Institution

Credentialed Service Provider (CSP) 2

CSP2 Payee/Financial

Institution

Central Authority (Blockchain), Nacha, ACH Network

CSP-2-CSP API Initiate Payment APITransaction Status API

Page 42: School of Study: Masters, Payments Innovation and ... · Payments Risk Management Masters Programs Advanced APIs XYZs of APIs Orlando Santos, Payrailz. So what is an API? Always on