Als ich versuche, Zahlungen mit Square SDK von Github (https://github.com/square/SquareRegisterSDK-iOS) Ich bin nicht in der Lage, die Menge in Square POS App, die ich von meiner App übergeben habe, zu finden.Zahlungen mit Square SDK Swift 3
Bitte finden Sie die folgenden Schritte, denen ich tatsächlich gefolgt bin.
- Ich habe Square Register SDK von unten git Hub-Link heruntergeladen.
https://github.com/square/SquareRegisterSDK-iOS
I Ran die Anwendung Kakaofrüchte mit, und ich habe erfolgreich die Pod-Datei in meinem Projekt installiert.
Ich habe eine Test App in meinem Client-Login in My Apps Section erstellt.
App Name: MeineAnw
App-ID: XXXXXXXXXXXXXX (My Application Id Von Platz Armaturenbrett)
- Ich habe meine Bundle-ID und Callback-URL Registriert in registrieren Api Abschnitt
iOS App Bundle-IDs: My Bundle Id
iOS App URL Schem es: meine Rückruf-URL
Da mein Konto für den Empfang von Zahlungen über Anwendungen aktiviert ist.
Jetzt zurück zu meinem Code, ich nahm gerade Square Register SDK ----> SwiftCharge Klassenmethoden wie es ist.
Bitte finden Sie unter dem Code, was ich für die Gebühr verwendet habe und bitte lassen Sie mich wissen, Korrekturen von meinem Ende vorgenommen werden.
Import SquareRegisterSDK Import UIKit lassen yourclientid = "xxxxxxxxxx" lassen yourCallbackURL = URL (string: "MyApp: // Callback")!
Enum Sektion: Int { Fall amount = 0, supportedTenderTypes, optionalFields, Einstellungen
init?(at indexPath: IndexPath) { self.init(rawValue: indexPath.section) }
}
allTenderTypes lassen: [SCCAPIRequestTenderTypes] = [.card, .cash, .other. squareGiftCard, .cardOnFile]
Erweiterung String { var nilIfEmpty: String? { Rückgabe isEmpty?nil: Selbst } }
Klasse Viewcontroller: UIViewController {
var supportedTenderTypes: SCCAPIRequestTenderTypes = .card var clearsDefaultFees = false var returnAutomaticallyAfterPayment = true @IBOutlet weak var currencyField: UITextField! @IBOutlet weak var amountField: UITextField! @IBOutlet weak var notesField: UITextField! @IBOutlet weak var userInfoStringField: UITextField! @IBOutlet weak var merchantIDField: UITextField! @IBOutlet weak var customerIDField: UITextField! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } override func awakeFromNib() { super.awakeFromNib() // Always set the client ID before creating your first API request. SCCAPIRequest.setClientID(yourClientID) } @IBAction func charge(sender: AnyObject) { let currencyCodeString = "USD" let amountString = "500" let amount: SCCMoney guard let amountCents = Int(amountString) else { showErrorMessage(title: "Invalid Amount", message: "\(amountString) is not a valid amount.") return } do { amount = try SCCMoney(amountCents: amountCents, currencyCode: currencyCodeString) } catch let error as NSError { showErrorMessage(title: "Invalid Amount", error: error) return } let userInfoString = "Radhachandan" let merchantID = "" let customerID = "" let notes = "Sample Test" let request: SCCAPIRequest do { request = try SCCAPIRequest(callbackURL: yourCallbackURL, amount: amount, userInfoString: userInfoString, merchantID: merchantID, notes: notes, customerID: customerID, supportedTenderTypes: supportedTenderTypes, clearsDefaultFees: clearsDefaultFees, returnAutomaticallyAfterPayment: returnAutomaticallyAfterPayment) } catch let error as NSError { showErrorMessage(title: "Invalid Amount", error: error) return } do { try SCCAPIConnection.perform(request) } catch let error as NSError { showErrorMessage(title: "Cannot Perform Request", error: error) return } } private func showErrorMessage(title: String, error: NSError) { showErrorMessage(title: title, message: error.localizedDescription) } private func showErrorMessage(title: String, message: String) { let alertView = UIAlertController(title: title, message: message, preferredStyle: .alert) alertView.addAction(UIAlertAction(title: "Dismiss", style: .default, handler: nil)) present(alertView, animated: true, completion: nil) }
}
Ab jetzt ist es auf Platz Point Of Sale App umleiten war, aber es ist nicht die Menge anzeigt, was ich etwas bestanden haben.
Ihre freundliche Rückmeldung wird sehr geschätzt.
Sind Sie sicher, dass Ihr Betrag richtig eingestellt ist? Hast du den Beispiel-Betragscode ausprobiert? 'SCCMoney * const Betrag = [SCCMoney moneyWithAmountCents: 100 währungscode: @" USD "Fehler: NULL]; ' – tristansokol
Ja, ich tat das, aber kein Glück. Ich bin sicher, dass ich etwas verpasst habe, wenn wir in Kontakt kommen und den Code überprüfen können, der mir helfen könnte. – Radhachandan
welcher Betrag wird geladen? 0.00? – tristansokol