Zuora.Services.PaymentManager.GenerateIframeUrl C# (CSharp) Method

GenerateIframeUrl() public method

public GenerateIframeUrl ( String pageId, String tenantId, String apiSecurityKey, String appUrl ) : String
pageId String
tenantId String
apiSecurityKey String
appUrl String
return String
        public String GenerateIframeUrl(String pageId, String tenantId, String apiSecurityKey, String appUrl)
        {
            String randomtoken = Guid.NewGuid().ToString();  // 32 char alphanumeric random token
            randomtoken = randomtoken.Replace("-", "");

            long timestamp = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000; // UTC(GMT) timetamp in milliseconds.
            String query = "id=" + pageId + "&tenantId=" + tenantId + "&timestamp=" + timestamp + "&token=" + randomtoken + apiSecurityKey;
            String signature = EncodeTo64(CreateMD5Hash(query)); // Signature Genarated from hashing
            signature = signature.Replace("+", "-");
            signature = signature.Replace('/', '_');
            String querystring = "id=" + pageId + "&tenantId=" + tenantId + "&timestamp=" + timestamp + "&token=" + randomtoken;
            String iframeurl = appUrl + "/apps/PublicHostedPaymentMethodPage.do?" + "method=requestPage&" + querystring + "&" + "signature=" + signature;

            return iframeurl;
        }