CCS API - Detailed Design
CCS API - Detailed Design
CCS API - Detailed Design
Version: 0.2
11th Dec 2018
Document Control Information
Document Information
Document Identification CCS-API-v1
Client RACV
Document Author
Document Version V0.2
Document Status
Date Released 11-Dec-2018
Name Organization/Title
Table of Contents
2 Scope
2.1 In-Scope
Functions: CC entry, CC payments, batch payment conversions, CC deletions.
Systems: SCV, RPD, SAP, MMO, Hub, CC service.
RACV Lines of Business: ERA, EHA, Insurance, Club, Resorts, Membership.
External Parties: SecurePay, NAB.
2.2 Out-of-Scope
ReferenceTpCd codes 1986,1122,1003,1004 and 1005 for add charge card.
Key Rotation Service
Online Pre-Authorization Service
DeleteByTemporary-service
SAP Connect API.
Make SAP Payment
Get Payment Form
Online Refunds
3 References
This document must be read in conjunction with the following high-level documents.
Document Name Version Author Description
CCS functions v0.1.pptx 0.1 <description>
4 System Participants
System Type Description
CCS API Description
Database Consumer
HUB Wrapper Data Provider Description
NAB
MMO
SCV
SAP
5 Assumptions
Id Description
A1
A2
A3
A4
A5
6 Dependencies
Id Description
CCS DB The DB2 database for CCS
CUST DB
HUB Wrapper The MQ wrapper to interact with RPD
Secure Pay Gateway to connect to NAB system
7 Solution Context
The diagram depicts the dependencies required by CCS API.
External consumers (MMO, SCV and SALESFORCE) would be calling ccs-exp-api(experience)
running in CloudHub, whereas internal consumers can connect directly to experience APIs.
The IAG will connect directly to the pbtm-prc-api running on cloudhub.
POST /api/ccsDBInsert
PUT /api/ccsDBUpdate
DELETE /api/ccsDBDelete
sys-rpd-db2- api sAPI POST /api/ccsDBSelect
POST /api/modifyParty
DELETE /api/deleteParty
DELETE /api/nabDelete
sys-nabconnect-api sAPI POST /api/nabTransaction
The Sequence Diagram and high-level component interaction diagram is as given below:
9.1 Interaction
9.1.1 Scenario 1: ReferenceTpCd = 1000
This operation is to add/update a charge card in local CCS DB (WPS_REF) and also to
associate the charge card with a party in RPD if requested. This operation will be invoked
after getting direct response from token provider (TP) and a token value.
We will check the CCS db to check if record already exists per the value of parameters in
the request. In case it does we have to perform db Update otherwise a new record needs
to be inserted
Add Request contains request for three types of ReferenceTpCd :
1000 (RPD Payment Source ID): In this scenario the charge card details will be stored
in CCS DB, and in RPD. For this request, CCS will send modify party request to HUB via
MQ binding. It will invoke its CCSHubWrapper Service to transform modify party
request in cornerstone format. CCSHubWrapper will put the message in request
queue RACV.CS.HUB.REQ and will expect the response. The response will contain the
paymentSourceId. Post the response from hub we shall make a db
insert/update(refer to the DB mappings).
1002 (No reference): In this scenario CCS, the charge card details will be stored in CCS
DB only(refer to the DB mappings)..
1001 (SAP Receipt Number): In this scenario CCS, the charge card details will be
stored in CCS DB only(refer to the DB mappings)..
9.3 API Specification
POST /api/addChargeCard
Description Add or update the charge card
Direct URI
https:// prc-addchargecard-api-{env}-s1.au.cloudhub.io/api/addChargeCard
Status
Please refer to Status Codes below in the document
Codes
Sample
Request
Req_1000.txt Req_1001.txt Req_1002.txt
Add Charge Card Sample Response referenceTpCd values 1000,1001 and 1002
10.1 Interaction
10.1.1 Token retrieved against reference id is associated with just one transaction:
10.1.2 Token retrieved against reference id is associated with multiple transactions:
10.2 Functional Overview
This API is used for deleting charge card from CC database. It will delete the CC details by
passing reference number. This CC service will further invoke SecurePay to delete CC from
its vault if applicable.
When a charge card is deleted from RPD, this API is to delete that record from CCS DB and TP vault.
It will be invooked passing referenceTpCd and reference value in the request.
Prc-deletebyreference-api will fetch record based on these two parameters from CCS DB. It checks
whether token value of this fetched record is associated to any other record also
If not associated send delete request to SecurePay for deletion of CC. On successful response
from SecurePay it deletes the record physically from CCS DB also. To delete the charge card
from SecurePay, API will send a NAB XML request to secure pay URL.
If token value is associated to any other record also, then delete this record from CCS DB
Only.
This operation returns the final response with successfully deletion of reference.
Base URI
https:// exp-ccs-api-{env}-s1.au.cloudhub.io/api/ccsServices
(exp api uri)
Base URI
https://prc-deletebyreferenceid-api-{env}.au/api/deleteByRefrenceID
(direct uri)
SampleRequest
Request.txt
Sample
Response Response.txt
deleteBy Example
Referenc
deleteByReferenceID
eID
Response (XML)
Request(
XML)
serviceH
serviceHeader
eader
refrenceT
refrenceTpCd
pCd
reference reference
returnType Hardcode to "S",
returnCode Hardcode to "Success"
returnText Hardcode to "Record Deleted Successfully"
sourceSystemReturnType Hardcode to "S"
sourceSystemReturnCode Hardcode to "Success"
sourceSystemReturnText Hardcode to "Record Deleted Successfully"
sourceSystemIdentifier Hardcode to "CCS"
11.1.1 Interaction
POST /api/makePayment
Description To make payment against a charge card
Base URI
https://exp-ccs-api-{env}-s1.au.cloudhub.io/api/makePayment
(exp api uri)
Base URI
https://prc-onlinetransaction-api-{env}.au/api/makePayment
(direct uri)
Sample
Response response.xml
11.1.4 Mappings
makePayment_map
pings.xlsx
11.2 makeRefund:
11.2.1 Interaction
POST /api/
Description
Base URI
https://exp-ccs-api-{env}-s1.au.cloudhub.io/api/makeRefund
(exp api uri)
Base URI
https://prc-onlinetransaction-api-{env}.au/api/makeRefund
(direct uri)
SampleRequest
request.xml
Sample
Response response.xml
11.2.4 Mappings
makeRefund_mappi
ngs.xlsx
12.1 Interaction
12.2 Functional Overview
SampleRequest
Sample
Response
12.4 Mappings
13.1 Interaction
13.2 Functional Overview
Base URI
(exp api uri)
Base URI
(direct uri)
SampleRequest
Sample
Response
13.4 Mappings
14.1 Interaction
Direct URI
https://prc-getpostform-api.{env}-s1.cloudhub.io/getpostform
Status
Please refer to Status Codes below in the document
Codes
Sample
Request getPostFormReque getPostFormReque
st-club.xml st.xml
GetPostFormRespo
Sample nse.xml
Response
14.4 Mappings
GetPostForm
Mappings.xlsx
15.1 Interaction
15.2 Functional Overview
This API is used to generate a MMO form based on the request parameters passed by the user and
based on the request this api generates an encrypted form and fingerprint details in response.
client_id – required
HTTP Headers
client_secret – required
content-type – application/xml
Base URI
https://prc-getmmoform-api.{env}-s1.cloudhub.io/getmmoform
(exp api uri)
Base URI
https://prc-getmmoform-api.{env}-s1.cloudhub.io/getmmoform
(direct uri)
SampleRequest
GetMMORequest.x
ml
Sample
Response GetMMOResponse.
xml
15.4 Mappings
Get MMOForm
Mappings.xlsx
Base URI
(exp api uri)
Base URI
(direct uri)
SampleRequest
Sample
Response
16.4 Mappings
19 Status Codes
Error Codes
200 Status Code API responds successfully with a positive response.
400 Status Code Bad request
20.2 CORS
CORS (Cross-origin resource sharing) is a standard mechanism that allows JavaScript
XMLHttpRequest (XHR) calls executed in a web page to interact with resources from non-origin
domains.
CORS is a commonly implemented solution to the "same-origin policy" that is enforced by all
browsers.
20.5 Throttling
Throttles the number of messages per time period processed by an API. Queues any messages
beyond the maximum for later processing.
21 pAPI – Surcharge Details API
21.1 Interaction
client_id – required
HTTP Headers
client_secret – required
content-type – application/xml for CRUD Operations only
Base URI https://prc-surchargedetails-api-sit.au-s1.cloudhub.io/api/retrieval -Retrieve
(exp api uri) https://prc-surchargedetails-api-sit.au-s1.cloudhub.io/api/surcharge - Crud Operations
Base URI https://prc-surchargedetails-api-sit.au-s1.cloudhub.io/api/retrieval -Retrieve
(direct uri) https://prc-surchargedetails-api-sit.au-s1.cloudhub.io/api/surcharge - Crud Operations
Status Codes
SampleRequest
SurchargeDetailsRe
quest.xml
Sample
Response
Successful.
21.4 Mappings
Surcharge
Mappings.xlsx