Outlet Login

This API will help Merchant to do 2FA on a daily basis for every onboarded merchant for doing any AePS transactions.

Header Parameters

NameTypeDescriptionMandatory (M) , Optional (O)Provided by INSTANTPAY (Y/N)
X-Ipay-Auth-CodeStringAuth Code - 1 (Fixed)MY
X-Ipay-Client-IdStringUnique Client IDMY
X-Ipay-Client-SecretStringUnique secret keyMY
X-Ipay-Outlet-IdStringMerchant unique IDMY
X-Ipay-Endpoint-IpStringEnd Customer IP AddressMN

Request Parameters

NameTypeMandatory (M) , Optional (O)Description
typeStringMandatoryIt will be DAILY_LOGIN
latitudeStringMandatoryCurrent location latitude
longitudeStringMandatoryCurrent location longitude
externalRefStringMandatoryYour unique transaction id
biometricDataArrayMandatoryBiometric data details
biometricData.encryptedAadhaarStringMandatoryAadhar Number in encrypted form(aes-256-cbc)
biometricData.dcStringMandatoryReturned by RD Service when using biometric authentication. Registered Device code.
biometricData.ciStringMandatoryReturned by RD Service when using biometric authentication. Public key certificate identifier of UIDAI using which skey was encrypted.
biometricData.hmacStringMandatoryReturned by RD Service when using biometric authentication. SHA -256 Hash of PID XML and then encrypted and base 64 encoded
biometricData.dpIdStringMandatoryReturned by RD Service when using biometric authentication. Device provider Id.
biometricData.mcStringMandatoryReturned by RD Service when using biometric authentication. encrypted registered device public key certificate
biometricData.pidDataTypeStringMandatoryReturned by RD Service when using biometric authentication.
biometricData.sessionKeyStringMandatoryReturned by RD Service when using biometric authentication. AES session key generated dynamically for every txn.
biometricData.miStringMandatoryReturned by RD Service when using biometric authentication. RD model Id.
biometricData.rdsIdStringMandatoryReturned by RD Service when using biometric authentication. RD Service Id.
biometricData.errCodeStringMandatory0(Default)- Request success
biometricData.errInfoStringOptionalInformation about the error
biometricData.fCountStringOptionalTotal number of FIR records which was part of input.
biometricData.fTypeStringMandatoryWhen connecting the Device to RD service send ftype 2 in the request.
biometricData.iCountStringMandatoryTotal number of IIR records which was part of input.
biometricData.iTypeStringOptionalISO format (0 for IIR), 0 (IIR) is default.
biometricData.pCountStringOptionalNumber of face photo records to be captured (0 to 1).
biometricData.pTypeStringMandatoryFace format
biometricData.srnoStringMandatorySerial Number of biometric device.
biometricData.sysidStringOptionalSystem Id
biometricData.tsStringOptionalCurrent Timestamp.
biometricData.pidDataStringMandatoryReturned by RD Service when using biometric authentication.
biometricData.qScoreStringMandatoryIf quality check is done, send a normalized score that is between 0 and 100. Device providers may allow configuration within RD service to use specific quality check algorithms to be enabled.
biometricData.nmPointsStringMandatoryNumber of minutiae points when FMR is captured. Applications may use this for accepting or retrying the capture.
biometricData.rdsVerStringMandatoryReturned by RD Service when using biometric authentication. RD Service version.

📘

Info:

Click here for guidelines for entering data in latitude/ longitude parameter.

📘

Info

For daily Two-Factor Authentication (2FA), use "DAILY_LOGIN" as the type.

Sample Request

