Property in Swift - Computed property | Property Observers (WillSet & DidSet)

   Computed property -  Computed properties are part of a property type in Swift.  Stored properties are the most common which save and return a stored value  Computed properties calculate (rather than store) a value. A computed property provides a getter and an optional setter to indirectly access other properties and values. Computed property in swift is an interesting topic as you can write code inside a property in swift. Computed properties are provided by classes, structures, and enumerations but stored properties are provided only by classes and structures. This computed property swift tutorial has some tips on how to use the computed property in the right way and avoid the common mistakes that swift programming beginners do while computed property. Example :- Computed property A Calculate Simple Intrest struct CalculateLoan {      var amount : Int      var rate : Int      var years : Int      var simpleInterest: Int {          get {              return ( amount * rate

Razorpay Payment Integration In iOS Swift

Gets Easier & Fastest growing Payment Solution, Accepting International Payments with Razorpay


Most of the developers prefer Razorpay as the international payments solution with supported Multi-currency support and reduced chargebacks in India. It is robust and provides developer friendly API & SDK for Android, iOS etc. It provides different modes of payments like :- credit card, debit card, net banking, UPI and other popular wallets. It provide the fast and reliable support.

In this blog we are going to focus on Razor Pay integration with iOS swift 4.2 using Xcode 11. in which we will learn how can we integrate Razorpay with iOS app. We will create a demo app to integrate Razorpay and pay some amount by using Razorpay payment gateway.

  1. xcode 11
  2. Swift 4.2
  3. A Razorpay account (you can signup from here https://dashboard.Razorpay.com/#/access/signup)
Razorpay SignUp

  1. your Razorpay key id (you can get from here          https://dashboard.Razorpay.com/#/app/keys)
customised payment pages


Development in Xcode

1. Open Terminal then go to project base.
2. open podfile
3. edit podfile add -  pod ‘Razorpay-pod’ 

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'WithMe' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for WithMe
  pod 'razorpay-pod'


  target 'WithMeTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'WithMeUITests' do
    # Pods for testing
  end

end

4. Then pod Install
5 Reopen Project in xcode.

Develope a basic UI as given below. 




import Razorpay

class ViewController: UIViewController{
    
   
    // Razorpay
    
    var braintreeClient: BTAPIClient?
    var razoepay: RazorpayCheckout!
    
    override func viewDidLoad() {
        super.viewDidLoad()
    
        razoepay = RazorpayCheckout.initWithKey("rzp_test_FtNotNSVCQRKJU", andDelegate: self)
    }
    
    @IBAction func checkOut(_ sender: Any) {
        
        let options: [String:Any] = [
            "amount" : "1000", //mandatory in paise like:- 1000 paise ==  10 rs
            "currency": "INR",
            "description": "purchase description",
            "image": "logo",
            "name": "Swift Series",
            "prefill": [
            "contact": "9797979797",
            "email": "foo@bar.com"
            ],
            "theme": [
                "color": "#528FF0"
            ]
        ]
       razoepay?.open(options)
    }
    
}

extension ViewController: RazorpayPaymentCompletionProtocol {
    func onPaymentSuccess(_ payment_id: String) {
        let alert = UIAlertController(title: "Paid", message: "Payment Success", preferredStyle: .alert)
        let action = UIAlertAction(title: "OK", style: .cancel, handler: nil)
        alert.addAction(action)
        self.present(alert, animated: true, completion: nil)
    }
    
    func onPaymentError(_ code: Int32, description str: String) {
        let alert = UIAlertController(title: "Error", message: "\(code)\n\(str)", preferredStyle: .alert)
        let action = UIAlertAction(title: "OK", style: .cancel, handler: nil)
        alert.addAction(action)
        self.present(alert, animated: true, completion: nil)
    }
}



Output. Like

Razorpay Payment Integration In iOS Swift






Comments

Post a Comment