Skip to content

iOS

Follow this guide to integrate the SIBS Payment Gateway into your iOS app with our SDK.

Step 1: SDK installation

  1. Download this file: ios-sibs-stargate-sdk-0.1.1
  2. Include the SibsSDK.xcframework in the project, as well as the Alamofire dependency:
  1. To use Apple Pay, you need to add and configure this capability in the settings of the App:
Notification

For guidance on configuring this dependency, check Apple documentation here.
To create the app certificate, check Apple documentation here.

Step 2: SIBS SDK initialization

Initializing the SIBS SDK authenticates you as a merchant. Include the following parameters before sending any further requests.

Parameters
  • clientId – client identifier used to authenticate.
  • accessToken – access token used to authorise requests.
  • environmentSDK – environment in which the SDK will operate.
SDK initialisation method
public init(clientId: String, accessToken: String, environmentSDK: EnvironmentSDK)

Step 3: SDK requests and callbacks

StartPayment

Starts a payment process with the transaction parameters provided.

public func startPayment(from viewController: UIViewController, with data: 
TransactionParamsSDK, completion: PaymentResult)
Callback PaymentResult
(Result<TransactionResultSDK, Error>)
GetTransactionStatus

Recovers the status of a previously initiated transaction.

public func getTransactionStatus(transactionID: String, completion: @escaping 
TransactionStatusResult)
Callback TransactionResultStatus
(Result<TransactionStatusSDK, Error>)
Data Classes
EnvironmentSDK
public enum EnvironmentSDK{
 case quality
 case production
}
TransactionParamsSDK
public struct TransactionParamsSDK {
 public let terminalID: Int
 public let merchantTransactionDescription: String?
 public let transactionID: String
 public let transactionDescription: String?
 public let amount: Double
 public let currency: String
public let paymentMethods: [PaymentMethod]
 public let client: String?
 public let email: String?
 public let shopURL: String?
 public let shippingAddress: Address?
 public let billingAddress: Address?
 public let tokenizationParams: TokenizationParams?
 public let applePayMerchantId: String?
}
TransactionResultSDK
public struct TransactionResultSDK: Codable {
 public let isSuccess: Bool
 public let transactionID: String?
 public let token: Token?
 public let merchant: Merchant?
 public let paymentType: String?
 public let paymentStatus: PaymentStatus?
 public let paymentMethod: String?
 public let execution: Execution?
 public let returnStatus: ReturnStatus?
}
Info

Apple Pay and Google Pay payments only carry ‘isSuccess’ and ‘transactionID’ values.

TransactionStatus
public struct TransactionStatus: Codable {
 public let merchant: Merchant
 public let transactionID: String
 public let paymentType: String
 public let paymentStatus: PaymentStatus
 public let paymentMethod: String
 public let execution: Execution
 public let returnStatus: ReturnStatus
 public let token: Token?
}
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Strictly Necessary Cookies

Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.

If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.