curl --location 'https://api.instantpay.in/fi/aeps/outletLogin' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'X-Ipay-Auth-Code: 1' \
--header 'X-Ipay-Client-Id: YWY3OTAzYzNlM2ExZTJlOfh549Gzt+5IEcETrD5Yx+Q=' \
--header 'X-Ipay-Client-Secret: 82e4755d7c1cf636816addfe1460936d7b64612208df87f3000aa5b56fc926d1' \
--header 'X-Ipay-Outlet-Id: 72762' \
--header 'X-Ipay-Endpoint-Ip: 49.242.233.2' \
--data ' {
    "type" :"DAILY_LOGIN",
    "latitude": "21.1231",
    "longitude": "70.1231",
    "externalRef" : "Abc1234",
    "biometricData": {
        "encryptedAadhaar": "GWFDLdnHmGF7Am6oG4F6X6GNyO02eQj24hlOiK/Y+js=",
        "dc": "81cfa394-d641-44cf-835d-cb65532bbc20",
        "ci": "20221021",
        "hmac": "I5EODHg8w1bkDDzUn5tJGJ8K0ZKBMGa4iD+yQgI63Hr6OwKy7KEkCdemVK5yFEP3",
        "dpId": "STARTEK.ACPL",
        "mc": "MIIDgDCCAmigAwIBAgIFAAZeW+IwDQYJKoZIhvcNAQELBQAwdDEdMBsGA1UEAxMUQklKQVkgQU1BUk5BVEggU0lOSEExEDAOBgNVBAgTB0dVSkFSQVQxETAPBgNVBAsTCERJUkVDVE9SMSEwHwYDVQQKExhBQ0NFU1MgQ09NUFVURUNIIFBWVCBMVEQxCzAJBgNVBAYTAklOMB4XDTIyMDQyNjA2MDg0M1oXDTIyMDUyNjA2MDg0M1owUTELMAkGA1UEBhMCSU4xEDAOBgNVBAgMB0d1amFyYXQxDTALBgNVBAoMBFVTRVIxDTALBgNVBAsMBFVTRVIxEjAQBgNVBAMMCVBST0RfVVNFUjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMk3kObEzchV/cithqKtBslzmafe4ky0mpPYwp4zTwt/d5RJ2JbtKnWYYLHJ8IUCXbhGPMtAmiZAG3fA6tlCw71z0rimo11g8GUQasfkKZE93V0cO8zW+V4Mi/V27mNfduZBGeGRyf5YPq4JDA3GnKrW7kSiHpUJ+KMp8QWZA5vqam0kknqGO06Zpx0x8jOmV27z3XN8Xh/3nDOfTh+NelQ6dkrLCkHpN4oWYPmj+uIF/JrTfPtgYe9+54z6LO/K3zNfHSsZtuO7IWWvC3DYFRoDLzc9pVAQ5DP0xxrEUYwJJu258NNrd4ouZel+EIEFg73FM9fTV5VxmmGxaQQugLECAwEAAaM8MDowDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAYYwHQYDVR0OBBYEFIuDs650JC9y2NFbmYq8mLXQLmEDMA0GCSqGSIb3DQEBCwUAA4IBAQAT9FUmGdDb9f1BpIhk0Ak3Zko2sggSMD9ORg7veRKTUEvX5xUNowDT37jgXWPRIn3lZ9pHIbJOL4oDLPQACpL2GReagcwGWyhm9J9ICO7Z0mocXhc/M101fWlpX0qEUhpNgaz+AqXWmM5vj6eeGd50xTXKirVmlzlnqwzc+1RNu3fP0h5HQhxd2HIroffLHLBEzVZMIaLZ7NBuMdCdfSfYa9fFAyFJ/WhT4hskcRNecZLoH89Bk1fgJMd7MnFXpe1JQqgZqE1REp+wDQom0DRxtyLT8a8HndP/1Fn/PiXP+AaJOmGiJMNZ66QBirdAxfQUhozPlich2KVFeOagTmyB",
        "pidDataType": "X",
        "sessionKey": "j8ZosXKbnzqqiXScig0WE3Rg3EZyGZKvscEMcQcSCOfdif0g7ccHUVLf+LVKOdm5EEWNbtxDSItk3GK1v3/f9fcWEIMbtvDkv4kkZlPs35TFsGkfO/hk5YLmjrFSHjMNqUYazajMQ2Tnvv1hFBLIVe1pJbeLqLYLt9Pj98heZhxbgpOdu1P7h0MMAzpPjv7NBIIeF+GUPH2qL45ui/cjJLd0F2r4YFq091Pl38OkKYbGTPeYdIvs6Oe5ZYfvnD1OU/i8ZBz5wgqYSmtrebcM1EbA6YxURmM03qLV8fqa8O/e3hyOE3tQ3hf1Z27oZckwgZYgzgtyrlaltemewD5hrQ==",
        "mi": "FM220U",
        "rdsId": "ACPL.WIN.001",
        "errCode": "0",
        "errInfo": "",
        "fCount": "1",
        "fType": "2",
        "iCount": 0,
        "iType": "",
        "pCount": 0,
        "pType": "",
        "srno": "N00115075",
        "sysid": "MDAyNTM4ODU4MUI0OTgwNU4wQ1YxODM4TUIwMDU0NDk3SkFOMENWMDM2MjM3NDEw",
        "ts": "2022-04-27T18:46:04+05:30",
        "pidData": "MjAyMi0wNC0yN1QxODo0NjowNLL1HoqElpz2slVi9REBE0SWvCFZFIDkDLN7fyjOF/c2oCR+YYPakGCjwlUUQyinqcuK0VEpdP14UqJd5r4nkqds8atvH/h0RTrupNJXVgyVkRkuWzpWRllvv0PGSvqJf/G6x7hGpFYq2JhAkN48xQO8f7L3XOzfrckd84M10yrlIUFZDlWCfx9CwghRLNYOFzQkD/Hqf9RHG1b7vi9R16RP8LIjCwS5w/GsumylYT++ad1Qug0hZYcneZJHf7Z6zK/43LBO6AuXc9ZbaZdBBymvqrrHsT50J4/P34ENzcmA4mBK3TnIfVPPZ6SNI2msZqbu7YM2O5CLoT6EE8DcvC9TwJqAVqV4ddVH3R2CkwCvDMQ+Lt08tUS8R5sxCYmUnR7BQk8kVHHiRhSZUfcJcQYTmdJKKv4wRi84ZEAfOwHPJ/rZU5hzJf6VdRoz48aJM1iv9ehg+4idng+HfbvnP99h68xEr5FHYT0cpFz91LfosKYmm2X6ioHCtHd+AASpyyBA0FGHSVvDRSZ4M+PtLG/jLGV1C61iMZZ2VkNZPoOH3XlqOup2ACOYECFaVcjYF6YM/T2wLj/7hFSCXKcQ4nmICpHY+3adbYnFmsoLnhQDZZbHyVuGWMFDvfg+jNk0c3S9XzFUaIqBDtw74o51Zzgn1s6ysmjjWzwt1R96golmhwtvHUET9fvB8UCC9nkweriTW2NbX9P84nngvijMZzE1BUUy5r7TP3nDYHIDcOgGRxYZdNC/Hn+G7dL8wx3C1d2Sg6Cwepz/09+jxNuFeE7Nznmd/v/ngoXaLzhSsNp11hC9lLukRoyvvp+rX/GPMrSW2jvTdL13YlijonK0ekmoqH9Vd7QBRCvxXTMVMC9byal+AUiCx7h0CCX+gByFGTstHDTa0MHmepOIG8G5xCJQqiY8EOxrWAi+halfFGMY9ztW/fgXlVGkjhtFbQTUDyGecfQeDSL31vOgCwVX5ts9g6G2GXMdpEYt8m25y3Dd6unL6eowpHGfKlJ3Gtkqc/XQvvRdo7iIMz2xkYOd3qBhwhwdhMN6doxtEIUFw0Q33JPlfZ/Z998rU5CDHscnvgDFC1vISTl4W0RvbnLSa2mh3N0Y67o+KacwVWOA5Yj9Qvx5T84qPeK3J233hUVctFjVsd1cjBTVXxTOSqjPRYVJwAljLlvWjwOhvA8OapyvWIVJa3viCNvR2RCTFR5npYlYn4/LlDotyGKKw7SlT14gwouMAMwYbROxFXjp7g5spX/UGohh4jCjIlWZKQFyyURXKm+j8EjJ8gvH47JgC+UE/TAI4qqH",
        "qScore": "100",
        "nmPoints": "46",
        "rdsVer": "1.0.3"
    }
}'
POST /aeps/outletLogin HTTP/1.1
Host: api.instantpay.in
Accept: application/json
Content-Type: application/json
X-Ipay-Auth-Code: {{authCode}}
X-Ipay-Client-Id: {{clientId}}
X-Ipay-Client-Secret: {{clientSecret}}
X-Ipay-Endpoint-Ip: {{endPointIP}}
X-Ipay-Outlet-Id:{{outletId}}

