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
    )
}
ParamètresTypeDescription

amount

Numeric

Le montant à payer en FCFA

phone

String

Un numéro mobile money valide

data

String

La donnée ou information liée à une transaction et interprétable par votre système

publicAPIKey

String

La clé publique liée à votre compte KKiaPay

name

String

Les nom et prénoms de l’initiateur du paiement

email

String

L’adresse mail de l’initiateur du paiement

sandbox

Boolean

Vous permet de basculer de l'environnement de test à l'environnement de production. La valeur true de cet attribut signifie que vous êtes en environnement de test

callback

Function

La fonction de callback appelée uniquement lorsque le paiement est effectué avec succès

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