Problem in decrypting application request in CCAvenue iOS
I am trying to implement CCAvenue payment gateway into my app. I am following CCAvenue: “Error!!! in decrypting application request” this answer, but getting following error :
I have tried this code :
private func encyptCardDetails(data: Data){
guard let rsaKeytemp = String(bytes: data, encoding: String.Encoding.ascii) else{
print("No value for rsaKeyTemp")
return
}
rsaKey = rsaKeytemp
rsaKey = self.rsaKey.trimmingCharacters(in: CharacterSet.newlines)
rsaKey = "-----BEGIN PUBLIC KEY-----n(self.rsaKey)n-----END PUBLIC KEY-----n"
print("rsaKey :: ",rsaKey)
let myRequestString = "amount=(amount)¤cy=(getCurrency())"
let ccTool = CCTool()
var encVal = ccTool.encryptRSA(myRequestString, key: rsaKey)
encVal = CFURLCreateStringByAddingPercentEscapes(
nil,
encVal! as CFString,
nil,
"!*'();:@&=+$,/?%#" as CFString,
CFStringBuiltInEncodings.UTF8.rawValue) as String?
let urlAsString = "https://secure.ccavenue.com/transaction/initTrans"
let encryptedStr = String(format:"merchant_id=%@&order_id=%@&redirect_url=%@&cancel_url=%@&enc_val=%@&access_code=%@", CC_AVENUE_MERCHANTID, self.orderId, CC_AVENUE_REDIRECTURL, CC_AVENUE_REDIRECTURL, encVal!,CC_AVENUE_ACCESSKEY)
print("access_code=(CC_AVENUE_ACCESSKEY)")
print("order_id=(self.orderId)")
let myRequestData = encryptedStr.data(using: String.Encoding.utf8)
request = NSMutableURLRequest(url: URL(string: urlAsString)! as URL, cachePolicy: NSURLRequest.CachePolicy.reloadIgnoringCacheData, timeoutInterval: 30)
request?.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "content-type")
request?.setValue(urlAsString, forHTTPHeaderField: "Referer")
request?.httpMethod = "POST"
request?.httpBody = myRequestData
print("nnnwebview :: ",request?.url as Any)
print("nnnwebview :: ",request?.description as Any)
print("nnnwebview :: ",request?.httpBody?.description as Any)
print("nnnwebview :: ",request?.allHTTPHeaderFields! as Any)
let session = URLSession(configuration: URLSessionConfiguration.default)
print("session",session)
session.dataTask(with: request! as URLRequest) {
(data, response, error) -> Void in
if let response = response as? HTTPURLResponse, 200...299 ~= response.statusCode{
guard let data = data else{
print("No value for data")
return
}
// Create the delay here
DispatchQueue.main.asyncAfter(deadline: .now()+1.0, execute: {
self.viewWeb.loadRequest(self.request! as URLRequest)
}
print("data :: ",data)
}else{
print("into else")
showAlertWithTitleWithMessage(message: "Unable to load webpage currently, Please try again later.")
}
}.resume()
}
Any help would be appreciated.
ios swift ccavenue
add a comment |
I am trying to implement CCAvenue payment gateway into my app. I am following CCAvenue: “Error!!! in decrypting application request” this answer, but getting following error :
I have tried this code :
private func encyptCardDetails(data: Data){
guard let rsaKeytemp = String(bytes: data, encoding: String.Encoding.ascii) else{
print("No value for rsaKeyTemp")
return
}
rsaKey = rsaKeytemp
rsaKey = self.rsaKey.trimmingCharacters(in: CharacterSet.newlines)
rsaKey = "-----BEGIN PUBLIC KEY-----n(self.rsaKey)n-----END PUBLIC KEY-----n"
print("rsaKey :: ",rsaKey)
let myRequestString = "amount=(amount)¤cy=(getCurrency())"
let ccTool = CCTool()
var encVal = ccTool.encryptRSA(myRequestString, key: rsaKey)
encVal = CFURLCreateStringByAddingPercentEscapes(
nil,
encVal! as CFString,
nil,
"!*'();:@&=+$,/?%#" as CFString,
CFStringBuiltInEncodings.UTF8.rawValue) as String?
let urlAsString = "https://secure.ccavenue.com/transaction/initTrans"
let encryptedStr = String(format:"merchant_id=%@&order_id=%@&redirect_url=%@&cancel_url=%@&enc_val=%@&access_code=%@", CC_AVENUE_MERCHANTID, self.orderId, CC_AVENUE_REDIRECTURL, CC_AVENUE_REDIRECTURL, encVal!,CC_AVENUE_ACCESSKEY)
print("access_code=(CC_AVENUE_ACCESSKEY)")
print("order_id=(self.orderId)")
let myRequestData = encryptedStr.data(using: String.Encoding.utf8)
request = NSMutableURLRequest(url: URL(string: urlAsString)! as URL, cachePolicy: NSURLRequest.CachePolicy.reloadIgnoringCacheData, timeoutInterval: 30)
request?.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "content-type")
request?.setValue(urlAsString, forHTTPHeaderField: "Referer")
request?.httpMethod = "POST"
request?.httpBody = myRequestData
print("nnnwebview :: ",request?.url as Any)
print("nnnwebview :: ",request?.description as Any)
print("nnnwebview :: ",request?.httpBody?.description as Any)
print("nnnwebview :: ",request?.allHTTPHeaderFields! as Any)
let session = URLSession(configuration: URLSessionConfiguration.default)
print("session",session)
session.dataTask(with: request! as URLRequest) {
(data, response, error) -> Void in
if let response = response as? HTTPURLResponse, 200...299 ~= response.statusCode{
guard let data = data else{
print("No value for data")
return
}
// Create the delay here
DispatchQueue.main.asyncAfter(deadline: .now()+1.0, execute: {
self.viewWeb.loadRequest(self.request! as URLRequest)
}
print("data :: ",data)
}else{
print("into else")
showAlertWithTitleWithMessage(message: "Unable to load webpage currently, Please try again later.")
}
}.resume()
}
Any help would be appreciated.
ios swift ccavenue
This error may be caused because of mismatching of access code. Please cross check your outgoing IP with access code you are using.
– Mayur Shinde
Nov 20 '18 at 9:20
As i saw you are using older version of code. Ask CCAvenue for newer version of Integration Kit in Swift.
– Mayur Shinde
Nov 20 '18 at 9:36
add a comment |
I am trying to implement CCAvenue payment gateway into my app. I am following CCAvenue: “Error!!! in decrypting application request” this answer, but getting following error :
I have tried this code :
private func encyptCardDetails(data: Data){
guard let rsaKeytemp = String(bytes: data, encoding: String.Encoding.ascii) else{
print("No value for rsaKeyTemp")
return
}
rsaKey = rsaKeytemp
rsaKey = self.rsaKey.trimmingCharacters(in: CharacterSet.newlines)
rsaKey = "-----BEGIN PUBLIC KEY-----n(self.rsaKey)n-----END PUBLIC KEY-----n"
print("rsaKey :: ",rsaKey)
let myRequestString = "amount=(amount)¤cy=(getCurrency())"
let ccTool = CCTool()
var encVal = ccTool.encryptRSA(myRequestString, key: rsaKey)
encVal = CFURLCreateStringByAddingPercentEscapes(
nil,
encVal! as CFString,
nil,
"!*'();:@&=+$,/?%#" as CFString,
CFStringBuiltInEncodings.UTF8.rawValue) as String?
let urlAsString = "https://secure.ccavenue.com/transaction/initTrans"
let encryptedStr = String(format:"merchant_id=%@&order_id=%@&redirect_url=%@&cancel_url=%@&enc_val=%@&access_code=%@", CC_AVENUE_MERCHANTID, self.orderId, CC_AVENUE_REDIRECTURL, CC_AVENUE_REDIRECTURL, encVal!,CC_AVENUE_ACCESSKEY)
print("access_code=(CC_AVENUE_ACCESSKEY)")
print("order_id=(self.orderId)")
let myRequestData = encryptedStr.data(using: String.Encoding.utf8)
request = NSMutableURLRequest(url: URL(string: urlAsString)! as URL, cachePolicy: NSURLRequest.CachePolicy.reloadIgnoringCacheData, timeoutInterval: 30)
request?.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "content-type")
request?.setValue(urlAsString, forHTTPHeaderField: "Referer")
request?.httpMethod = "POST"
request?.httpBody = myRequestData
print("nnnwebview :: ",request?.url as Any)
print("nnnwebview :: ",request?.description as Any)
print("nnnwebview :: ",request?.httpBody?.description as Any)
print("nnnwebview :: ",request?.allHTTPHeaderFields! as Any)
let session = URLSession(configuration: URLSessionConfiguration.default)
print("session",session)
session.dataTask(with: request! as URLRequest) {
(data, response, error) -> Void in
if let response = response as? HTTPURLResponse, 200...299 ~= response.statusCode{
guard let data = data else{
print("No value for data")
return
}
// Create the delay here
DispatchQueue.main.asyncAfter(deadline: .now()+1.0, execute: {
self.viewWeb.loadRequest(self.request! as URLRequest)
}
print("data :: ",data)
}else{
print("into else")
showAlertWithTitleWithMessage(message: "Unable to load webpage currently, Please try again later.")
}
}.resume()
}
Any help would be appreciated.
ios swift ccavenue
I am trying to implement CCAvenue payment gateway into my app. I am following CCAvenue: “Error!!! in decrypting application request” this answer, but getting following error :
I have tried this code :
private func encyptCardDetails(data: Data){
guard let rsaKeytemp = String(bytes: data, encoding: String.Encoding.ascii) else{
print("No value for rsaKeyTemp")
return
}
rsaKey = rsaKeytemp
rsaKey = self.rsaKey.trimmingCharacters(in: CharacterSet.newlines)
rsaKey = "-----BEGIN PUBLIC KEY-----n(self.rsaKey)n-----END PUBLIC KEY-----n"
print("rsaKey :: ",rsaKey)
let myRequestString = "amount=(amount)¤cy=(getCurrency())"
let ccTool = CCTool()
var encVal = ccTool.encryptRSA(myRequestString, key: rsaKey)
encVal = CFURLCreateStringByAddingPercentEscapes(
nil,
encVal! as CFString,
nil,
"!*'();:@&=+$,/?%#" as CFString,
CFStringBuiltInEncodings.UTF8.rawValue) as String?
let urlAsString = "https://secure.ccavenue.com/transaction/initTrans"
let encryptedStr = String(format:"merchant_id=%@&order_id=%@&redirect_url=%@&cancel_url=%@&enc_val=%@&access_code=%@", CC_AVENUE_MERCHANTID, self.orderId, CC_AVENUE_REDIRECTURL, CC_AVENUE_REDIRECTURL, encVal!,CC_AVENUE_ACCESSKEY)
print("access_code=(CC_AVENUE_ACCESSKEY)")
print("order_id=(self.orderId)")
let myRequestData = encryptedStr.data(using: String.Encoding.utf8)
request = NSMutableURLRequest(url: URL(string: urlAsString)! as URL, cachePolicy: NSURLRequest.CachePolicy.reloadIgnoringCacheData, timeoutInterval: 30)
request?.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "content-type")
request?.setValue(urlAsString, forHTTPHeaderField: "Referer")
request?.httpMethod = "POST"
request?.httpBody = myRequestData
print("nnnwebview :: ",request?.url as Any)
print("nnnwebview :: ",request?.description as Any)
print("nnnwebview :: ",request?.httpBody?.description as Any)
print("nnnwebview :: ",request?.allHTTPHeaderFields! as Any)
let session = URLSession(configuration: URLSessionConfiguration.default)
print("session",session)
session.dataTask(with: request! as URLRequest) {
(data, response, error) -> Void in
if let response = response as? HTTPURLResponse, 200...299 ~= response.statusCode{
guard let data = data else{
print("No value for data")
return
}
// Create the delay here
DispatchQueue.main.asyncAfter(deadline: .now()+1.0, execute: {
self.viewWeb.loadRequest(self.request! as URLRequest)
}
print("data :: ",data)
}else{
print("into else")
showAlertWithTitleWithMessage(message: "Unable to load webpage currently, Please try again later.")
}
}.resume()
}
Any help would be appreciated.
ios swift ccavenue
ios swift ccavenue
asked Nov 20 '18 at 9:05
Meet DoshiMeet Doshi
2,68282866
2,68282866
This error may be caused because of mismatching of access code. Please cross check your outgoing IP with access code you are using.
– Mayur Shinde
Nov 20 '18 at 9:20
As i saw you are using older version of code. Ask CCAvenue for newer version of Integration Kit in Swift.
– Mayur Shinde
Nov 20 '18 at 9:36
add a comment |
This error may be caused because of mismatching of access code. Please cross check your outgoing IP with access code you are using.
– Mayur Shinde
Nov 20 '18 at 9:20
As i saw you are using older version of code. Ask CCAvenue for newer version of Integration Kit in Swift.
– Mayur Shinde
Nov 20 '18 at 9:36
This error may be caused because of mismatching of access code. Please cross check your outgoing IP with access code you are using.
– Mayur Shinde
Nov 20 '18 at 9:20
This error may be caused because of mismatching of access code. Please cross check your outgoing IP with access code you are using.
– Mayur Shinde
Nov 20 '18 at 9:20
As i saw you are using older version of code. Ask CCAvenue for newer version of Integration Kit in Swift.
– Mayur Shinde
Nov 20 '18 at 9:36
As i saw you are using older version of code. Ask CCAvenue for newer version of Integration Kit in Swift.
– Mayur Shinde
Nov 20 '18 at 9:36
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53389529%2fproblem-in-decrypting-application-request-in-ccavenue-ios%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53389529%2fproblem-in-decrypting-application-request-in-ccavenue-ios%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
This error may be caused because of mismatching of access code. Please cross check your outgoing IP with access code you are using.
– Mayur Shinde
Nov 20 '18 at 9:20
As i saw you are using older version of code. Ask CCAvenue for newer version of Integration Kit in Swift.
– Mayur Shinde
Nov 20 '18 at 9:36