"Body": {
    "type" :"DAILY_LOGIN",
    "latitude": "2*.***1",
    "longitude": "7*.****1",
    "externalRef" : "Abc1234",
    "biometricData": {
        "encryptedAadhaar": "GWFDLdnHmGF7Am6oG4F6X6GNyO02eQj24hlOiK/Y+js=",
        "dc": "81cfa394-d641-44cf-835d-cb65532bbc20",
        "ci": "20221021",
        "hmac": "I5EODHg8w1bkDDzUn5tJGJ8K0ZKBMGa4iD+yQgI63Hr6OwKy7KEkCdemVK5yFEP3",
        "dpId": "STARTEK.ACPL",
        "mc": "MIIDgDCCAmigAwIBAgIFAAZeW+IwDQYJKoZIhvcNAQELBQAwdDEdMBsGA1UEAxMUQklKQVkgQU1BUk5BVEggU0lOSEExEDAOBgNVBAgTB0dVSkFSQVQxETAPBgNVBAsTCERJUkVDVE9SMSEwHwYDVQQKExhBQ0NFU1MgQ09NUFVURUNIIFBWVCBMVEQxCzAJBgNVBAYTAklOMB4XDTIyMDQyNjA2MDg0M1oXDTIyMDUyNjA2MDg0M1owUTELMAkGA1UEBhMCSU4xEDAOBgNVBAgMB0d1amFyYXQxDTALBgNVBAoMBFVTRVIxDTALBgNVBAsMBFVTRVIxEjAQBgNVBAMMCVBST0RfVVNFUjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMk3kObEzchV/cithqKtBslzmafe4ky0mpPYwp4zTwt/d5RJ2JbtKnWYYLHJ8IUCXbhGPMtAmiZAG3fA6tlCw71z0rimo11g8GUQasfkKZE93V0cO8zW+V4Mi/V27mNfduZBGeGRyf5YPq4JDA3GnKrW7kSiHpUJ+KMp8QWZA5vqam0kknqGO06Zpx0x8jOmV27z3XN8Xh/3nDOfTh+NelQ6dkrLCkHpN4oWYPmj+uIF/JrTfPtgYe9+54z6LO/K3zNfHSsZtuO7IWWvC3DYFRoDLzc9pVAQ5DP0xxrEUYwJJu258NNrd4ouZel+EIEFg73FM9fTV5VxmmGxaQQugLECAwEAAaM8MDowDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAYYwHQYDVR0OBBYEFIuDs650JC9y2NFbmYq8mLXQLmEDMA0GCSqGSIb3DQEBCwUAA4IBAQAT9FUmGdDb9f1BpIhk0Ak3Zko2sggSMD9ORg7veRKTUEvX5xUNowDT37jgXWPRIn3lZ9pHIbJOL4oDLPQACpL2GReagcwGWyhm9J9ICO7Z0mocXhc/M101fWlpX0qEUhpNgaz+AqXWmM5vj6eeGd50xTXKirVmlzlnqwzc+1RNu3fP0h5HQhxd2HIroffLHLBEzVZMIaLZ7NBuMdCdfSfYa9fFAyFJ/WhT4hskcRNecZLoH89Bk1fgJMd7MnFXpe1JQqgZqE1REp+wDQom0DRxtyLT8a8HndP/1Fn/PiXP+AaJOmGiJMNZ66QBirdAxfQUhozPlich2KVFeOagTmyB",
        "pidDataType": "X",
        "sessionKey": "j8ZosXKbnzqqiXScig0WE3Rg3EZyGZKvscEMcQcSCOfdif0g7ccHUVLf+LVKOdm5EEWNbtxDSItk3GK1v3/f9fcWEIMbtvDkv4kkZlPs35TFsGkfO/hk5YLmjrFSHjMNqUYazajMQ2Tnvv1hFBLIVe1pJbeLqLYLt9Pj98heZhxbgpOdu1P7h0MMAzpPjv7NBIIeF+GUPH2qL45ui/cjJLd0F2r4YFq091Pl38OkKYbGTPeYdIvs6Oe5ZYfvnD1OU/i8ZBz5wgqYSmtrebcM1EbA6YxURmM03qLV8fqa8O/e3hyOE3tQ3hf1Z27oZckwgZYgzgtyrlaltemewD5hrQ==",
        "mi": "FM220U",
        "rdsId": "ACPL.WIN.001",
        "errCode": "0",
        "errInfo": "",
        "fCount": "1",
        "fType": "2",
        "iCount": 0,
        "iType": "",
        "pCount": 0,
        "pType": "",
        "srno": "N00115075",
        "sysid": "MDAyNTM4ODU4MUI0OTgwNU4wQ1YxODM4TUIwMDU0NDk3SkFOMENWMDM2MjM3NDEw",
        "ts": "2022-04-27T18:46:04+05:30",
        "pidData": "MjAyMi0wNC0yN1QxODo0NjowNLL1HoqElpz2slVi9REBE0SWvCFZFIDkDLN7fyjOF/c2oCR+YYPakGCjwlUUQyinqcuK0VEpdP14UqJd5r4nkqds8atvH/h0RTrupNJXVgyVkRkuWzpWRllvv0PGSvqJf/G6x7hGpFYq2JhAkN48xQO8f7L3XOzfrckd84M10yrlIUFZDlWCfx9CwghRLNYOFzQkD/Hqf9RHG1b7vi9R16RP8LIjCwS5w/GsumylYT++ad1Qug0hZYcneZJHf7Z6zK/43LBO6AuXc9ZbaZdBBymvqrrHsT50J4/P34ENzcmA4mBK3TnIfVPPZ6SNI2msZqbu7YM2O5CLoT6EE8DcvC9TwJqAVqV4ddVH3R2CkwCvDMQ+Lt08tUS8R5sxCYmUnR7BQk8kVHHiRhSZUfcJcQYTmdJKKv4wRi84ZEAfOwHPJ/rZU5hzJf6VdRoz48aJM1iv9ehg+4idng+HfbvnP99h68xEr5FHYT0cpFz91LfosKYmm2X6ioHCtHd+AASpyyBA0FGHSVvDRSZ4M+PtLG/jLGV1C61iMZZ2VkNZPoOH3XlqOup2ACOYECFaVcjYF6YM/T2wLj/7hFSCXKcQ4nmICpHY+3adbYnFmsoLnhQDZZbHyVuGWMFDvfg+jNk0c3S9XzFUaIqBDtw74o51Zzgn1s6ysmjjWzwt1R96golmhwtvHUET9fvB8UCC9nkweriTW2NbX9P84nngvijMZzE1BUUy5r7TP3nDYHIDcOgGRxYZdNC/Hn+G7dL8wx3C1d2Sg6Cwepz/09+jxNuFeE7Nznmd/v/ngoXaLzhSsNp11hC9lLukRoyvvp+rX/GPMrSW2jvTdL13YlijonK0ekmoqH9Vd7QBRCvxXTMVMC9byal+AUiCx7h0CCX+gByFGTstHDTa0MHmepOIG8G5xCJQqiY8EOxrWAi+halfFGMY9ztW/fgXlVGkjhtFbQTUDyGecfQeDSL31vOgCwVX5ts9g6G2GXMdpEYt8m25y3Dd6unL6eowpHGfKlJ3Gtkqc/XQvvRdo7iIMz2xkYOd3qBhwhwdhMN6doxtEIUFw0Q33JPlfZ/Z998rU5CDHscnvgDFC1vISTl4W0RvbnLSa2mh3N0Y67o+KacwVWOA5Yj9Qvx5T84qPeK3J233hUVctFjVsd1cjBTVXxTOSqjPRYVJwAljLlvWjwOhvA8OapyvWIVJa3viCNvR2RCTFR5npYlYn4/LlDotyGKKw7SlT14gwouMAMwYbROxFXjp7g5spX/UGohh4jCjIlWZKQFyyURXKm+j8EjJ8gvH47JgC+UE/TAI4qqH",
        "qScore": "100",
        "nmPoints": "46",
        "rdsVer": "1.0.3"
    }
}'

