zfhassaan/jazzcash

JazzCash 支付网关包用于 Laravel 9

v1.0.5 2023-06-13 13:27 UTC

This package is auto-updated.

Last update: 2024-09-16 19:34:12 UTC


README

JazzCash Payment Gateway

Latest Version on Packagist MIT Licensed Total Downloads Hits

免责声明

这不是官方的 Jazzcash API 支付网关。此仓库仅创建用于帮助开发者简化集成过程。您可以在此处审查官方支付网关 这里。 此包仅处理托管结账过程。目前尚未启用订阅选项。

关于

JazzCash 是巴基斯坦领先的支付网关,允许企业安全地接受来自客户的在线支付。凭借快速可靠的交易处理、高级欺诈保护和用户友好的界面,JazzCash 使商家轻松扩大其在线销售。无论您是小型企业主、电子商务店主还是希望将支付网关集成到您的网站或移动应用的开发者,JazzCash 都有适合您需求的解决方案。此文档详细说明了如何与 JazzCash 的托管结账功能(版本 1.0.0)集成。

目标受众

此文档面向希望与 JazzCash 集成以执行托管结账的商家和开发者。

集成范围

商家将实现所有电子商务功能。JazzCash 服务仅用于支付处理,具有托管结账功能。

API 端点

此包仅包含托管结账过程。没有指定用于直接结账的 API 端点。

集成先决条件

商家在集成之前必须已在 JazzCash 注册。在注册 JazzCash 账户后,商家将收到以下唯一值以进行操作:Merchant_IDPasswordHashkeySandbox URLProduction URL。这些密钥用于获取一次性认证令牌,该令牌

安装

您可以通过 composer 安装此包

composer require zfhassaan/jazzcash

设置 .env 配置

JAZZCASH_PAYMENTMODE=sandbox
JAZZCASH_MERCHANTID=
JAZZCASH_PASSWORD=
JAZZCASH_HASHKEY=
JAZZCASH_MPIN=
JAZZCASH_PRODUCTION_URL=
JAZZCASH_SANDBOX_URL=
JAZZCASH_RETURNURL=

配置

在您的 config/app.php 文件中,将以下行添加到 providers 数组中

    /*
    * Package Service Providers...
    */

    \zfhassaan\jazzcash\provider\ServiceProvider as JazzcashServiceProvider;

在相同文件的 aliases 数组中,添加以下行

  'aliases' => Facade::defaultAliases()->merge([
        'Jazzcash' => \Zfhassaan\Jazzcash\Facade\JazzcashFacade::class,
    ])->toArray(),

发布供应商

通过运行以下命令发布包资产

php artisan vendor:publish 

这将显示以下终端响应:img.png

按 9 键发布 zfhassaan\jazzcash\provider\ServiceProvider 提供商

步骤

托管结账

要启动托管结账过程,发送带有以下参数的 POST 请求

{
    "amount":"1",
    "billref":"bill-reference",
    "productDescription": "Product Description"
}

然后,在您的控制器中,使用以下代码

        $jazzcash = new JazzCash();
        $jazzcash->setAmount($request->amount);
        $jazzcash->setBillReference($request->billref);
        $jazzcash->setProductDescription($request->productDescription);
        return $jazzcash->sendRequest();

调用 index 函数并创建 JazzCash 类的新实例。在 JazzCash 对象上调用 setAmount、setBillReference 和 setProductDescription 方法,将请求中的金额、billref 和 productDescription 值作为参数传递。这些方法将 JazzCash 对象的相应属性设置为指定的值。

在 JazzCash 对象上调用 sendRequest 方法。此方法向 JazzCash API 发送请求以启动结账过程,并返回 API 响应作为 HTML 模板,该模板可以在 Web 和移动应用程序中渲染。要隐藏或显示字段,您可以使用 CSS 控制前端上字段的可见性。

API的响应由索引函数返回。这个响应可以用来在您的网站或移动应用程序上显示托管结账表单。

测试

为了测试支付网关,您可以在.env文件中将JAZZCASH_PAYMENTMODE=sandbox设置为沙盒模式。这将允许您在不实际处理任何支付的情况下测试结账过程。

要切换到生产模式,在您的.env文件中将JAZZCASH_PAYMENTMODE=production设置。

变更日志

请参阅变更日志以获取有关最近更改的更多信息。

安全

以下行是从briandk仓库中获取的,用于开源项目贡献。

优秀的错误报告通常具有以下特点:

  • 快速总结和/或背景
  • 复现步骤
    • 具体说明!
    • 如果可能,提供示例代码。一个问题包含示例代码,任何具有基本R设置的人都可以运行以复现我所看到的情况。
  • 您期望发生的情况
  • 实际发生的情况
  • 备注(可能包括您认为可能发生的原因,或尝试但没有成功的事情)

许可

MIT许可证(MIT)。请参阅许可文件以获取更多信息。