1. Generate Merchant Keys

A merchant should have an RSA public key in order to integrate direct pay. The RSA key will be generated using this endpoint.

API Endpoints

Production Base URL /api/GenToken/GenerateMerchantKey

Sample Request & Response

Use the below parameters to get merchant keys.


{
    "merchantCode":"xxxxx",
    "authKey":"xxxxxxxxxx"
}

To obtain the public key, access the publicKey property directly from the API response object as follows:

var publicKey = response.result.publicKey;

In the event that an error occurs while retrieving or using response.result.publicKey (e.g., the property is malformed, or inaccessible), implement the following fallback mechanism: Use an RSA public key in the XML format specified below:

<RSAKeyValue>
    <Modulus>[Binary value]</Modulus>
    <Exponent>AQAB</Exponent>
</RSAKeyValue>

Replace [Binary value] with the base64-encoded modulus of the RSA public key. This is the primary component of the key.

sample code to post data

 public async Task> GenrateKeys(GenrateKeysRequest obj)
  {
  Output dto = new Output();
  var url = {Provided End Point};
  var client = new HttpClient();
  client.BaseAddress = new Uri(url);
  try
  {
  var resultser = JsonConvert.SerializeObject(obj);
  client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
  client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json; charset=utf-8");
  var response = client.PostAsJsonAsync(url, obj).Result;
  if (response.IsSuccessStatusCode)
  {
  var ss = response.Content.ReadAsStringAsync();
  var result = JsonConvert.DeserializeObject>(ss.Result);
  dto = result;
  }
  else
  {
  var ss = response.Content.ReadAsStringAsync();
  var resps = ss.Result.ToString();
  }
  }
  catch (HttpRequestException ex)
  {
  }
  return dto;
 
   }

Note: Merchant keys are valid for 24 hours and the same key to be use for decryption for 24 hours. Users are expected to generate a new merchant key every 24 hours. If the merchant utilizes an invalid RSA public key, the following error will show up in subsequent calls. { "ErrorMessage" : "Exception while decrypting the Card Details" }

Last updated