Freedom Pay
  1. Payment SDK
Freedom Pay
  • Gateway API
    • Introduction
    • Reference
      • Test cards
      • Error codes
    • Sync API
      • Introduction
      • Page
        • Introduction
        • Page
        • Page with amount control
        • Status
      • Pay
        • Introduction
        • Card
        • 3DSecure
        • Cancel
        • Clearing
        • Refund
        • Status
      • Payout
        • Introduction
        • Card
        • IBAN
        • Balance
        • Status
        • StatusV2
      • Transfer
        • Introduction
        • Card
        • 3DSecure
        • Rates
        • Status
      • Card
        • Introduction
        • Add
        • 3DSecure
        • List
        • Remove
        • Status
      • Token
        • Introduction
        • Token Pay
        • Apple Pay
        • Google Pay
        • Samsung Pay
        • Token Payout
        • Status
    • Async API
      • Introduction
      • create
        • create payment
        • create payment recurrent
      • read
        • read payment
        • read request
      • edit
        • edit payment.refund
        • edit payment.reverse
        • edit payment.clearing
      • delete
  • Merchant API
    • Introduction
    • Reference
      • Test cards
      • Test phone numbers
      • Error codes
    • Page
      • Introduction
      • Page
      • Page with amount control
      • Payout page
      • Frame
      • Widget
      • Status
    • Pay
      • Introduction
      • Cancel
      • Clearing
      • Refund
      • Status
    • Payout
      • Introduction
      • IBAN
      • Balance
      • Status by order_id
      • Status by Payment ID
      • Status by Payment ID V2
    • Mobile balance
      • Introduction
      • Init
      • Pay
      • Approve
      • Resend code
      • Status
    • Card
      • Introduction
      • Add
      • Add for payout
      • Remove
      • List
      • Status
    • Token
      • Introduction
      • Saved card with CVC input (Init)
      • Saved card with CVC input (Pay)
      • Non-acceptance payments
      • Non-acceptance payments (Pay)
      • Token payout
      • Status
    • Invoice
      • Introduction
      • Init
      • Info
      • Pay
      • Status
    • Additional
      • Introduction
      • Check request
      • Result notify
      • Payout notify
      • Redirect back
  • Card API
    • Introduction
    • Payment Cards
      • Reference
        • Request Status
        • Client product
        • Card product
        • Card status
        • Card block
        • Transaction
        • Error codes
      • Card issue
        • Bulk
        • Single
        • Physical
      • Card control
        • Activate
        • Block
        • Unblock
        • Set PIN
        • Reset PIN counter
        • Close
        • Identification
        • Info
        • Balance
        • Secret data
        • Statement
      • Client
        • Create
        • Edit
        • Card list
      • Additional
        • Request status
    • Gift Cards
      • Introduction
      • Reference
        • Request status
        • Card status
      • List
      • Issue
      • Confirm
      • Resend
      • Resend code
      • Status
  • Partner API
    • Rates
      • Introduction
      • Rates
    • Products
      • Introduction
      • Reference
        • Request
        • Product
        • Freedom POS
        • Freedom ECOM
        • Freedom BOX
        • Limits
      • Add user
      • Add product
      • Add user with product
      • Grant user
      • Send auth data
      • Request status
    • E-Money
      • Introduction
      • Reference
        • Request
        • Operation
        • Error codes
      • Add
      • Owner identification
      • Info
      • Close
      • Block
      • Balance
      • Statement
      • Request Status
    • Freedom ID
      • Introduction
      • Android SDK
      • iOS SDK
      • Reference
        • Error codes
      • Link
      • Token
      • Token refresh
      • Info
      • Profile
      • Request
  • Mobile SDK
    • Payment SDK
      • iOS
      • Android
    • Freedom QR
      • Reader SDK (Android)
      • Provider SDK (Android)
  • CMS
    • Introduction
    • Get Merchant ID and key
    • WordPress
      • Introduction
      • Installation
      • Configuration
      • Test
      • Live payments
      • Update
    • Tilda
      • Introduction
      • Installation
      • Configuration
      • Test
      • Live payments
    • InSales
      • Introduction
      • Installation
      • Configuration
      • Test
      • Live payments
    • Ecwid
      • Introduction
      • Installation
      • Configuration
      • Test
      • Live payments
    • Bitrix
      • Introduction
      • Installation
      • Configuration
      • Test
      • Live payments
    • PrestaShop
      • Introduction
      • Installation
      • Configuration
      • Test
      • Live payments
    • OpenCart
      • Introduction
      • Installation
      • Configuration
      • Test
      • Live payments
  1. Payment SDK

