akcybex/laravel-jazzcash

Jazzcash - Laravel Jazzcash 支付网关集成

1.0 2021-12-26 15:42 UTC

This package is auto-updated.

Last update: 2024-09-25 08:54:25 UTC


README



Jazzcash

Build Status Total Downloads Latest Stable Version License

安装步骤

1. 需求包

在创建新的 Laravel 应用程序后,您可以使用以下命令包含 Laravel Jazzcash

composer require akcybex/laravel-jazzcash 

2. 添加 Jazzcash 商户沙盒或实时凭证

接下来,请确保将 Jazzcash 商户沙盒或实时凭证添加到您的 .env 文件中,并使用相关凭证设置其环境

# Jazzcash Merchant
JAZZCASH_ENVIRONMENT=sandbox #You can set sandbox or live

SANDBOX_JAZZCASH_MERCHANT_ID=
SANDBOX_JAZZCASH_PASSWORD=
SANDBOX_JAZZCASH_INTEGERITY_SALT=
SANDBOX_JAZZCASH_RETURN_URL=
SANDBOX_JAZZCASH_ENDPOINT=https://sandbox.jazzcash.com.pk/CustomerPortal/transactionmanagement/merchantform

JAZZCASH_MERCHANT_ID=
JAZZCASH_PASSWORD=
JAZZCASH_INTEGERITY_SALT=
JAZZCASH_RETURN_URL=
JAZZCASH_ENDPOINT=https://payments.jazzcash.com.pk/CustomerPortal/transactionmanagement/merchantform

3. 运行迁移

接下来运行迁移命令以迁移 jazzcash 交易表

php artisan migrate 

4. 生成 MWALLET 请求表单字段,生成表单并发送支付请求

接下来,从您的结账详情生成 MWALLET 请求表单字段,并设置金额以及发送请求

注意: 目前此包仅支持 MWALLET 请求,我们很快将添加其他功能。

// ...

// Get request data after validation while submitting checkout
$i = $request->all();

// will return form fields
$data = \AKCybex\JazzCash\Facades\JazzCash::request()->setAmount($i['amount'])->toArray($i);

// ...

将生成的字段数据传递到视图中,然后将此代码粘贴到视图中

{{-- ... --}}

@php
    $jazzcash_environment = config('jazzcash.environment');
@endphp
<form name="redirect-to-payment-gateway" method="POST" action="{{ config("jazzcash.$jazzcash_environment.endpoint") }}">
    @foreach($data as $key => $value)
        <input type="hidden" name="{{ $key }}" value="{{ $value }}">
    @endforeach
</form>
<script>
    setTimeout(function () {
        document.forms['redirect-to-payment-gateway'].submit();
    }, 1000);
</script>

{{-- ... --}}

这将提交您的请求到 Jazzcash 商户,并自动重定向。

5. 处理交易完成后的 Jazzcash 响应

最后,您只需检查代码并从提交结账时的 jazzcash 对象中获取结账详情。

// ...

Route::post('/jazzcash/payment', function (\Illuminate\Http\Request $request, $gateway) {
    $jazzcash = \AKCybex\JazzCash\Facades\JazzCash::response();
    if ($jazzcash->code() == 000) {
        // Checkout form details you can get here
        $order = $jazzcash->order();
        
        // ...
    } else {
        $error = $jazzcash->message();
        // ...
    }

});

// ...

支持

联系我们

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献

有关详细信息,请参阅 CONTRIBUTING

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件