globalpayments / rxp-ios Goto Github PK
View Code? Open in Web Editor NEWGlobal Payments Ecommerce iOS Library
License: MIT License
Global Payments Ecommerce iOS Library
License: MIT License
The cancel button is not Localized in HPPViewController.
/// The Web View Controller which encapsulates the management of the webivew and the interaction with the HPP web page.
class HPPViewController: UIViewController, WKNavigationDelegate, WKUIDelegate, WKScriptMessageHandler {
var webView: WKWebView?
var delegate: HPPViewControllerDelegate?
override func viewDidLoad() {
super.viewDidLoad()
initialiseWebView()
let cancelButton = UIBarButtonItem(
title: "Cancel",
style: UIBarButtonItem.Style.plain,
target: self,
action: #selector(HPPViewController.closeView)
)
navigationItem.leftBarButtonItem = cancelButton
}
Hi guys - We've tried uploading a build to Apple with your SDK in it and had a rejection email stating:
ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn more (https://developer.apple.com/documentation/uikit/uiwebview).
We don't use UIWebView in our app only WKWebView as does every other SDK we've integrated, only the "RXPiOS" cocoapod we're currently using uses UIWebView.
Are you able to migrate to WKWebView and update the cocoapod version or is there a new SDK we should be using instead?
Thanks!
Hi guys,
Currently I'm trying to integrate this library in my project, but it has not support for swift 4.2. There is deprecated code and I can't compile it. Could you update it to support it ?
Thanks,
Ema.
Hi,
I have integrated this library in my shopping cart project.
When we try to pay an order, amount is deducted from bank but success (transaction id ) is not getting in iOS app.
HPPViewControllerCompletedWithResult is not called .
Can you please help me how to check ?
Can you please make update for swift 3 compatability.
Is it possible to have access of Pay Now button tap action , using iFrames of realex integration.
UIWebView
got deprecated in iOS 12.0, we are getting following message after submitting builds to App Store Connect:
Dear Developer,
We identified one or more issues with a recent delivery for your app. Your delivery was successful, but you may wish to correct the following issues in your next delivery:
ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs . See https://developer.apple.com/documentation/uikit/uiwebview for more information.
After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to App Store Connect.
Best regards,
The App Store Team
Do you have any plans on updating SDK to replace UIWebView
?
When we tap on the globalpayments the white screen showing 5-10 secs until the user doesn't get notified that what is going is that the payment gateway loading or what, we can not able to add third party loader neight navtive loaders. can you please please update this sdk with loader hide and show features.
We saw a crash:
2020-06-09 08:07:10.473734+0100 snappy[11437:2988605] WF: _WebFilterIsActive returning: NO
2020-06-09 08:07:10.474902+0100 snappy[11437:2988605] [ProcessSwapping] 0x11b6181a8 - ProvisionalPageProxy::didFailProvisionalLoadForFrame: pageProxyID=19 webPageID=30, frameID=3, navigationID=3
2020-06-09 08:07:10.475378+0100 snappy[11437:2988605] -[RXPiOS.HPPManager HPPViewControllerFailedWithError:]: unrecognized selector sent to instance 0x11e186280
2020-06-09 08:07:10.492547+0100 snappy[11437:2988605] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[RXPiOS.HPPManager HPPViewControllerFailedWithError:]: unrecognized selector sent to instance 0x11e186280'
Looking at HPPManager it is obvious that:
private func HPPViewControllerFailedWithError(_ error: Error?) {
self.delegate?.HPPManagerFailedWithError!(error as NSError?)
self.genericDelegate?.HPPManagerFailedWithError(error)
self.hppViewController.dismiss(animated: true, completion: nil)
}
should be:
func HPPViewControllerFailedWithError(_ error: NSError?) {
self.delegate?.HPPManagerFailedWithError!(error as NSError?)
self.genericDelegate?.HPPManagerFailedWithError(error)
self.hppViewController.dismiss(animated: true, completion: nil)
}
Someone used Error instead of NSError as the parameter and to silence the Xcode warning they clicked "fix" making the function private.
Hello,
We are experiencing some issues while using this SDK in our app to process payments.
The data that is sent from the HPPManager
to the provided HPPResponseConsumerURL
, with the 'application/x-www-form-urlencoded' header, is not properly url-encoded, causing our systems to crash. When debugging we see that the HPPManager.decodeHPPResponse
method receives a hppResponse
String, that contains '=' characters. This String is then set as the body for the request, and sent to our systems, containing the un-encoded character.
Here is the snippet from HPPManager
where we believe the error occurs:
Makes a network request to the HPP Response Consumer passing the responce from HPP.
- parameter hppResponse: The response from HPP which is to be decoded.
*/
fileprivate func decodeHPPResponse(_ hppResponse: String) {
UIApplication.shared.isNetworkActivityIndicatorVisible = true
var request = URLRequest(url: self.HPPResponseConsumerURL,
cachePolicy: .reloadIgnoringLocalCacheData,
timeoutInterval: 30.0)
request.httpMethod = "POST"
request.setValue(HPPHeader.Value.xWWWFormUrlEncoded, forHTTPHeaderField: HPPHeader.Field.contentType)
request.setValue(HPPHeader.Value.all, forHTTPHeaderField: HPPHeader.Field.accept)
if let additionalHeaders = additionalHeaders {
additionalHeaders.forEach {
request.setValue($0.value, forHTTPHeaderField: $0.key)
}
}
// At this point the hppResponse String should be URL-encoded, before it is set as the body of the request.
let parameters = "hppResponse=" + hppResponse
request.httpBody = parameters.data(using: String.Encoding.utf8)
Edit: Fixed code snippet.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.