56 lines
1.8 KiB
Swift
56 lines
1.8 KiB
Swift
|
//
|
||
|
// 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
|
||
|
}
|
||
|
|
||
|
}
|