Open API Specification
RTP.yaml
#==================================================================
#======================== PayCenter RTP API
#==================================================================
openapi: "3.0.1"
info:
title: "PayCenter RTP API"
description: "PayCenter RTP API details"
version: "v1"
servers:
-
url: "https://wag01.eagle.jhapaycenter.com/v1/institutions"
security:
-
default: []
#==================================================================
#======================== Paths
#==================================================================
#==================================================================
#======================== Credit Transfer API
#==================================================================
paths:
/{rtnnumber}/environments/{envname}/products/paycenter/networks/rtp/credit-transfers:
post:
tags:
- "Credit Transfer"
summary: "CreditTransfer API"
operationId: "ct"
parameters:
-
name: "rtnnumber"
in: "path"
required: true
style: "simple"
explode: false
schema:
type: "string"
format: "string"
-
name: "envname"
in: "path"
required: true
style: "simple"
explode: false
schema:
type: "string"
format: "string"
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/CTRequest"
responses:
201:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/CTResponse"
404:
description: "Details Not Found"
content:
application/json:
schema:
$ref: "#/components/schemas/CTErrorResponse"
422:
description: "API System Validation Error"
content:
application/json:
schema:
$ref: "#/components/schemas/CTErrorResponse"
500:
description: "Internal Server Error"
content:
application/json:
schema:
$ref: "#/components/schemas/CTErrorResponse"
security:
-
default: []
x-auth-type: "Application & Application User"
x-throttling-tier: "Unlimited"
x-wso2-application-security:
security-types:
- "oauth2"
optional: false
#==================================================================
#======================== Request for Payment API
#==================================================================
/{rtnnumber}/environments/{envname}/products/paycenter/networks/rtp/payment-requests:
post:
tags:
- "Request for Payment"
summary: "RequestforPayment API"
operationId: "rfp"
parameters:
-
name: "rtnnumber"
in: "path"
required: true
style: "simple"
explode: false
schema:
type: "string"
format: "string"
-
name: "envname"
in: "path"
required: true
style: "simple"
explode: false
schema:
type: "string"
format: "string"
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/RfPRequest"
responses:
201:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/RfPResponse"
404:
description: "Details Not Found"
content:
application/json:
schema:
$ref: "#/components/schemas/RfPErrorResponse"
422:
description: "API System Validation Error"
content:
application/json:
schema:
$ref: "#/components/schemas/RfPErrorResponse"
500:
description: "Internal Server Error"
content:
application/json:
schema:
$ref: "#/components/schemas/RfPErrorResponse"
security:
-
default: []
x-auth-type: "Application & Application User"
x-throttling-tier: "Unlimited"
x-wso2-application-security:
security-types:
- "oauth2"
optional: false
#==================================================================
#======================== Request for Refund API
#==================================================================
/{rtnnumber}/environments/{envname}/products/paycenter/networks/rtp/refund-requests:
post:
tags:
- "Request for Refund"
summary: "RequestforRefund API"
operationId: "rfr"
parameters:
-
name: "rtnnumber"
in: "path"
required: true
style: "simple"
explode: false
schema:
type: "string"
format: "string"
-
name: "envname"
in: "path"
required: true
style: "simple"
explode: false
schema:
type: "string"
format: "string"
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/RfRRequest"
responses:
201:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/RfRResponse"
404:
description: "Details Not Found"
content:
application/json:
schema:
$ref: "#/components/schemas/RfRErrorResponse"
422:
description: "API System Validation Error"
content:
application/json:
schema:
$ref: "#/components/schemas/RfRErrorResponse"
500:
description: "Internal Server Error"
content:
application/json:
schema:
$ref: "#/components/schemas/RfRErrorResponse"
security:
-
default: []
x-auth-type: "Application & Application User"
x-throttling-tier: "Unlimited"
x-wso2-application-security:
security-types:
- "oauth2"
optional: false
#==================================================================
#======================== Response To Request For Payment API
#==================================================================
/{rtnnumber}/environments/{envname}/products/paycenter/networks/rtp/response-to-payment-requests:
post:
tags:
- "Response To Request for Payment"
summary: "ResponseToRfp API"
operationId: "ResponseToRfp"
parameters:
-
name: "rtnnumber"
in: "path"
required: true
style: "simple"
explode: false
schema:
type: "string"
format: "string"
-
name: "envname"
in: "path"
required: true
style: "simple"
explode: false
schema:
type: "string"
format: "string"
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/ResponseToRfpRequest"
responses:
201:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/ResponseToRfpResponse"
404:
description: "Details Not Found"
content:
application/json:
schema:
$ref: "#/components/schemas/ResponseToRfpErrorResponse"
422:
description: "API System Validation Error"
content:
application/json:
schema:
$ref: "#/components/schemas/ResponseToRfpErrorResponse"
500:
description: "Internal Server Error"
content:
application/json:
schema:
$ref: "#/components/schemas/ResponseToRfpErrorResponse"
security:
-
default: []
x-auth-type: "Application & Application User"
x-throttling-tier: "Unlimited"
x-wso2-application-security:
security-types:
- "oauth2"
optional: false
#==================================================================
#======================== Components sections (Schema Definition)
#==================================================================
#==================================================================
#======================== Schema Definition - CreditTransfer
#==================================================================
components:
schemas:
CTRequest:
properties:
CreditTransfer:
$ref: "#/components/schemas/CreditTransfer"
CreditTransfer:
type: "object"
properties:
Debtor:
$ref: "#/components/schemas/CTDbtr"
Creditor:
$ref: "#/components/schemas/CTCrdr"
CreditTransferDescription:
$ref: "#/components/schemas/CTDesc"
CTDbtr:
required:
- "AccountNumber"
type: "object"
properties:
AccountNumber:
type: "string"
example: "201990001"
UltimateDebtor:
$ref: "#/components/schemas/UltDbdr"
UltDbdr:
required:
- "Name"
type: "object"
properties:
Name:
type: "string"
example: "Martin Hess"
CTCrdr:
required:
- "AccountNumber"
- "Name"
- "RoutingNumber"
type: "object"
properties:
Name:
type: "string"
example: "Jamie Brendon"
RoutingNumber:
type: "string"
example: "234567891"
AccountNumber:
type: "string"
example: "US88664715164441"
UltimateCreditor:
$ref: "#/components/schemas/UltCdtr"
UltCdtr:
required:
- "Name"
type: "object"
properties:
Name:
type: "string"
example: "George"
CTDesc:
required:
- "Amount"
- "OriginatorType"
- "UserName"
type: "object"
properties:
Amount:
type: "number"
example: 90.01
OriginatorType:
type: "string"
example: "BUSINESS"
enum:
- "CONSUMER"
- "BUSINESS"
UserName:
type: "string"
example: "RTPUATUser"
Notes:
type: "string"
example: "Test Transaction"
IsReturnOfFunds:
type: "boolean"
example: true
OriginalCreditTransferId:
type: "string"
example: "111025466-RTP-EXDCZ28183"
CTResponse:
type: "object"
properties:
CreditTransfer:
$ref: "#/components/schemas/CreditTransferResponse"
CreditTransferResponse:
type: "object"
properties:
Id:
type: "string"
example: "152bf5b2-d081-4228-81f2-b3a485ae9703"
Status:
type: "string"
example: "Pending"
Debtor:
$ref: "#/components/schemas/CTDbtr"
Creditor:
$ref: "#/components/schemas/CTCrdr"
CreditTransferDescription:
$ref: "#/components/schemas/CTDesc"
CTErrorResponse:
type: "object"
properties:
CreditTransfer:
$ref: "#/components/schemas/CreditTransferErrorResponse"
CreditTransferErrorResponse:
type: "object"
properties:
Message:
type: "string"
example: "Validation failed"
Error:
type: "object"
properties:
Code:
type: "string"
example: "70015"
Description:
type: "string"
example: "Reason for the Error"
#==================================================================
#======================== Schema Definition - RequestForRefund
#==================================================================
RfRRequest:
$ref: "#/components/schemas/RequestForRefund"
RequestForRefund:
required:
- "Id"
- "ReasonCode"
- "UserName"
properties:
ReasonCode:
type: "string"
example: "FRAD"
enum:
- "AC03"
- "AM09"
- "CUST"
- "DS24"
- "DUPL"
- "FRAD"
- "FRTR"
- "TECH"
- "UPAY"
Id:
type: "string"
example: "111025466-RTP-EXDCZ28183"
UserName:
type: "string"
example: "RTPUATUser"
Notes:
type: "string"
example: "There was a fraudulent notice that was circulated and hence I decided to request for a refund of my money."
RfRResponse:
type: "object"
properties:
RequestForRefund:
$ref: "#/components/schemas/RequestForRefundResponse"
RequestForRefundResponse:
required:
- "Id"
- "OriginalPaymentId"
- "ReasonCode"
- "Status"
type: "object"
properties:
Id:
type: "string"
example: "111025466-RTP-EXDCZ12345"
Status:
type: "string"
example: "Pending"
ReasonCode:
type: "string"
example: "FRAD"
enum:
- "AC03"
- "AM09"
- "CUST"
- "DS24"
- "DUPL"
- "FRAD"
- "FRTR"
- "TECH"
- "UPAY"
UserName:
type: "string"
example: "RTPUATUser"
OriginalEndToEndId:
type: "string"
example: "111025466-RTP-EXDCZ28183"
Notes:
type: "string"
example: "There was a fraudulent notice that was circulated and hence I decided to request for a refund of my money."
RfRErrorResponse:
type: "object"
properties:
RequestForRefund:
$ref: "#/components/schemas/RequestforrefundErrorResponse"
RequestforrefundErrorResponse:
properties:
Message:
type: "string"
example: "Validation failed"
Error:
type: "object"
properties:
Code:
type: "string"
example: "70015"
Description:
type: "string"
example: "Reason for the Error"
#==================================================================
#======================== Schema Definition - RequestForPayment
#==================================================================
RfPRequest:
type: "object"
properties:
RequestForPayment:
$ref: "#/components/schemas/RequestForPayment"
RequestForPayment:
type: "object"
properties:
Creditor:
$ref: "#/components/schemas/RfPCrdr"
Debtor:
$ref: "#/components/schemas/RfPDbtr"
PaymentDescription:
$ref: "#/components/schemas/PaymentDesc"
RfPCrdr:
required:
- "AccountNumber"
type: "object"
properties:
AccountNumber:
type: "string"
example: "201990001"
UltimateCreditor:
$ref: "#/components/schemas/UltCrdr"
UltCrdr:
required:
- "Name"
type: "object"
properties:
Name:
type: "string"
example: "Martin Hess"
RfPDbtr:
required:
- "AccountNumber"
- "Name"
- "RoutingNumber"
type: "object"
properties:
Name:
type: "string"
example: "Nimmy Ferrera"
RoutingNumber:
type: "string"
example: "234567891"
AccountNumber:
type: "string"
example: "US88664715164441"
PaymentDesc:
required:
- "Amount"
- "OriginatorType"
- "PaymentDueDate"
- "UserName"
type: "object"
properties:
Amount:
type: "number"
example: 90.01
OriginatorType:
type: "string"
example: "BUSINESS"
enum:
- "CONSUMER"
- "BUSINESS"
UserName:
type: "string"
example: "RTPUATUser"
IsAmountModifyAllowed:
type: "boolean"
example: false
PaymentDueDate:
type: "string"
example: "2020-09-22"
Notes:
type: "string"
example: "Transaction notes comes here."
RfPResponse:
type: "object"
properties:
RequestForPayment:
$ref: "#/components/schemas/RequestForPaymentResponse"
RequestForPaymentResponse:
type: "object"
properties:
Id:
type: "string"
example: "111025466-RTP-PWPCY14452"
Status:
type: "string"
example: "Pending"
Creditor:
$ref: "#/components/schemas/RfPCrdr"
Debitor:
$ref: "#/components/schemas/RfPDbtr"
PaymentDescription:
$ref: "#/components/schemas/PaymentDesc"
RfPErrorResponse:
type: "object"
properties:
RequestForPayment:
$ref: "#/components/schemas/RequestforpaymentErrorResponse"
RequestforpaymentErrorResponse:
type: "object"
properties:
Message:
type: "string"
example: "Validation failed"
Error:
type: "object"
properties:
Code:
type: "string"
example: "70019"
Description:
type: "string"
example: "Reason for the Error"
securitySchemes:
default:
type: "oauth2"
flows:
implicit:
authorizationUrl: "https://wag01.eagle.jhapaycenter.com/token"
scopes: {}
#==================================================================
#======================== Schema Definition - ResponseToRequestForPayment
#==================================================================
components:
schemas:
ResponseToRfpRequest:
properties:
ResponseToRequestForPayment:
$ref: "#/components/schemas/ResponseToRequestForPaymentRequest"
ResponseToRequestForPaymentRequest:
required:
- "Status"
- "Id"
type: "object"
properties:
Status:
type: "string"
example: "Accepted"
enum:
- "Accepted"
- "Rejected"
Id:
type: "string"
example: "20211012101010101MTBCVOH00228198600"
ReasonCode:
type: "string"
example: "NARR"
Amount:
type: "number"
example: 123.45
Notes:
type: "string"
example: "This is a sample Note"
UserName:
type: "string"
example: "Test"
ResponseToRfpResponse:
properties:
ResponseToRequestForPayment:
$ref: "#/components/schemas/ResponseToRequestForPaymentResponse"
ResponseToRequestForPaymentResponse:
type: "object"
properties:
Id:
type: "string"
example: "111025400-RTP-RVCBT72400"
Status:
type: "string"
example: "Rejected"
OriginalPmtInfId:
type: "string"
example: "20211012101010101MTBCVOH00228198600"
ReasonCode:
type: "string"
example: "NARR"
Amount:
type: "number"
example: 123.45
Notes:
type: "string"
example: "This is a sample Note"
UserName:
type: "string"
example: "Test"
ResponseToRfpErrorResponse:
properties:
ResponseToRequestForPayment:
$ref: "#/components/schemas/ResponseToRequestForPaymentErrorResponse"
ResponseToRequestForPaymentErrorResponse:
type: "object"
properties:
Message:
type: "string"
example: "Validation failed"
Error:
type: "object"
properties:
Code:
type: "string"
example: "70015"
Description:
type: "string"
example: "Reason for the Error"
Account Validation.yaml
openapi: "3.0.1"
info:
title: "Account Validation API"
version: "v1"
servers:
-
url: "https://wag01.eagle.jhapaycenter.com/account/v1/institutions"
security:
-
default: []
paths:
/{rtnnumber}/environments/{envname}/products/paycenter/networks/rtp/account-validation:
post:
summary: "Account Validation API"
parameters:
-
name: "rtnnumber"
in: "path"
required: true
style: "simple"
explode: false
schema:
type: "string"
format: "string"
-
name: "envname"
in: "path"
required: true
style: "simple"
explode: false
schema:
type: "string"
format: "string"
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/AccountValidationRequest"
responses:
200:
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/AccountValidationResponse"
404:
description: "Details Not Found"
content:
application/json:
schema:
$ref: "#/components/schemas/AccountValidationErrorResponse"
422:
description: "API System Validation Error"
content:
application/json:
schema:
$ref: "#/components/schemas/AccountValidationErrorResponse"
500:
description: "Internal Server Error"
content:
application/json:
schema:
$ref: "#/components/schemas/AccountValidationErrorResponse"
security:
-
default: []
x-auth-type: "Application & Application User"
x-throttling-tier: "Unlimited"
x-wso2-application-security:
security-types:
- "oauth2"
optional: false
components:
schemas:
AccountValidationRequest:
type: "object"
required:
- "AccountNumber"
- "AccountType"
properties:
AccountNumber:
type: "string"
example: "201990001"
AccountType:
type: "string"
example: "Checking"
enum:
- "Checking"
- "Savings"
AccountValidationResponse:
type: "object"
properties:
Id:
type: "string"
example: "5537d7e6-81b2-46d0-8c83-91daa2c82c9a"
AccountValidation:
$ref: "#/components/schemas/AccountValidation"
AccountValidation:
type: "object"
properties:
RoutingNumber:
type: "string"
example: "075911742"
AccountNumber:
type: "string"
example: "000201911121"
AccountType:
type: "string"
example: "D"
TrialTransactions:
$ref: "#/components/schemas/TrialTransaction"
TrialTransaction:
type: "array"
items:
$ref: "#/components/schemas/TrialTransactionItems"
TrialTransactionItems:
type: "object"
properties:
SequenceNo:
type: "integer"
example: 892
Type:
type: "string"
example: "CR"
Amount:
type: "float"
example: 0.11
Status:
type: "string"
example: "Success"
TransactionReceiptId:
type: "string"
example: "JWFOQH8J4F"
EndToEndId:
type: "string"
example: "075911742-TRIAL-ZHFCH33956"
AccountValidationErrorResponse:
type: "object"
properties:
AccountValidation:
$ref: "#/components/schemas/AccountValidationError"
AccountValidationError:
type: "object"
properties:
Message:
type: "string"
example: "Validation failed"
Error:
$ref: "#/components/schemas/AccountValidationErrorMsg"
AccountValidationErrorMsg:
type: "object"
properties:
Code:
type: "string"
example: "70010"
Description:
type: "string"
example: "Reason for error"
securitySchemes:
default:
type: "oauth2"
flows:
implicit:
authorizationUrl: "https://wag01.arrow.fpdev.local/token"
scopes: {}
```