iOS

Payment SDK (iOS, Swift)#

 The Payment SDK is a library that simplifies interaction with the Freedom Pay API.
Link to the SDK repository
Source code for the demo application

Features#

Payment Initialization
Payment Cancellation
Payment Refund
Payment Clearing
Recurring Payments with Saved Cards
Fetching Payment Information/Status
Adding/Removing Cards
Payment with Saved Cards
Direct Debit Payments
Apple Pay Integration

Installation#

 To integrate SDK into your Xcode project using CocoaPods, add the following to your Podfile
 Then execute the following command in your terminal
$ pod install
 This will install the SDK and set it up for use in your Xcode project.

SDK integration#

Initialization#

Add the PaymentView to your UIViewController#

Pass the instance of paymentView to the SDK#

To track the progress of loading the payment page, use WebDelegate#


SDK Configuration#

Test mode#

By default, test mode is enabled

Region selection#

Region.DEFAULT is the default value
 The Region class has the following values:
ParameterValue
DEFAULTKazakhstan and other countries of presence
RURussia
UZUzbekistan
KGKyrgyzstan

Payment System selection#

Payment currency selection#

Auto-clearing activation#

Encoding configuration#

By default, UTF-8

Lifetime of the recurring profile#

By default, 0 months (the parameter is excluded from the list when the value is 0)

Lifetime of the payment page, within which the payment must be completed#

By default, 300 seconds

Enabling recurring payment mode#

By default, it is false

Setup customer's phone#

 The customer's phone number will be displayed on the payment page. If not provided, the user will be prompted to enter it on the payment page.

Setup customer's email#

 The customer's email will be displayed on the payment page. If the email is not provided, the user will be prompted to enter it on the payment page.

Language of the payment page#

To transmit information from the payment gateway#

Display a Frame instead of the payment page#

By default, it is false

Working with the SDK#

Creating a payment#

 After calling it, the payment page will open in the paymentView.

Recurring payment#

Fetching the payment status#

Payment clearing#

 If nil is specified instead of the clearing amount, the clearing will be processed for the full payment amount.

Payment cancellation#

Payment refund#

Saving the card#

 After calling it, the page to add a card will open in the paymentView.

Retrieve the list of saved cards#

Removing a saved card#

Creating a payment with a saved card#

The createCardPayment method using cardId is deprecated

Confirming the payment of a created payment#

 After calling it, the payment page for 3DS authentication will open in the paymentView.

Confirming the payment of a created payment with a direct debit (without acceptance)#


Apple Pay Integration#

 First, you need to create a merchant ID and configure the payment processing certificate in the developer console according to the documentation on the official PassKit website. After that, you can proceed with setting up the project and the integration itself

Enable Apple Pay support for your project in Xcode#

In the navigation window of your project, select the project file.
Choose your app in the TARGET menu.
Go to the Signing & Capabilities tab.
In the top menu, click the + button to add Apple Pay library support.
In the added Apple Pay section, click the Update button to synchronize merchant identifiers with the Apple Developer site.
Select the required merchant identifier to work with your app.

Import PassKit into your controller#

Add a check for the Apple Pay status on the device#

Set the list of supported Payment Networks#

Here’s a method that prepares the payment data and displays the Apple Pay controller#

Add a method for initializing and confirming payment using the SDK#

Add an Apple Pay Button to Your Screen#

 Creating the Apple Pay Button:
 Adding the Button to the View:
 Set the position of the button on the screen:
 Add a call to the initApplePay function to prepare the payment and display the Apple Pay window when the button is clicked:
 For proper functionality, make sure that Apple Pay is set up on the device and manage the button's state based on the received status:

Inherit the PKPaymentAuthorizationControllerDelegate delegate#

Implement the delegate methods#


Support#

If you have questions or need help, feel free to reach out! 👋
Email: support@freedompay.kg
Modified at 2025-02-03 11:22:18
Previous
Request
Next
Android