diff --git a/.gitignore b/.gitignore index fc04581..d2a3f6b 100644 --- a/.gitignore +++ b/.gitignore @@ -37,6 +37,7 @@ proguard/ captures/ # IntelliJ +.idea *.iml .idea/workspace.xml .idea/codeStyles/Project.xml diff --git a/README.md b/README.md index 175d7ad..caee686 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,7 @@ # API documentation The APIs are accessible through - 1. DCI: [standards](https://spdci.github.io/standards/release/index.html) - 2. G2P Community: [specifications](https://g2p-connect.github.io/specs/release/index.html) + 1. DCI: [standards](https://standards.spdci.org/standards/release/index.html) ## Discussion forum @@ -10,9 +9,9 @@ To initiate any discussion please visit [discussion page](https://github.com/org **IMPORTANT NOTES:** 1. Final release for consuming these APIs (yaml, html) are available in specs/release folder. -2. Contribute to G2P Connect specification or DCI standards APIs through pull requests in respective specs/src folder. +2. Contribute to DCI standards APIs through pull requests in respective specs/src folder. 3. specs/release folder files are auto generated and it's NOT recommended to edit these directly. -4. specs/release filder API files are for final consumption by solution providers to make their services compatible with G2P Connect / DCI standards. +4. specs/release filder API files are for final consumption by solution providers to make their services compatible with DCI standards. ### Reference Links 1. Build [Instructions](./build/build_instructions.md) diff --git a/build/build_apis.cmd b/build/build_apis.cmd index c6e82b0..b45bfb8 100755 --- a/build/build_apis.cmd +++ b/build/build_apis.cmd @@ -1,13 +1,32 @@ -# This file auto generates all g2p connect yaml files. -# Assumes the command is run from the root folder i.e ./specs +# This file auto generates all yaml files. +# Assumes the command is run from the root folder i.e ./standards # For each new category, please make sure to add a reference link in this file for easy auto generation of yamls. +# build auth APIs swagger-cli -f 2 -t yaml bundle ./src/authz/authz_core_api_v1.0.0.yaml -o ./release/yaml/authz_core_api_v1.0.0.yaml -swagger-cli -f 2 -t yaml bundle ./src/registry/registry_core_api_v1.0.0.yaml -o ./release/yaml/registry_core_api_v1.0.0.yaml -swagger-cli -f 2 -t yaml bundle ./src/mapper/mapper_core_api_v1.0.0.yaml -o ./release/yaml/mapper_core_api_v1.0.0.yaml -swagger-cli -f 2 -t yaml bundle ./src/disburse/disburse_core_api_v1.0.0.yaml -o ./release/yaml/disburse_core_api_v1.0.0.yaml - redocly build-docs ./release/yaml/authz_core_api_v1.0.0.yaml -o ./release/html/authz_core_api_v1.0.0.html + +# build APIs +swagger-cli -f 2 -t yaml bundle ./src/registry/registry_core_api_v1.0.0.yaml -o ./release/yaml/registry_core_api_v1.0.0.yaml redocly build-docs ./release/yaml/registry_core_api_v1.0.0.yaml -o ./release/html/registry_core_api_v1.0.0.html -redocly build-docs ./release/yaml/mapper_core_api_v1.0.0.yaml -o ./release/html/mapper_core_api_v1.0.0.html -redocly build-docs ./release/yaml/disburse_core_api_v1.0.0.yaml -o ./release/html/disburse_core_api_v1.0.0.html \ No newline at end of file + +swagger-cli -f 2 -t yaml bundle ./src/registry/ibr_api_v1.0.0.yaml -o ./release/yaml/ibr_api_v1.0.0.yaml +redocly build-docs ./release/yaml/ibr_api_v1.0.0.yaml -o ./release/html/ibr_api_v1.0.0.html + +swagger-cli -f 2 -t yaml bundle ./src/registry/social_api_v1.0.0.yaml -o ./release/yaml/social_api_v1.0.0.yaml +redocly build-docs ./release/yaml/social_api_v1.0.0.yaml -o ./release/html/social_api_v1.0.0.html + + +# build locations APIs +swagger-cli -f 2 -t yaml bundle ./src/locations/locations_core_api_v1.0.0.yaml -o ./release/yaml/locations_core_api_v1.0.0.yaml +redocly build-docs ./release/yaml/locations_core_api_v1.0.0.yaml -o ./release/html/locations_core_api_v1.0.0.html + +# build jwks APIs +swagger-cli -f 2 -t yaml bundle ./src/jwks/jwks_core_api_v1.0.0.yaml -o ./release/yaml/jwks_core_api_v1.0.0.yaml +redocly build-docs ./release/yaml/jwks_core_api_v1.0.0.yaml -o ./release/html/jwks_core_api_v1.0.0.html + + +# swagger-cli -f 2 -t yaml bundle ./src/mapper/mapper_core_api_v1.0.0.yaml -o ./release/yaml/mapper_core_api_v1.0.0.yaml +# swagger-cli -f 2 -t yaml bundle ./src/disburse/disburse_core_api_v1.0.0.yaml -o ./release/yaml/disburse_core_api_v1.0.0.yaml +# redocly build-docs ./release/yaml/mapper_core_api_v1.0.0.yaml -o ./release/html/mapper_core_api_v1.0.0.html +# redocly build-docs ./release/yaml/disburse_core_api_v1.0.0.yaml -o ./release/html/disburse_core_api_v1.0.0.html diff --git a/build/build_instructions.md b/build/build_instructions.md index 4a5af45..26bccaf 100644 --- a/build/build_instructions.md +++ b/build/build_instructions.md @@ -66,3 +66,11 @@ bundled successfully in: ./release/html/registry_core_api_v1.0.0.html ``` 6. Commit the changes and push the updated code to git repo. Create pull requests for teams to collaborate and merge to main branch! + +## How this published on website + +The github actions used to publish this as website, you can map branch / folder which to be published as webpages root path. + +Below link will help to understand how it works + +https://docs.github.com/en/pages/getting-started-with-github-pages/creating-a-github-pages-site diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..558bb19 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "standards", + "lockfileVersion": 2, + "requires": true, + "packages": {} +} diff --git a/release/html/authz_core_api_v1.0.0.html b/release/html/authz_core_api_v1.0.0.html index 26c1c12..c1ef7ae 100644 --- a/release/html/authz_core_api_v1.0.0.html +++ b/release/html/authz_core_api_v1.0.0.html @@ -12,367 +12,354 @@ margin: 0; } -
-Download OpenAPI specification:Download
Provide access_token to registered clients/services. Issue OAuth2 compliant authorization token.
+
Client integration notes:
1. This end point is in compliance with OAuth2 RFC 6749 to authenticate registered confidential clients with grant_type=client_credentials over HTTPS channel.
2. Clients MUST obtain client_id, client_secret as part of client registration.
2. Clients MUST ensure to secure sensitive information e.g, client_secret, access_token, etc.,
3. RFC 6749 section 4.4.3 recommends NO support for refresh access_token.
4. Successfully authenticated clients SHALL receive bearer type access_token.
5. Clients MUST set HTTP "Authorization: Bearer
6. Rest end points SHALL return http status 401 when access_token is invalid or expired.
| accept-language | string Example: en Default value: en + |
| timestamp required | string Example: Tue, 06 Mar 2020 21:00:00 GMT request timestamp in HTTP Date format - Tue, 06 Mar 2020 21:00:00 GMT + |
| message_id | string Example: 123456789020211216223812 Unique message id to communicate between sender and receiver systems and it's scope is restricted to transport layer only to successfully devier the message between sender and receiver. + |
| grant_type required | string Value must be set to client_credentials + |
| client_id required | string The client identifier issued to the client during the registration process described by RFC 6749 Section 2.2. + |
| client_secret required | string client secret shared to clients as part of client registration process or regualar rotation of client_secret. + |
| scope | string (OidcScope) OIDC complaint auth tokens issued by an authorization service for OAuth2, OIDC complaint clients. |
{- "access_token": "2YotnFZFEjr1zCsicMWpAA",
- "token_type": "bearer",
- "expires_in": "36000"
}Download OpenAPI specification:Download
Initiate payment through disbursement instructions
-| signature | string (MsgSignature) Signature of {header}+{message} body verified using sender's signing public key - |
required | object Message header - |
required | DisburseRequest (object) or EncryptedMessage (object) |
{- "signature": "Signature: namespace=\"g2p\", kidId=\"{sender_id}|{unique_key_id}|{algorithm}\", algorithm=\"ed25519\", created=\"1606970629\", expires=\"1607030629\", headers=\"(created) (expires) digest\", signature=\"Base64(signing content)",
- "header": {
- "version": "1.0.0",
- "message_id": "123",
- "message_ts": "",
- "action": "disburse",
- "sender_id": "spp.example.org",
- "receiver_id": "pymts.example.org",
- "total_count": 21800,
- "is_msg_encrypted": false,
- "meta": { }
}, - "message": {
- "transaction_id": 123456789,
- "disbursements": [
- {
- "reference_id": "12345678901234567890",
- "payer_fa": "token:12345@gtbank",
- "payee_fa": "token:12345@gtbank",
- "amount": "string",
- "scheduled_timestamp": "",
- "payer_name": "Farmer draught relief scheme 2023",
- "payee_name": "Joe John",
- "note": "string",
- "purpose": "Farmer Relief 2023",
- "instruction": "string",
- "currency_code": "SLL",
- "locale": "en"
}
]
}
}{- "errors": [
- {
- "code": "string",
- "message": "string"
}
]
}Disburse response through callback
-| signature | string (MsgSignature) Signature of {header}+{message} body verified using sender's signing public key - |
required | object Message header - |
DisburseResponse (object) or EncryptedMessage (object) |
{- "signature": "Signature: namespace=\"g2p\", kidId=\"{sender_id}|{unique_key_id}|{algorithm}\", algorithm=\"ed25519\", created=\"1606970629\", expires=\"1607030629\", headers=\"(created) (expires) digest\", signature=\"Base64(signing content)",
- "header": {
- "version": "1.0.0",
- "message_id": "789",
- "message_ts": "",
- "action": "on-disburse",
- "status": "rcvd",
- "status_reason_code": "rjct.version.invalid",
- "status_reason_message": "string",
- "total_count": 21800,
- "completed_count": 50,
- "sender_id": "civilregistry.example.org",
- "receiver_id": "registry.example.org",
- "is_msg_encrypted": false,
- "meta": { }
}, - "message": {
- "transaction_id": 123456789,
- "disbursements_status": [
- {
- "reference_id": "12345678901234567890",
- "timestamp": "2022-12-04T17:20:07-04:00",
- "status": "rcvd",
- "status_reason_code": "rjct.reference_id.invalid",
- "status_reason_message": "string",
- "instruction": "string",
- "amount": "string",
- "payer_fa": "token:12345@gtbank",
- "payer_name": "Farmer draught relief scheme 2023",
- "payee_fa": "token:12345@gtbank",
- "payee_name": "Joe John",
- "currency_code": "SLL",
- "locale": "en"
}
]
}
}{- "errors": [
- {
- "code": "string",
- "message": "string"
}
]
}Search disbursement by searchable attributes
-| signature | string (MsgSignature) Signature of {header}+{message} body verified using sender's signing public key - |
required | object Message header - |
required | SearchRequest (object) or EncryptedMessage (object) |
{- "signature": "Signature: namespace=\"g2p\", kidId=\"{sender_id}|{unique_key_id}|{algorithm}\", algorithm=\"ed25519\", created=\"1606970629\", expires=\"1607030629\", headers=\"(created) (expires) digest\", signature=\"Base64(signing content)",
- "header": {
- "version": "1.0.0",
- "message_id": "123",
- "message_ts": "",
- "action": "search",
- "sender_id": "spp.example.org",
- "receiver_id": "pymts.example.org",
- "total_count": 21800,
- "is_msg_encrypted": false,
- "meta": { }
}, - "message": {
- "transaction_id": 123456789,
- "search_criteria": [
- {
- "reference_id": "12345678901234567890",
- "timestamp": "",
- "request_type": "disburse",
- "attribute_type": "payer_fa",
- "attribute_value": "token:12345@gtbank",
- "locale": "en"
}
]
}
}{- "errors": [
- {
- "code": "string",
- "message": "string"
}
]
}Disbrusement search results through callback
-| signature | string (MsgSignature) Signature of {header}+{message} body verified using sender's signing public key - |
required | object Message header - |
SearchResponse (object) or EncryptedMessage (object) |
{- "signature": "Signature: namespace=\"g2p\", kidId=\"{sender_id}|{unique_key_id}|{algorithm}\", algorithm=\"ed25519\", created=\"1606970629\", expires=\"1607030629\", headers=\"(created) (expires) digest\", signature=\"Base64(signing content)",
- "header": {
- "version": "1.0.0",
- "message_id": "789",
- "message_ts": "",
- "action": "on-search",
- "status": "rcvd",
- "status_reason_code": "rjct.version.invalid",
- "status_reason_message": "string",
- "total_count": 21800,
- "completed_count": 50,
- "sender_id": "civilregistry.example.org",
- "receiver_id": "registry.example.org",
- "is_msg_encrypted": false,
- "meta": { }
}, - "message": {
- "transaction_id": 123456789,
- "disbursements_status": [
- {
- "reference_id": "12345678901234567890",
- "timestamp": "",
- "status": "rcvd",
- "status_reason_code": "rjct.reference_id.invalid",
- "status_reason_message": "string",
- "locale": "en"
}
]
}
}{- "errors": [
- {
- "code": "string",
- "message": "string"
}
]
}Status check of previous disbursement transanctions using transaction_id and/or reference_id(s)
-| signature | string (MsgSignature) Signature of {header}+{message} body verified using sender's signing public key - |
required | object Message header - |
required | TxnStatusRequest (object) or EncryptedMessage (object) |
{- "signature": "Signature: namespace=\"g2p\", kidId=\"{sender_id}|{unique_key_id}|{algorithm}\", algorithm=\"ed25519\", created=\"1606970629\", expires=\"1607030629\", headers=\"(created) (expires) digest\", signature=\"Base64(signing content)",
- "header": {
- "version": "1.0.0",
- "message_id": "123",
- "message_ts": "",
- "action": "on-disburse",
- "sender_id": "spp.example.org",
- "receiver_id": "pymts.example.org",
- "total_count": 21800,
- "is_msg_encrypted": false,
- "meta": { }
}, - "message": {
- "transaction_id": 123456789,
- "txnstatus_request": {
- "reference_id": "12345678901234567890",
- "txn_type": "disburse",
- "attribute_type": "transaction_id",
- "attribute_value": 123456789,
- "locale": "en"
}
}
}{- "errors": [
- {
- "code": "string",
- "message": "string"
}
]
}Status check response through callback
-| signature | string (MsgSignature) Signature of {header}+{message} body verified using sender's signing public key - |
required | object Message header - |
TxnStatusResponse (object) or EncryptedMessage (object) |
{- "signature": "Signature: namespace=\"g2p\", kidId=\"{sender_id}|{unique_key_id}|{algorithm}\", algorithm=\"ed25519\", created=\"1606970629\", expires=\"1607030629\", headers=\"(created) (expires) digest\", signature=\"Base64(signing content)",
- "header": {
- "version": "1.0.0",
- "message_id": "789",
- "message_ts": "",
- "action": "on-disburse",
- "status": "rcvd",
- "status_reason_code": "rjct.version.invalid",
- "status_reason_message": "string",
- "total_count": 21800,
- "completed_count": 50,
- "sender_id": "civilregistry.example.org",
- "receiver_id": "registry.example.org",
- "is_msg_encrypted": false,
- "meta": { }
}, - "message": {
- "transaction_id": 123456789,
- "correlation_id": "9876543210",
- "txnstatus_response": {
- "type": "object",
- "description": "Disburse response",
- "properties": {
- "transaction_id": {
- "$ref": "#/components/schemas/TransactionId"
}, - "disbursements_status": {
- "type": "array",
- "items": {
- "type": "object",
- "description": "1. G2P Disbursement response i.e status of each disburemsent request for reconciliation by sender system\n",
- "properties": {
- "reference_id": {
- "$ref": "#/components/schemas/ReferenceId"
}, - "timestamp": {
- "description": "Disbursement response status datetime in RFC3339 format",
- "type": "string",
- "format": "date-time",
- "example": "2022-12-04T17:20:07-04:00"
}, - "status": {
- "$ref": "#/components/schemas/RequestStatus"
}, - "status_reason_code": {
- "$ref": "#/components/schemas/DisburseStatusReasonCode"
}, - "status_reason_message": {
- "description": "Status reason code message. Helps actionanble messaging for systems/end users",
- "type": "string",
- "maxLength": 999
}, - "instruction": {
- "description": "Additional systems instruction for interfacing systems/platforms to integrate, reconcile",
- "type": "string",
- "maxLength": 999
}, - "amount": {
- "$ref": "#/components/schemas/Amount"
}, - "payer_fa": {
- "$ref": "#/components/schemas/cdpi_FinancialAddress"
}, - "payer_name": {
- "description": "Payer account name for easy reference. Usually each scheme may have a seperate holding account.",
- "type": "string",
- "example": "Farmer draught relief scheme 2023"
}, - "payee_fa": {
- "$ref": "#/components/schemas/cdpi_FinancialAddress"
}, - "payee_name": {
- "description": "Payer name for easy reference. Usually beneficiary name as per scheme registration info",
- "type": "string",
- "example": "Joe John"
}, - "currency_code": {
- "$ref": "#/components/schemas/CurrencyCode"
}, - "locale": {
- "$ref": "#/components/schemas/LanguageCode"
}
}, - "required": [
- "reference_id",
- "timestamp",
- "status"
]
}
}
}, - "required": [
- "transaction_id",
- "disbursements_status"
]
}
}
}{- "errors": [
- {
- "code": "string",
- "message": "string"
}
]
}Initiate payment through disbursement instructions through sync call
-| signature | string (MsgSignature) Signature of {header}+{message} body verified using sender's signing public key - |
required | object Message header - |
required | DisburseRequest (object) or EncryptedMessage (object) The search data using which registry search to be performed - |
{- "signature": "Signature: namespace=\"g2p\", kidId=\"{sender_id}|{unique_key_id}|{algorithm}\", algorithm=\"ed25519\", created=\"1606970629\", expires=\"1607030629\", headers=\"(created) (expires) digest\", signature=\"Base64(signing content)",
- "header": {
- "version": "1.0.0",
- "message_id": "123",
- "message_ts": "",
- "action": "search",
- "sender_id": "spp.example.org",
- "receiver_id": "pymts.example.org",
- "total_count": 21800,
- "is_msg_encrypted": false,
- "meta": { }
}, - "message": {
- "transaction_id": 123456789,
- "disbursements": [
- {
- "reference_id": "12345678901234567890",
- "payer_fa": "token:12345@gtbank",
- "payee_fa": "token:12345@gtbank",
- "amount": "string",
- "scheduled_timestamp": "",
- "payer_name": "Farmer draught relief scheme 2023",
- "payee_name": "Joe John",
- "note": "string",
- "purpose": "Farmer Relief 2023",
- "instruction": "string",
- "currency_code": "SLL",
- "locale": "en"
}
]
}
}{- "errors": [
- {
- "code": "string",
- "message": "string"
}
]
}| signature | string (MsgSignature) Signature of {header}+{message} body verified using sender's signing public key - |
required | object Message header - |
required | SearchRequest (object) or EncryptedMessage (object) The search data using which registry search to be performed - |
{- "signature": "Signature: namespace=\"g2p\", kidId=\"{sender_id}|{unique_key_id}|{algorithm}\", algorithm=\"ed25519\", created=\"1606970629\", expires=\"1607030629\", headers=\"(created) (expires) digest\", signature=\"Base64(signing content)",
- "header": {
- "version": "1.0.0",
- "message_id": "123",
- "message_ts": "",
- "action": "search",
- "sender_id": "spp.example.org",
- "receiver_id": "pymts.example.org",
- "total_count": 21800,
- "is_msg_encrypted": false,
- "meta": { }
}, - "message": {
- "transaction_id": 123456789,
- "search_criteria": [
- {
- "reference_id": "12345678901234567890",
- "timestamp": "",
- "request_type": "disburse",
- "attribute_type": "payer_fa",
- "attribute_value": "token:12345@gtbank",
- "locale": "en"
}
]
}
}{- "errors": [
- {
- "code": "string",
- "message": "string"
}
]
}Sync status check of disburse Async APIs
-| signature | string (MsgSignature) Signature of {header}+{message} body verified using sender's signing public key - |
required | object Message header - |
required | TxnStatusRequest (object) or EncryptedMessage (object) |
{- "signature": "Signature: namespace=\"g2p\", kidId=\"{sender_id}|{unique_key_id}|{algorithm}\", algorithm=\"ed25519\", created=\"1606970629\", expires=\"1607030629\", headers=\"(created) (expires) digest\", signature=\"Base64(signing content)",
- "header": {
- "version": "1.0.0",
- "message_id": "123",
- "message_ts": "",
- "action": "search",
- "sender_id": "spp.example.org",
- "receiver_id": "pymts.example.org",
- "total_count": 21800,
- "is_msg_encrypted": false,
- "meta": { }
}, - "message": {
- "transaction_id": 123456789,
- "txnstatus_request": {
- "reference_id": "12345678901234567890",
- "txn_type": "disburse",
- "attribute_type": "transaction_id",
- "attribute_value": 123456789,
- "locale": "en"
}
}
}{- "errors": [
- {
- "code": "string",
- "message": "string"
}
]
}| transaction_id required | string (TransactionId) <= 99 characters
|
Array of objects |
{- "transaction_id": 123456789,
- "disbursements": [
- {
- "reference_id": "12345678901234567890",
- "payer_fa": "token:12345@gtbank",
- "payee_fa": "token:12345@gtbank",
- "amount": "string",
- "scheduled_timestamp": "",
- "payer_name": "Farmer draught relief scheme 2023",
- "payee_name": "Joe John",
- "note": "string",
- "purpose": "Farmer Relief 2023",
- "instruction": "string",
- "currency_code": "SLL",
- "locale": "en"
}
]
}| transaction_id required | string (TransactionId) <= 99 characters
|
required | Array of objects |
{- "transaction_id": 123456789,
- "disbursements_status": [
- {
- "reference_id": "12345678901234567890",
- "timestamp": "2022-12-04T17:20:07-04:00",
- "status": "rcvd",
- "status_reason_code": "rjct.reference_id.invalid",
- "status_reason_message": "string",
- "instruction": "string",
- "amount": "string",
- "payer_fa": "token:12345@gtbank",
- "payer_name": "Farmer draught relief scheme 2023",
- "payee_fa": "token:12345@gtbank",
- "payee_name": "Joe John",
- "currency_code": "SLL",
- "locale": "en"
}
]
}| transaction_id required | string (TransactionId) <= 99 characters
|
required | Array of objects |
{- "transaction_id": 123456789,
- "search_criteria": [
- {
- "reference_id": "12345678901234567890",
- "timestamp": "",
- "request_type": "disburse",
- "attribute_type": "payer_fa",
- "attribute_value": "token:12345@gtbank",
- "locale": "en"
}
]
}| transaction_id required | string (TransactionId) <= 99 characters
|
required | Array of objects |
{- "transaction_id": 123456789,
- "disbursements_status": [
- {
- "reference_id": "12345678901234567890",
- "timestamp": "",
- "status": "rcvd",
- "status_reason_code": "rjct.reference_id.invalid",
- "status_reason_message": "string",
- "locale": "en"
}
]
}| transaction_id required | string (TransactionId) <= 99 characters
|
required | object |
{- "transaction_id": 123456789,
- "txnstatus_request": {
- "reference_id": "12345678901234567890",
- "txn_type": "disburse",
- "attribute_type": "transaction_id",
- "attribute_value": 123456789,
- "locale": "en"
}
}| transaction_id required | string (TransactionId) <= 99 characters
|
| correlation_id required | string <= 99 characters
|
required | object |
{- "transaction_id": 123456789,
- "correlation_id": "9876543210",
- "txnstatus_response": {
- "type": "object",
- "description": "Disburse response",
- "properties": {
- "transaction_id": {
- "$ref": "#/components/schemas/TransactionId"
}, - "disbursements_status": {
- "type": "array",
- "items": {
- "type": "object",
- "description": "1. G2P Disbursement response i.e status of each disburemsent request for reconciliation by sender system\n",
- "properties": {
- "reference_id": {
- "$ref": "#/components/schemas/ReferenceId"
}, - "timestamp": {
- "description": "Disbursement response status datetime in RFC3339 format",
- "type": "string",
- "format": "date-time",
- "example": "2022-12-04T17:20:07-04:00"
}, - "status": {
- "$ref": "#/components/schemas/RequestStatus"
}, - "status_reason_code": {
- "$ref": "#/components/schemas/DisburseStatusReasonCode"
}, - "status_reason_message": {
- "description": "Status reason code message. Helps actionanble messaging for systems/end users",
- "type": "string",
- "maxLength": 999
}, - "instruction": {
- "description": "Additional systems instruction for interfacing systems/platforms to integrate, reconcile",
- "type": "string",
- "maxLength": 999
}, - "amount": {
- "$ref": "#/components/schemas/Amount"
}, - "payer_fa": {
- "$ref": "#/components/schemas/cdpi_FinancialAddress"
}, - "payer_name": {
- "description": "Payer account name for easy reference. Usually each scheme may have a seperate holding account.",
- "type": "string",
- "example": "Farmer draught relief scheme 2023"
}, - "payee_fa": {
- "$ref": "#/components/schemas/cdpi_FinancialAddress"
}, - "payee_name": {
- "description": "Payer name for easy reference. Usually beneficiary name as per scheme registration info",
- "type": "string",
- "example": "Joe John"
}, - "currency_code": {
- "$ref": "#/components/schemas/CurrencyCode"
}, - "locale": {
- "$ref": "#/components/schemas/LanguageCode"
}
}, - "required": [
- "reference_id",
- "timestamp",
- "status"
]
}
}
}, - "required": [
- "transaction_id",
- "disbursements_status"
]
}
}required | object |
| ciphertext required | string This is the result of encrypting the plaintext using the CEK and the IV. It's Base64Url-encoded. - |
| encrypted_key required | string The base64-url encoded encrypted key - |
| tag required | string This is a Base64Url-encoded value that provides evidence of the integrity and authenticity of the ciphertext, Initialization Vector, and Additional Authenticated Data - |
| iv required | string This is a Base64Url-encoded random bit string to be used as the Initialization Vector (IV) when encrypting the plaintext to produce the ciphertext. The size of the IV depends on the encryption algorithm used. - |
{- "header": {
- "alg": "string",
- "enc": "string",
- "kid": "string"
}, - "ciphertext": "string",
- "encrypted_key": "string",
- "tag": "string",
- "iv": "string"
}Disbursement status reason codes
-"rjct.reference_id.invalid"Disbursement search reason codes
-"rjct.reference_id.invalid"