Как написать метод канала флаттера в Objective C из кода Swift? - PullRequest
0 голосов
/ 09 октября 2019

Привет, я занимаюсь разработкой приложения Flutter и хочу написать канал методов для оплаты для ios, однако у меня нет опыта работы с задачей c, и я хочу написать канал методов в цели c из этого быстрого кода, который платежная компания дала мне в документации SDK. Swift, но я создал свой проект с Objective C. Я попытался перенести весь проект в Swift, но возникло много проблем ..

import UIKit
import AcceptSDK

class ViewController: UIViewController, AcceptSDKDelegate {
    let accept = AcceptSDK()

    // Replace this string with your payment key
    let KEY: String = "ZXlKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKSVV6VXhNaUo5LmV5SmhiVzkxYm5SZlkyVnVkSE1pT2pFd01EQXNZ1RHRnVaQ0lzSW1KMWFXeGthVzVuSWpvaU9EQXlPQ0lzSW1ac2IyOXlJam9pTkRJaUxDSmhjR0Z5ZEcxbGJuUWlPaUk0TURNaUxDSmphWFI1SWpvaVNtRnphMjlzYzJ0cFluVnlaMmdpTENKemRHRjBaU0k2SWxWMFlXZ2lMQ0pqYjNWdWRISjVJam9pUTFJaUxDSmxiV0ZwYkNJNkltTnNZWFZrWlhSMFpUQTVRR1Y0WVM1amIyMGlMQ0p3YUc5dVpWOXVkVzFpWlhJaU9pSXJPRFlvT0NrNU1UTTFNakV3TkRnM0lpd2ljRzl6ZEdGc1gyTnZaR1VpT2lJd01UZzVPQ0o5ZlEuLTBtVFNZdzRiT0htSFpoRUlkd3p4d0tDUWtEY3d0OEgwMEVBQWEzX0VNS3ZJLXAwdjhYcm1FOGRXSThJQ2ZXdnZtUlduZ1owLU01WXU1XzVMbklqYXc="

    override func viewDidLoad() {
        super.viewDidLoad()
        accept.delegate = self
    }

    // Place your billing data here
    let bData = [  "apartment": "803",
                   "email": "claudette09@exa.com",
                   "floor": "42",
                   "first_name": "Clifford",
                   "street": "Ethan Land",
                   "building": "8028",
                   "phone_number": "+86(8)9135210487",
                   "shipping_method": "PKG",
                   "postal_code": "01898",
                   "city": "Jaskolskiburgh",
                   "country": "CR",
                   "last_name": "Nicolas",
                   "state": "Utah"
    ]

    // i want to invoke this method
  public func intiateAcceptPayment(_ sender: AnyObject) {
        do {
            try accept.presentPayVC(vC: self, billingData: bData, paymentKey: KEY, saveCardDefault: true, showSaveCard: true, showAlerts: true)
        } catch AcceptSDKError.MissingArgumentError(let errorMessage) {
            print(errorMessage)
        }  catch let error {
            print(error.localizedDescription)
        }
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    public func userDidCancel() {
        print("\nUser canceled\n")
    }

    public func paymentAttemptFailed(_ error: AcceptSDKError, detailedDescription: String) {
        print("\nError == \(detailedDescription)")
    }

    public func transactionRejected(_ payData: PayResponse) {
        print("payData == \n\(payData)")
    }

    public func transactionAccepted(_ payData: PayResponse) {
        print("payData == \n\(payData)")

    }
    public func transactionAccepted(_ payData: PayResponse, savedCardData: SaveCardResponse) {
        print("payDict == \n\(payData)\n")
        print("savedCardData == \n\(savedCardData)\n")
    }

    public func userDidCancel3dSecurePayment(_ pendingPayData: PayResponse) {
        print("pendingPayData == \n\(pendingPayData)\n")
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...