2017-03-22 2 views
1

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.

  1. Ich habe Square Register SDK von unten git Hub-Link heruntergeladen.

https://github.com/square/SquareRegisterSDK-iOS

  1. I Ran die Anwendung Kakaofrüchte mit, und ich habe erfolgreich die Pod-Datei in meinem Projekt installiert.

  2. 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)

  1. 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

  1. Da mein Konto für den Empfang von Zahlungen über Anwendungen aktiviert ist.

  2. Jetzt zurück zu meinem Code, ich nahm gerade Square Register SDK ----> SwiftCharge Klassenmethoden wie es ist.

  3. 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) 
    } 
    

    }

  4. 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.

+0

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

+0

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

+0

welcher Betrag wird geladen? 0.00? – tristansokol

Antwort

0

Versuchen Sie Ihr Code wie folgt ändern:

... 
let userInfoString = "Radhachandan" 
    let merchantID = nil 
    let customerID = nil 
    let notes = "Sample Test" 
... 

Sie uns einen Fehler aufmerksam gemacht haben, wenn für diese Parameter leere Strings vorbei, werden wir auf das Update bald arbeiten.

+0

Es hat funktioniert, Danke für Ihre freundliche Unterstützung. Prost Mann ..! – Radhachandan