Поскольку я пытаюсь производить платежи с помощью Square SDK из Github (https://github.com/square/SquareRegisterSDK-iOS) Я не могу найти сумму в приложении Square POS, которую я передал из своего приложения.
Пожалуйста, найдите следующие шаги, которые я действительно выполнил.
- Я загрузил SDK Square Register по ссылке ниже git hub.
https://github.com/square/SquareRegisterSDK-iOS
Я запустил приложение, используя стручки какао, и я успешно установил файл стручка в свой проект.
Я создал тестовое приложение в моем клиентском логине в разделе «Мои приложения».
Имя приложения: MyApp
Идентификатор приложения: XXXXXXXXXXXXXX (идентификатор моего приложения из Square Dashboard)
- Я зарегистрировал свой идентификатор пакета и URL-адрес обратного вызова в разделе Register Api
Идентификаторы пакетов приложений для iOS: My Bundle Id
Схемы URL-адресов приложений iOS: мой URL-адрес обратного вызова
Поскольку моя учетная запись активирована для приема платежей через приложения.
Теперь, возвращаясь к своему коду, я просто взял Square Register SDK ----> методы класса SwiftCharge как есть.
Пожалуйста, найдите приведенный ниже код, который я использовал для оплаты, и сообщите мне о любых исправлениях, которые необходимо внести с моей стороны.
import SquareRegisterSDK import UIKit let yourClientID = "xxxxxxxxxx" let yourCallbackURL = URL (string: "MyApp: // callback")!
enum Раздел: Int {case amount = 0, supportedTenderTypes, optionalFields, settings
init?(at indexPath: IndexPath) { self.init(rawValue: indexPath.section) }
}
let allTenderTypes: [SCCAPIRequestTenderTypes] = [.card, .cash, .other, .squareGiftCard, .cardOnFile]
extension String {var nilIfEmpty: String? {return isEmpty? nil: self}}
class 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) }
}
На данный момент он был перенаправлен в приложение Square Point Of Sale, но он не отображает сумму, которую я передал.
Будем очень признательны за ваш отзыв.
SCCMoney *const amount = [SCCMoney moneyWithAmountCents:100 currencyCode:@"USD" error:NULL];
- person tristansokol   schedule 22.03.2017