Giter Site home page Giter Site logo

rxp-ios's People

Contributors

alexoverseer avatar damianjsullivan avatar fchankg avatar kdomenicucci-kg avatar realexitso avatar rxp-developers avatar seanmacdomhnall avatar securesubmit-buildmaster avatar slogsdon avatar xegole avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

rxp-ios's Issues

The cancel button is not Localized in HPPViewController

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
    }

UIWebView no longer supported by Apple

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!

Unsupported swift 4.2

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.

HPPViewControllerCompletedWithResult is not called

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 ?

UIWebView is deprecated

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?

While loading the payment gateway page it is not showing loader

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.

HPPViewControllerFailedWithError delegate function in HPPManager.swift should not be private

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.

URL encoding issues with the provided HPP response

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.