Contents

yohannescodes/chapa4ios

Inspired by the works of [YohannesTz](https://github.com/YohannesTz/ChapaKt) and [Chapi](https://github.com/Chapa-Et/chapa-django), Chapa4iOS is the **unofficial** iOS SDK for Chapa.

Installation

Chapa4iOS can be installed with the Swift Package Manager (SPM): (https://github.com/yohannescodes/Chapa4iOS/)

Getting Started

Once the installation process is done, we can import the SDK in the file we want to use it in.

Configuration

import Chapa4iOS

var chapa: Chapa!

override func viewDidLoad(){
  chapa = Chapa(secretKey: "**YOUR SECRET KEY FROM CHAPA DASHBOARD**")
}

Generate Transaction Reference

This utility method of Chapa instance allows you to generating a customizable random alpha numberic transaction reference.

let transactionReference = chapa.generateTransactionReference()

Accept Payment

Here we can initialize transaction by providing customer information and requesting for a checkout URL to load for our users.

let customer = Customer(amount: "100", currency: .etb, email: nil, firstName: "Yohannes", lastName: "Haile", phoneNumber: "0922106876", txRef: transactionReference, callbackURL: nil, returnURL: nil, customization: nil)

//Enter the instance of your View Controller when you call the following method so it can instantiate Web View for the Checkout page it retrieves from the response.
chapa.acceptPayment(controller: self, customer: customer)

Data Types of Optional Properties:

  • email: String?
  • firstName: String?
  • lastName: String?
  • phoneNumber: String?
  • callbackURL: String?
  • returnURL: String? (HIGHLY RECOMMENDED TO PROVIDE THIS FIELD)
  • customization: ChapaCustomization?

What can you customize?

You can customize the checkout page for your users by providing:

  • title
  • description

Verify Payment

Verifying transactions is automated starting from Chapa4iOS v1.0.0.

Thank you for working with Chapa4iOS 🧡

Package Metadata

Repository: yohannescodes/chapa4ios

Default branch: main

README: README.md