explaingit

codecrack-01/raqm-core

Analysis updated 2026-05-18

1PythonAudience · developerComplexity · 2/5Setup · easy

TLDR

A Python SDK that provides a single consistent async interface for EasyPaisa and JazzCash Pakistani payment gateways, with more banks planned.

Mindmap

mindmap
  root((raqm-core))
    Gateways
      EasyPaisa live
      JazzCash live
      HBL planned
      ABL planned
    Features
      Async-first
      Pydantic validation
      Typed exceptions
      Sandbox mode
    Architecture
      Client class
      Auth helpers
      Response schemas
    Usage
      Mobile account pay
      Over-the-counter pay
      Transaction inquiry
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Accept EasyPaisa or JazzCash mobile wallet payments in a Python web application.

USE CASE 2

Inquire about the status of a previous transaction using a single async API call.

USE CASE 3

Test payment flows in sandbox mode before switching to production credentials.

USE CASE 4

Add support for a new Pakistani payment gateway by following the SDK's contributor checklist.

What is it built with?

PythonhttpxPydantic

How does it compare?

codecrack-01/raqm-corea-bissell/unleash-liteabhiinnovates/whatsapp-hr-assistant
Stars111
LanguagePythonPythonPython
Setup difficultyeasyhardhard
Complexity2/54/53/5
Audiencedeveloperresearcherdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Requires Python 3.9+ and valid EasyPaisa or JazzCash merchant credentials, sandbox mode available for testing.

No license information is stated in the README.

In plain English

This is a Python library that makes it easier to accept payments through Pakistani payment systems. Instead of writing separate integration code for each payment provider, developers can use a single consistent interface that works the same way regardless of which gateway is being called. The library currently supports two live gateways: EasyPaisa and JazzCash's mobile wallet service. Support for additional banks, including HBL, ABL, and UBL, is listed as planned but not yet implemented. The library is available via pip and requires Python 3.9 or newer. All of the library's payment methods are asynchronous, meaning they can run without blocking other code while waiting for a network response. Responses are returned as typed Python objects validated by Pydantic, so fields are guaranteed to be present and correctly formatted rather than being raw dictionaries that might vary between gateways. When a payment fails at the business level (for example, when the gateway returns a non-success code), the library raises a PaymentError exception with the full gateway response attached, rather than returning the failure silently. The code is organized around three layers per gateway: a client class with the public API, helper files that handle authentication and request signing, and schema files that define what request and response objects look like. This structure is consistent across all supported gateways, and the README includes a step-by-step guide for contributors who want to add support for a new gateway. The project is described as a work in progress. The two implemented gateways are live and usable. If you need to accept payments via EasyPaisa or JazzCash in a Python application, this library offers a faster starting point than building the integration yourself. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Show me how to use raqm-core to initiate an EasyPaisa mobile account payment and handle both NetworkError and PaymentError exceptions in my async Python app.
Prompt 2
I want to write a test for my JazzCash integration using raqm-core. Show me how to use httpx.MockTransport to mock the gateway response without making real API calls.
Prompt 3
Walk me through adding HBL support to raqm-core: what files do I need to create and what does each one contain?
Prompt 4
What changed in raqm-core v0.2.4 and how do I update my existing code to handle the new PaymentError exception pattern?

Frequently asked questions

What is raqm-core?

A Python SDK that provides a single consistent async interface for EasyPaisa and JazzCash Pakistani payment gateways, with more banks planned.

What language is raqm-core written in?

Mainly Python. The stack also includes Python, httpx, Pydantic.

What license does raqm-core use?

No license information is stated in the README.

How hard is raqm-core to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is raqm-core for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub codecrack-01 on gitmyhub

Verify against the repo before relying on details.