Unknown macro: {hivestonebreadcrumb}
Page tree
Skip to end of metadata
Go to start of metadata

The Simple Credit Line Management System (SCLMS) provides a mechanism to create credit accounts for your account holders and manage limits for these accounts through APIs. These limits are used to transfer funds from Fintech's Funding Account to the account holder’s prepaid account when the account holder’s account is out of funds.

swagger: '2.0' info: version: '' title: '' tags: - name: Credit account - name: Credit audit log paths: '/api/v1/ifi/{ifiID}/credits/account': post: tags: - Credit account summary: Create credit account description: Set up a credit account operationId: createAccount consumes: - application/json produces: - application/json parameters: - name: ifiID in: path description: ID of the IFI. required: true type: integer format: int64 - in: body name: body description: Specify the account and credit limit details in the request body. required: false schema: $ref: '#/definitions/CreateAccountPayload' responses: '200': description: successful operation schema: $ref: '#/definitions/AuditLogEntity' '201': description: '' '/api/v1/ifi/{ifiID}/credits/account/{accountID}': get: tags: - Credit account summary: Get credit account description: Retrieve credit details for an account. operationId: getAccountById produces: - application/json parameters: - name: ifiID in: path description: ID of the IFI. required: true type: integer format: int64 - name: accountID in: path description: ID of the Account whose credit details to be retrieved. required: true type: string responses: '200': description: successful operation schema: $ref: '#/definitions/AccountEntity' put: tags: - Credit account summary: Update credit limit description: Update credit limit of an account operationId: changeAccountLimit produces: - application/json parameters: - name: ifiID in: path description: ID of the IFI. required: true type: integer format: int64 - name: accountID in: path description: ID of the Account whose credit details to be updated. required: true type: string - in: body name: body description: Update the credit limit in the request body. required: false schema: $ref: '#/definitions/UpdateAccountPayload' responses: '200': description: successful operation schema: $ref: '#/definitions/AccountEntity' patch: tags: - Credit account summary: Update credit account status description: 'Update status of a credit account. Possible transition states to update the credit account status are: <ul><li>ACTIVE: Set credit limit as active to allow account holders to use the limit</li><li>INACTIVE: Set credit limit as temporarily inactive to disable account holders to use the limit</li> <li>DELETED: Set credit limit as permanently disabled</li></ul>' operationId: updateAccountStatus produces: - application/json parameters: - name: ifiID in: path description: ID of the IFI. required: true type: integer format: int64 - name: accountID in: path description: ID of the Account whose credit status to be updated. required: true type: string - name: status in: query required: true type: string enum: - ACTIVE - INACTIVE - DELETED responses: '200': description: successful operation schema: $ref: '#/definitions/Void' '204': description: '' '/api/v1/ifi/{ifiID}/credits/account/{accountID}/audit/logs': get: tags: - Credit audit log summary: Get all credit audit logs for a credit account description: Retrieve the credit logs of a specific credit account under an IFI. Use `page` and `size` query parameters for a paginated view. operationId: getAuditLogByAccountId produces: - application/json parameters: - name: ifiID in: path description: ID of the IFI. required: true type: integer format: int64 - name: accountID in: path description: ID of the Account whose credit logs to be retrieved. required: true type: string - name: page in: query description: Index of the page requested. required: true type: integer format: int32 - name: size in: query description: Maximum number of results to be returned per request. required: true type: integer format: int32 responses: '200': description: successful operation schema: type: array items: $ref: '#/definitions/AuditLogEntity' '/api/v1/ifi/{ifiID}/credits/audit/logs': get: tags: - Credit audit log summary: Get all credit audit logs description: Retrieve the details of credit logs of all credit accounts under an IFI. Use `page` and `size` query parameters for a paginated view. operationId: getAuditLogByVboId produces: - application/json parameters: - name: ifiID in: path description: ID of the IFI. required: true type: integer format: int64 - name: page in: query description: Index of the page requested. required: true type: integer format: int32 - name: size in: query description: Maximum number of results to be returned per request. required: true type: integer format: int32 responses: '200': description: successful operation schema: type: array items: $ref: '#/definitions/AuditLogEntity' '/api/v1/ifi/{tenantID}/credits/account/{accountID}/decreaseCreditBalance': post: tags: - Credit account summary: Decrease Credit Limit Balance description: '' operationId: decreaseAccountBalance produces: - application/json parameters: - name: tenantID in: path required: true type: integer format: int64 - name: accountID in: path required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/IdempotentDecreaseBalancePayload' responses: '200': description: successful operation schema: $ref: '#/definitions/AccountEntity' '/api/v1/ifi/{tenantID}/credits/account/{accountID}/increaseCreditBalance': post: tags: - Credit account summary: Increase Credit Limit Balance description: '' operationId: increaseAccountBalance produces: - application/json parameters: - name: tenantID in: path required: true type: integer format: int64 - name: accountID in: path required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/IdempotentCreditBalancePayload' responses: '200': description: successful operation schema: $ref: '#/definitions/AccountEntity' definitions: AccountEntity: type: object properties: createdDate: type: string format: date-time lastModifiedDate: type: string format: date-time accountId: type: string format: uuid creditLimit: type: integer format: int64 creditBalance: type: integer format: int64 status: type: string enum: - ACTIVE - INACTIVE - DELETED accountAttrs: type: object additionalProperties: type: string tenant: $ref: '#/definitions/TenantEntity' AuditLogEntity: type: object properties: createdDate: type: string format: date-time lastModifiedDate: type: string format: date-time auditId: type: integer format: int64 openingCreditBal: type: integer format: int64 closingCreditBal: type: integer format: int64 openingCreditLimit: type: integer format: int64 closingCreditLimit: type: integer format: int64 paymentAttrs: type: object additionalProperties: type: string paymentId: type: string operation: type: string enum: - ADD_NEW_ACCOUNT_WITH_CREDIT_LIMIT - UPDATED_CREDIT_LIMIT_BY_USER - CREDIT_BALANCE_USED - CREDIT_BALANCE_INCREASED accountId: type: string format: uuid CreateAccountPayload: type: object properties: accountId: type: string creditLimit: type: integer format: int64 status: type: string enum: - ACTIVE - INACTIVE - DELETED attrs: type: object additionalProperties: type: string CreditBalancePayload: type: object required: - amount - currency properties: amount: type: integer format: int64 currency: type: string DecreaseBalancePayload: type: object required: - amount - currency - paymentID properties: paymentID: type: string amount: type: integer format: int64 currency: type: string Error: type: object properties: details: $ref: '#/definitions/JsonElement' code: type: string Idempotent: type: object properties: id: type: string format: uuid content: type: object IdempotentCreditBalancePayload: type: object properties: id: type: string format: uuid content: $ref: '#/definitions/CreditBalancePayload' IdempotentDecreaseBalancePayload: type: object properties: id: type: string format: uuid content: $ref: '#/definitions/DecreaseBalancePayload' InterceptorPayload: type: object properties: actionName: type: string enum: - PAYMENT_REQUESTED - PAYMENT_AUTHORIZATION_RECEIVED - PAYMENT_REVERSAL_REQUESTED payment: $ref: '#/definitions/Payment' JID: type: object properties: appDomain: type: string serviceName: type: string nodeId: type: string resource: type: string primaryServiceName: type: string serviceViewName: type: string bareJID: $ref: '#/definitions/JID' serviceViewJID: type: boolean defaultServiceNode: type: boolean serviceInstanceJID: type: boolean jidOfAGroup: type: boolean proxyServiceJID: type: boolean JsonArray: type: object properties: asBoolean: type: boolean asNumber: $ref: '#/definitions/Number' asDouble: type: number format: double asFloat: type: number format: float asLong: type: integer format: int64 asInt: type: integer format: int32 asByte: type: string format: byte asCharacter: type: string asBigDecimal: type: number asBigInteger: type: integer asShort: type: integer format: int32 asString: type: string jsonPrimitive: type: boolean jsonNull: type: boolean jsonObject: type: boolean asJsonPrimitive: $ref: '#/definitions/JsonPrimitive' asJsonArray: $ref: '#/definitions/JsonArray' asJsonObject: $ref: '#/definitions/JsonObject' jsonArray: type: boolean asJsonNull: $ref: '#/definitions/JsonNull' JsonElement: type: object properties: asBoolean: type: boolean jsonPrimitive: type: boolean jsonNull: type: boolean jsonObject: type: boolean asJsonPrimitive: $ref: '#/definitions/JsonPrimitive' asJsonArray: $ref: '#/definitions/JsonArray' asJsonObject: $ref: '#/definitions/JsonObject' jsonArray: type: boolean asJsonNull: $ref: '#/definitions/JsonNull' asNumber: $ref: '#/definitions/Number' asDouble: type: number format: double asFloat: type: number format: float asLong: type: integer format: int64 asInt: type: integer format: int32 asByte: type: string format: byte asCharacter: type: string asBigDecimal: type: number asBigInteger: type: integer asShort: type: integer format: int32 asString: type: string JsonNull: type: object properties: asBoolean: type: boolean jsonPrimitive: type: boolean jsonNull: type: boolean jsonObject: type: boolean asJsonPrimitive: $ref: '#/definitions/JsonPrimitive' asJsonArray: $ref: '#/definitions/JsonArray' asJsonObject: $ref: '#/definitions/JsonObject' jsonArray: type: boolean asJsonNull: $ref: '#/definitions/JsonNull' asNumber: $ref: '#/definitions/Number' asDouble: type: number format: double asFloat: type: number format: float asLong: type: integer format: int64 asInt: type: integer format: int32 asByte: type: string format: byte asCharacter: type: string asBigDecimal: type: number asBigInteger: type: integer asShort: type: integer format: int32 asString: type: string JsonObject: type: object properties: asBoolean: type: boolean jsonPrimitive: type: boolean jsonNull: type: boolean jsonObject: type: boolean asJsonPrimitive: $ref: '#/definitions/JsonPrimitive' asJsonArray: $ref: '#/definitions/JsonArray' asJsonObject: $ref: '#/definitions/JsonObject' jsonArray: type: boolean asJsonNull: $ref: '#/definitions/JsonNull' asNumber: $ref: '#/definitions/Number' asDouble: type: number format: double asFloat: type: number format: float asLong: type: integer format: int64 asInt: type: integer format: int32 asByte: type: string format: byte asCharacter: type: string asBigDecimal: type: number asBigInteger: type: integer asShort: type: integer format: int32 asString: type: string JsonPrimitive: type: object properties: number: type: boolean boolean: type: boolean asBoolean: type: boolean string: type: boolean asNumber: $ref: '#/definitions/Number' asDouble: type: number format: double asFloat: type: number format: float asLong: type: integer format: int64 asInt: type: integer format: int32 asByte: type: string format: byte asCharacter: type: string asBigDecimal: type: number asBigInteger: type: integer asShort: type: integer format: int32 asString: type: string jsonPrimitive: type: boolean jsonNull: type: boolean jsonObject: type: boolean asJsonPrimitive: $ref: '#/definitions/JsonPrimitive' asJsonArray: $ref: '#/definitions/JsonArray' asJsonObject: $ref: '#/definitions/JsonObject' jsonArray: type: boolean asJsonNull: $ref: '#/definitions/JsonNull' Money: type: object properties: currency: type: string amount: type: integer format: int64 Number: type: object Payment: type: object properties: headers: type: object additionalProperties: type: string id: type: integer format: int64 ifi: type: integer format: int64 requestChannelType: type: string enum: - ZETA_POS - SUPER_CARD - COLLECT_CARD - COLLECT_CALL - ZETA_PAYMENT_PAGE - ZETA_USER_APP - ZETA_API - ZETA_EXPRESS_REMOTE - ZETA_EXPRESS_KIOSK - ZETA_SHADOW_CARD - ZETA_UNKNOWN - UPI - VOID - IMPS - NEFT state: type: string enum: - VOID - PAYMENT_REQUESTED - PAYMENT_AUTHORIZATION_REQUESTED - CHALLENGE_REQUIRED - CHALLENGE_SUBMITTED - PAYMENT_AUTHORIZATION_RECEIVED - PAYMENT_EFFECTED - PAYMENT_CAPTURED - REVERSAL_INITIATED - PAYMENT_REVERSED - PAYMENT_REQUEST_CANCELLED - PAYMENT_REQUEST_DECLINED - PAYMENT_REQUEST_FAILED - PAYMENT_DECLINED - PAYMENT_FAILED value: $ref: '#/definitions/Money' stateTransitions: type: object additionalProperties: type: integer format: int64 payer: type: object additionalProperties: type: string payee: type: object additionalProperties: type: string paymentRequest: $ref: '#/definitions/PublicPaymentRequestWrapper' receipts: type: array items: $ref: '#/definitions/Receipt' error: $ref: '#/definitions/Error' attributes: type: object additionalProperties: type: string Posting: type: object properties: postingID: type: string ifi: type: integer format: int64 value: $ref: '#/definitions/Money' newBalance: $ref: '#/definitions/Money' instrumentType: type: string productType: type: string cardProgramID: type: string attributes: type: object additionalProperties: type: string coupons: type: array items: $ref: '#/definitions/JsonObject' PublicPaymentRequestWrapper: type: object properties: paymentRequestID: type: string requestFrom: type: string requestTo: type: string value: type: array items: $ref: '#/definitions/Money' dueBy: type: integer format: int64 towards: type: string attributes: type: object additionalProperties: type: string Receipt: type: object properties: headers: type: object additionalProperties: type: string receiptType: type: string enum: - AUTHORIZATION - PAYMENT - REVERSAL paymentID: type: string paymentRequestID: type: string receiptID: type: integer format: int64 transactionHash: type: string transactionCode: type: string paymentFrom: type: string paymentTo: type: string time: type: integer format: int64 debits: type: array items: $ref: '#/definitions/Posting' credits: type: array items: $ref: '#/definitions/Posting' towards: type: string attributes: type: object additionalProperties: type: string value: $ref: '#/definitions/Money' payerInfo: type: object additionalProperties: type: string payeeInfo: type: object additionalProperties: type: string reversedReceiptID: type: integer format: int64 type: type: string signatoryJID: $ref: '#/definitions/JID' zetaSignature: $ref: '#/definitions/ZetaSignature' payloadVersion: type: integer format: int32 signed: type: boolean signature: type: string SignatureAlgorithm: type: object properties: id: type: integer format: int32 TenantEntity: type: object properties: createdDate: type: string format: date-time lastModifiedDate: type: string format: date-time id: type: integer format: int64 tenantId: type: integer format: int64 tenantName: type: string vboId: type: string format: uuid sandboxId: type: integer format: int64 policyConfig: type: object additionalProperties: type: string tenantConfig: type: object additionalProperties: type: string webHookConfig: type: object additionalProperties: type: string UpdateAccountPayload: type: object properties: creditLimit: type: integer format: int64 Void: type: object ZetaSignature: type: object properties: publicKeyID: type: string algoID: type: integer format: int32 signatureAlgorithm: $ref: '#/definitions/SignatureAlgorithm' signature: type: array items: type: string format: byte

On this page:

Need Help?

Contact us at fusion-support@zeta.tech or call us on 080-6690 5995.



  • No labels