Download the PHP package ht3aa/zain-cash without Composer

On this page you can find all versions of the php package ht3aa/zain-cash. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package zain-cash

ZainCash Integration For Laravel

Latest Version on Packagist Total Downloads

A comprehensive Laravel package for integrating ZainCash payment gateway into your application. This package provides a simple and elegant way to handle payment transactions, webhooks, and transaction tracking with ZainCash.

Features

Installation

You can install the package via composer:

Publish the configuration file:

Publish and run the migrations:

Configuration

Add the following environment variables to your .env file:

Configuration Options

Usage

Creating a Payment Transaction

To initiate a payment transaction, create a new ZainCashTransaction instance and pass it to the initiateTransaction method.

Basic Usage (Simple Order ID)

Advanced Usage (Polymorphic Relationship)

Link the transaction directly to your Order model using polymorphic relationships:

Now you can access the order from the transaction:

Transaction Model

The ZainCashTransaction model includes the following attributes:

Polymorphic Relationship

The model includes a polymorphic order() relationship that allows you to link transactions to any order model:

Webhook Handling

The package automatically registers a webhook route at /api/zain-cash/webhook to handle payment status updates from ZainCash.

When a payment is completed, ZainCash will send a callback to this URL with the transaction status. The webhook controller will:

  1. Decode the JWT token from ZainCash
  2. Update the transaction status in your database
  3. (Optional) Forward the notification to your custom webhook URL

Custom Webhook Notifications

If you want to receive notifications in your own application when a payment status is updated, set the ZAIN_CASH_CUSTOM_WEBHOOK_URL in your .env file:

The package will POST to this URL with the following payload:

You can then create your own controller to handle this:

Checking Transaction Status

From Local Database

You can check the status of a transaction from your local database:

From ZainCash API

You can also verify the transaction status directly from ZainCash API:

This is useful for:

Using the Facade

The package provides a facade for easy access to all methods:

Complete Example Flow

Here's a complete example of a payment flow with polymorphic relationships:

Setting Up Your Order Model

To use polymorphic relationships, add the inverse relationship to your Order model:

Now you can easily access transactions from orders:

Testing

The package includes test credentials for the ZainCash sandbox environment. Make sure ZAIN_CASH_IS_PRODUCTION is set to false when testing.

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.


All versions of zain-cash with dependencies

PHP Build Version
Package Version
Requires php Version ^8.4
firebase/php-jwt Version ^6.11
illuminate/contracts Version ^11.0||^12.0
spatie/laravel-package-tools Version ^1.16
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package ht3aa/zain-cash contains the following files

Loading the files please wait ...