Response Parameters

NameTypeDescription
statuscodeStringInstantPay Status Code
actcodeStringAction Code
statusStringStatus Message
dataArrayResponse Data (If Present)
timestampStringCurrent time (YYYY-MM-DD HH:II:SS)
ipay_uuidStringRequest reference number
orderidStringTransaction Id ( If transaction otherwise it is null )
environmentStringLive

Sample Response

{
    "statuscode": "TXN",
    "actcode": "LOGGEDIN",
    "status": "Transaction Successful",
    "data": null,
    "timestamp": "2023-07-31 10:46:24",
    "ipay_uuid": "h00699c68d9d-2342-43d8-8cd2-eeb8265f7663",
    "orderid": null,
    "environment": "LIVE",
    "internalCode": null
}

📘

Note :

Biometric login by a Outlet will be active for 1 calendar day and will expire at midnight.

In case a Outlet tries to initiate any AEPS transactions without biometric auth then the outlet will receive the error.

Daily Merchant 2FA will be chargeable for every attempt.

If the Merchant 2FA failed with validation i.e Biometric Data did not match error then you will TXN in statuscode and actcode as LOGINREQUIRED and it will be chargeable which means the Merchant needs to initiate 2FA again

If you are encountering error code OUI with the message "The X-Ipay-Outlet-Id header must have a valid outletId," even though the outlet is registered on your end, please re-onboard the outlet using the Merchant Onboarding API. This issue typically arises when the outlet has not processed any transactions in the last 6 months.

Language
Click Try It! to start a request and see the response here!