{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/spliceforms/main/json-schema/spliceforms-payin-request-schema.json", "title": "PayinRequest", "description": "Payin request", "x-generated": "2026-10-09", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/spliceforms-capture-services-openapi.yml#/components/schemas/PayinRequest", "type": "object", "x-stoplight": { "id": "odvdz2ke622gr" }, "required": [ "requestReferenceNo", "amount", "source", "device" ], "properties": { "requestReferenceNo": { "x-unresolved-stoplight-ref": "stoplight://resources/overrides/LxUYQPKCXxM" }, "amount": { "x-unresolved-stoplight-ref": "stoplight://resources/overrides/wbgPBBXK2qY" }, "source": { "$ref": "#/$defs/ExternalFundingRequest" }, "device": { "$ref": "#/$defs/Device" } }, "$defs": { "Device": { "type": "object", "title": "Device", "description": "It captures details about the device initiating the request", "properties": { "channelId": { "type": "string", "description": "The unique code representing the specific channel.", "pattern": "^\\d{1,5}$", "minLength": 1, "maxLength": 5 }, "ipAddress": { "type": "string", "description": "The IP address of the device.", "format": "ipv6", "pattern": "^([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9])?[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9])?[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9])?[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9])?[0-9])$", "minLength": 2, "maxLength": 39 }, "userAgent": { "type": "string", "description": "The user agent of the device.", "pattern": "^[A-Za-z ]+", "minLength": 1, "maxLength": 100 } }, "required": [ "channelId", "userAgent" ], "x-stoplight": { "id": "01tld0hvzfmpg" } }, "ExternalBankAccount": { "type": "object", "title": "ExternalBankAccount", "description": "Contains details of the NEFT instrument.", "x-package": "payment.instrument", "x-stoplight": { "id": "jp29joi2rdyw4" }, "required": [ "accountType", "accountNo", "ifsc" ], "properties": { "accountType": { "x-unresolved-stoplight-ref": "stoplight://resources/overrides/tCwO6x9ZNk0" }, "accountNo": { "x-unresolved-stoplight-ref": "stoplight://resources/overrides/swJoliwLU7s" }, "ifsc": { "x-unresolved-stoplight-ref": "stoplight://resources/overrides/5js4tqEmILQ" } } }, "ExternalFundingMethodType": { "description": "Options through which applicant can make a deposit using external bank accounts", "title": "ExternalFundingMethodType", "type": "string", "x-stoplight": { "id": "juqy97cplinyp" }, "enum": [ "UPI", "NETBANKING" ], "pattern": "^[A-Z_]+", "minLength": 3, "maxLength": 10 }, "ExternalFundingRequest": { "type": "object", "title": "ExternalFundingRequest", "description": "Funds sourced from an external bank account.", "x-stoplight": { "id": "eyiccvugl6ed6" }, "required": [ "method", "instrument" ], "properties": { "method": { "description": "Possible methods for getting funds from external accounts", "$ref": "#/$defs/ExternalFundingMethodType" }, "instrument": { "oneOf": [ { "$ref": "#/$defs/UpiPaymentRequest" }, { "$ref": "#/$defs/NetbankingPaymentRequest" } ] } } }, "NetbankingPaymentRequest": { "type": "object", "title": "NetbankingPaymentRequest", "description": "Contains details of the netbanking payment request.", "properties": { "account": { "$ref": "#/$defs/ExternalBankAccount" } }, "required": [ "account" ], "x-stoplight": { "id": "opeyfm5n1c05u" } }, "UpiPaymentRequest": { "type": "object", "title": "UpiPaymentRequest", "description": "Contains details of the UPI payment request", "x-stoplight": { "id": "ar2fr8aiikut5" }, "required": [ "vpa", "account" ], "properties": { "vpa": { "x-unresolved-stoplight-ref": "stoplight://resources/overrides/ruVStTpk5p0" }, "account": { "$ref": "#/$defs/ExternalBankAccount" } } } } }