Download presentation
Presentation is loading. Please wait.
Published byCory Butler Modified over 8 years ago
1
All images © Mat Wright GOPI Training Technical Overview www.britishcouncil.org1
2
Introduction What is GOPI? Global Online Payment Interface Why was it created? To act as a gateway between computer systems that require online payment capability and the Payment Service Provider (PSP) To prevent repeated implementation / integration for each system www.britishcouncil.org2
3
In the beginning there was direct integration… Direct integration between each application and PSP resulting in duplicated testing and certification (JPM) www.britishcouncil.org3
4
The only way is the GOPI way… Single development, testing and certification of integration between GOPI and PSPs www.britishcouncil.org4
5
System components and technologies GOPI consists of four components: Core platform Admin UI Transaction tracker Client www.britishcouncil.org5
6
System components and technologies Core Platform Purpose: A standard API gateway for integrating “Book and Pay” systems with Payment Service Providers (PSP) Technologies.NET Framework 4.0 ASP.NET MVC 4.0 www.britishcouncil.org6
7
System components and technologies Admin UI Purpose: Manage security (users and roles) Manage Payment Provider configuration Produce reconciliation reports Technologies:.NET Framework 4.0 ASP.NET MVC 4.0 & AngularJS www.britishcouncil.org7
8
System components and technologies Transaction Tracker Purpose: Check transaction log (GOPI_LOG) for incomplete transactions Query the status of transactions with PSPs Notify calling system (ORS, REX etc) of outcome Technologies:.NET Framework 4.0 Console application Runs as scheduled task www.britishcouncil.org8
9
System components and technologies Client Purpose: A client-access library to be used by calling systems (ORS, REX etc) Submits transaction details to GOPI and parses the outcome response Technologies:.NET Framework 4.0 Class library www.britishcouncil.org9
10
System components and technologies And also the Test Client Purpose: To submit a test transaction to Core Platform environments Technologies:.NET Framework 4.0 ASP.NET MVC 4.0 www.britishcouncil.org10
11
Key aspects of database design There are two databases used by GOPI: GOPI_ADMIN – containing configuration, reconciliation data and security settings GOPI_LOG – containing transaction log data, and settings for transaction tracker www.britishcouncil.org11
12
GOPI_ADMIN Database Configuration data is held in four tables. www.britishcouncil.org12
13
GOPI_ADMIN Database MerchantProvider table Contains details of Payment Service Providers systems, currently JP Morgan Paymentech and Global Payments Global Iris www.britishcouncil.org13 ColumnPurposeJPM?GP? MerchantProviderIdInternal IDYY MerchantProviderNameName of PSPYY TestModeEnabledIndicates test systemY UserNameUsername for PSP systemYY PasswordPassword for PSP systemYY TerminalIdThe terminal IDY HandshakeUrlURL to setup sessionY PayUrlURL for payment pageYY QueryStatusUrlURL for querying statusYY CreditCardTypesSupported credit card typesY
14
GOPI_ADMIN Database MerchantProviderSettings table Merchant / Country / Currency settings www.britishcouncil.org14 ColumnPurposeJPM?GP? MerchantProviderIdMerchant provider IDYY CountryIsoCodeISO code of countryYY CurrencyCodeCurrency of transactionYY MerchantIdMerchant ID (JPM) / Account (GP)YY ThreeDSecurityEnabledIs 3D Secure enabledY CurrencyDecimalDigitsThe number of digits of currency sub-unit Y CreditCardTypesCredit cards available in this country Y
15
GOPI_ADMIN Database SystemAccount table The list of systems that are permitted to use GOPI, e.g. ORS, REX etc www.britishcouncil.org15 ColumnPurposeJPM?GP? SystemAccountIdInternal IDYY AccountNoSystem account codeYY WebSiteUrlURL of systemY HostedPageCssUrlURL of CSS to be used on DHPPY
16
GOPI_ADMIN Database SystemAccountCountrySettings table The list of permitted system, country and merchant combinations www.britishcouncil.org16 ColumnPurpose AccountNoSystem account code CountryIsoCodeISO code of country MerchantProviderIdID of merchant provider
17
GOPI_ADMIN Database - continued Reconciliation Reports in one table, and security in three tables. www.britishcouncil.org17
18
GOPI_LOG Database Transaction log data in three tables. www.britishcouncil.org18
19
GOPI_LOG Database GatewayActivityLog table Contains an record for each action performed by GOPI, denoted by LogTypeId www.britishcouncil.org19 ColumnPurposeJPM?GP? GatewayActivityLogIdGUIDYY LogDateTimeDate/Time of recordYY LogTypeIdType of actionYY PaymentGatewayProviderTokenToken from PSPY ParentGatewayActivityLogIdParent recordYY MerchantProviderIdID of merchant providerYY ResponseAcknowledgedOutcome confirmed by calling system YY
20
GOPI_LOG Database LogData table Detailed data relating to each entry in GatewayActivityLog www.britishcouncil.org20 ColumnPurpose GatewayActivityLogIdGUID of gateway activity log LogDataData received at gateway Exception RawDataData sent from gateway LogDateTimeDate/Time of record
21
GOPI_LOG Database ReferenceNumberTranslate table Contains mapping of system generated reference number and GOPI reference number www.britishcouncil.org21 ColumnPurpose IdInternal ID OriginalReferenceNumberReference number generated by calling system GeneratedReferenceNumberReference number generated by GOPI
22
GOPI_LOG Database - continued Transaction tracker data stored in three tables. www.britishcouncil.org22
23
Fundamental architecture and data flow Core Platform uses three basic MVC routes: Request – transaction to be processed Response – response from PSP Acknowledge – confirmation from system that it is aware of outcome www.britishcouncil.org23
24
Fundamental architecture and data flow There are seven Log Types: InitialRequest – request initially received by GOPI from calling system HandshakeResponse – response to a “handshake” with PSP Callback – callback received from PSP StatusCheck – response to query status with PSP FinalResponse – callback to calling system with outcome of transaction AcknowledgeResponse – Message from calling site that final reponse has been received www.britishcouncil.org24
25
How JP Morgan (JPM) provider works GOPI integrates with JP Morgan Paymentech system. Two environments: Production, https://ppipe.nethttps://ppipe.net Test, https://test.ppipe.nethttps://test.ppipe.net Each environment has a different username & password. Access to both environments is restricted by IP address whitelist. Changes to our IP addresses that are whitelisted is done via a Technical Profile Questionnaire (TPQ) document. The Callback URL is specified in the XML submitted when initialising the a transaction session. Each country is assigned a Merchant ID (MID). www.britishcouncil.org25
26
How JP Morgan (JPM) provider works Dynamic Hosted Payment Page The content of the Dynamic Hosted Payment Page (DHPP) is controlled by JPM, including all HTML and JavaScript. Branding of the DHPP is achieved via a single CSS file, which is hosted on GOPI web site. The CSS file limits us to changing the following; Banner image Styles Some text content, e.g. labels and buttons www.britishcouncil.org26
27
How JP Morgan (JPM) provider works www.britishcouncil.org27
28
Development environment - JPM The development environment for JPM provider is standard. A development workstation on GSN network connects to JPM Paymentech, assuming IP address is whitelisted. www.britishcouncil.org28
29
Testing environment - JPM www.britishcouncil.org29
30
Production environment - JPM www.britishcouncil.org30
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.