SDK Swift pour iOS

Le kit de développement (SDK) KKiaPay pour Swift est conçu afin de permettre l'intégration de notre plugin au sein de votre application mobile de la manière la plus simplifiée possible.

Après avoir créé votre compte KKiaPay sur la plateforme kkiapay.me, vous aurez besoin de créer une instance de KKiaPay en procédant comme suit :

  • Ajouter le SDK Swift de KKiaPay dans votre application

Vous pouvez ajouter le SDK Swift de KKiaPay à votre projet en utilisant le gestionnaire de packages de Swift.

Guide pratique pour l'installation d'un package avec Swift : Installation d'un package.

  • Importer le package KKiaPay

L'intégration du SDK KKiaPay se fait simplement et rapidement via npm :

 import KKiaPaySDK;
  • Créer un modèle à utiliser ultérieurement

@ObservedObject var viewModel = KKiaPayViewModel()
  • Ajouter une instance de KKiaPay

 private var kkiaPay: KKiaPay{
    KKiaPay(amount: "3000",
            phone: "22997000000",
            data: "Hello world",
            publicAPIKey: "xxxxxxxxxxxxxxxxxxx",
            sandbox: true,//set this to false in production
            theme: "#4E6BFC",
            name: "John Doe",
            email:"user@email.com",
            callback: "https://redirect.kkiapay.com",
            viewModel:viewModel
    )
}

Important !

Afin d'éviter toute fraude, procédez à la vérification côté serveur de l'opération de transaction. Pour cela, apprenez-en plus sur les SDKs Serveurs.

Vous pouvez souscrire aux événements liés à l'opération de paiement avec la fonction onReceive. Pour être notifié du statut réussi d'une opération de paiement, vous pouvez procéder comme suit :

kkiaPay.onReceive(self.viewModel.paymentData.receive(on: RunLoop.main)){paymentData in
    
    if(paymentData.isSuccessful){
        print("The amount of the transaction is " + paymentData.amount+" with id "+paymentData.transactionId)
        showWebView = false
    }else{
        print("The payment was not successful")
    }
}

Exemple d'utilisation

import SwiftUI
import KKiaPaySDK

struct ContentView: View {
        //Create a view model instance to use later
        @ObservedObject var viewModel = KKiaPayViewModel()
        @State private var showWebView = false
        
        //Initialise the Kkiapay Instance
        private var kkiaPay: KKiaPay{
            KKiaPay(amount: "3000",
                    phone: "97000000",
                    data: "Hello world",
                    publicAPIKey: "xxxxxxxxxxxxxxxxxxx",
                    sandbox: true,//set this to false in production
                    theme: "#4E6BFC",
                    name: "John Doe",
                    email:"user@email.com",
                    callback: "https://redirect.kkiapay.com",
                    viewModel:viewModel
            )
        }
        
        var body: some View {
            Button {
                showWebView.toggle()
            } label: {
                Text("Pay")
            }
            .sheet(isPresented: $showWebView) {
                
                //Get the transaction data back 
                kkiaPay.onReceive(self.viewModel.paymentData.receive(on: RunLoop.main)){paymentData in
                    
                    if(paymentData.isSuccessful){
                        print("The amount of the transaction is " + paymentData.amount+" with id "+paymentData.transactionId)
                        showWebView = false
                    }else{
                        print("The payment was not successful")
                    }
                }
            }
        }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

Pour plus d'informations sur le package, rendez vous sur la page : KKiaPay Swift SDK.

Last updated