AePS Gateway Queries

How can i integrate the AePS Gateway?

You can integrate the AePS Gateway in both Web and Android Mobile application :

  1. AePS Gateway Web : Refer to the link : https://developers.eko.in/docs/aeps-web-integration
  2. AePS Gateway Android : https://developers.eko.in/docs/aeps-integration-android

I am getting "Error in authentication" while opening the gateway, what should i do?

Make sure that the secret-key and secret-key-timestamp msut be generated dynamically and correctly. Static values of these parameters will not work. Also, developer-key and initiator_id must be passed correctly according to the envrionment you are working on and environment parameter value must be passed correct. If working on UAT then the value will be "uat" and if working on the production environemnt then value should be "production"

I am getting "Authentication Failed...Initiator access forbidden" while opening the gateway, what should i do?

Please check the initiator_id value, it should be passed correct and make sure that the user code value that you are passing must be ACTIVATED otherwise the retailer is not allowed to do the transaction

I am getting "Connection to callback server failed. Please try again" while proceeding for the transaction, what should i do?

This error comes when the CORS headers are not implemented properly on the callback URL they are passing in the code.

Please do the needful and also implement the CORS headers on your callback URL.

Your server must send proper CORS headers in the response of your callback-API
Add the following response HTTP headers:

For OPTIONS method:
Access-Control-Allow-Methods: POST, OPTIONS
Access-Control-Allow-Origin: https://stagegateway.eko.in
Access-Control-Allow-Headers: Content-Type

For POST method:
Access-Control-Allow-Origin: https://stagegateway.eko.in

For quick reference, you can walk through the demo and view network calls using Browser Dev tools and understand how the above headers are sent in the response.

Also, on migration to Production, replace the Test URL (https://stagegateway.eko.in) with the production URL (https://gateway.eko.in) in the above headers.

For a detailed study on CORS, you can read this guide.

For security reasons, callback URL should use HTTPS protocol instead of HTTP (when not on localhost).

You can refer to the link "https://developers.eko.in/docs/enable-cors" .

I am getting "Connection to callback server failed. Please try again (Status = 200 OK)" while proceeding for the transaction, what should i do?

Please check for the debit hook response in the network tab. The debit hook response must be passed from your callback URL and must be passed in the JSON format only with the correct parameter values.

I am getting "Transaction verification timeout" error message or the proceed button is continously circling while proceeding for the transaction, what should i do?

This happens when we are expecting the debit hook response from your end but we are not getting the same from your end or not getting in the JSON format. Check for the response in the network tab.

I am getting "Authenticaton for secret-key failed / Authenticaton for request-hash failed" error message on the staging environment, how to resolve this?

Please check the generation of the secret-key/ request-hash from your end by printing each and every value, it should be generated with the correct key and as per with the mentioned steps in the docume ntation

I am getting "Please try again" error message on the production environment after proceeding for the transaction, how to resolve this?

Please check the generation of the secret-key/ request-hash from your end by printing each and every value, it should be generated with the correct key and as per with the mentioned steps in the docume ntation

Getting the failed transaction response, what is the issue?

If you are getting the failed response on the staging environment then the response of failure transaction must be mocked and if getting on the production environment then please raise it either to your RM or on [email protected]

Is it necessary to pass the callback URL with HTTPS?

Yes, the callback URL must be HTTPS only if hosted on server otherwise the browser will give the CORS headers issue

Do you have any sample code for the AePS SDK integration on Ionic / Hybrid platform?

We have a SDK code available in the native android and the equivalent code msut be written at your end itself as we do not have any dedicated resource avaiable at our end for the same. If you are using ionic framework then you have to integrate your app with Android AePS Gateway SDK.

You can check the following links that would guide how to integrate ionic apps with native android SDK.

https://stackoverflow.com/questions/51203863/access-android-native-code-from-ionic
https://capacitor.ionicframework.com/docs/android/custom-code/
https://stackoverflow.com/questions/47625512/how-to-link-ionic-3-wtih-android-native-code
https://ionicframework.com/docs/cli/commands/cordova-plugin
https://www.youtube.com/watch?v=ApTe3EgLiCk

Please do not create a webview wrapper for our website version in order to avoid any inconsistent issues.

We do not provide any support in case you integrate the webview instead of integrating the SDK

The biometric devices are working when opened the AePS gateway in the mobile browser?

The biometric device drivers are not supported in te mobile we brwiser, either implement in the web or implement the Android SDK

What are the changes needs to be done for to run AePS gateway in Android 11

Updates :

SDK versions -
compileSdkVersion 30
minSdkVersion 21
targetSdkVersion 30

Gradle Versions -
distributionUrl=https://services.gradle.org/distributions/gradle-6.5-bin.zip (on gradle.properties)
classpath 'com.android.tools.build:gradle:4.1.3' (on project level gradle)

#########################################################################################################
Solution :

Add query parameter to enable rd services in android 11 devices

<intent>
	<action android:name="android.intent.action.SEND" />
	<data android:mimeType="image/jpeg" />
</intent>