// // OOSAPI.swift // PSCB-OOS-iOS // // Created by Antonov Ilia on 27.10.2020. // import Foundation import PassKit /// Utility fabric methods required for PSCB API. public class PSCBAPI { public static let supportedNetworks: [PKPaymentNetwork] = [.visa, .masterCard] /// - Returns: a tuple describing if application `canMakePayments` and `canSetupCards` using supported networks. public class func canMakePayments() -> (canMakePayments: Bool, canSetupCards: Bool) { return ( PKPaymentAuthorizationController.canMakePayments(), PKPaymentAuthorizationController.canMakePayments(usingNetworks: supportedNetworks) ) } /// Creates a default instance of `PKPaymentRequest` with pre-default parameters. /// /// - Returns: `PKPaymentRequest` public class func makePaymentRequest(items: [PKPaymentSummaryItem]) -> PKPaymentRequest { return makePaymentRequest(merchantId: "merchant.pscb.pay", items: items) } /// Creates a default instance of `PKPaymentRequest` with pre-default parameters. /// /// - Parameters: /// - merchantId: Your Apple Pay merchant ID /// - items: Summary items /// /// - Returns: `PKPaymentRequest` public class func makePaymentRequest(merchantId: String, items: [PKPaymentSummaryItem]) -> PKPaymentRequest { let request = PKPaymentRequest() request.merchantIdentifier = merchantId request.supportedNetworks = Self.supportedNetworks if #available(iOS 11.0, *) { //request.supportedCountries = ["RU", "UA", "BY", "US"] } request.merchantCapabilities = .capability3DS request.countryCode = "RU" request.currencyCode = "RUB" request.paymentSummaryItems = items return request } }