承接 mtgofa/laravel-fawrypay 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

mtgofa/laravel-fawrypay

Composer 安装命令:

composer require mtgofa/laravel-fawrypay

包简介

Laravel FawryPay online payment gateway package

README 文档

README

A Laravel online payment gateway.

Installation

Require via composer

composer require mtgofa/laravel-fawrypay

run this command to generate the FawryPay configuration file

php artisan vendor:publish --provider="MTGofa\FawryPay\FawryPayServiceProvider"

Any method gets the credentials from config/fawrypay.php file, so fill in merchant_code and secure_key before make any request.

config/fawrypay.php

<?php

return [

    /*
    |--------------------------------------------------------------------------
    | FawryPay Enviroment
    |--------------------------------------------------------------------------
    |
    | should be on of this ('TEST','LIVE').
    |
    */

    'enviroment' => 'TEST',

    /*
    |--------------------------------------------------------------------------
    | FawryPay Credentials (Test)
    |--------------------------------------------------------------------------
    |
    | use your fawrypay test credentials
    |
    */
    'merchant_code_test' => '',
    'secure_key_test' => '',

    /*
    |--------------------------------------------------------------------------
    | FawryPay Credentials (LIVE)
    |--------------------------------------------------------------------------
    |
    | use your fawrypay live credentials
    |
    */
    'merchant_code' => '',
    'secure_key' => '',
    
    /*
    |--------------------------------------------------------------------------
    | FawryPay Expiry
    |--------------------------------------------------------------------------
    |
    | use 1 for one hour, 24 for one day, 72 for 3 days and etc
    |
    */
    'expiry_in_hours' => '72',
];

How to use

Generate fawry pay url

use MTGofa\FawryPay\FawryPay;

public function generate(){
    $fawryPay = new FawryPay;

    //optional if you have the customer data
    $fawryPay->customer([
    	'customerProfileId' => '1',
    	'name'              => 'Mohamed Tarek',
    	'email'             => 'example@site.com',
    	'mobile'            => '010******',
    ]);
        
    //you can add this method info foreach if you have multible items
    $fawryPay->addItem([
    	'productSKU'    => '1', //item id
    	'description'   => 'Order 100001 Invoice', //item name
    	'price'         => '50.00', //item price
    	'quantity'      => '1', //item quantity
    ]);

    //generatePayURL('your order unique id','your order discription','success url','failed url')
    $pay_url = $fawryPay->generatePayURL('100001','Order 100001 Invoice','http://success_url','http://failed_url');
    return redirect($pay_url);
}

Redirect response / Callback Response / Check status

use MTGofa\FawryPay\FawryPay;

public function callback(){

    $ref_id = NULL;
    if(request('merchantRefNum')){ //fawry failed
        $ref_id = request('merchantRefNum');
    } elseif(request('MerchantRefNo')){ //fawry ipn
        $ref_id = request('MerchantRefNo');
    } elseif(request('chargeResponse')){ //fawry response is success
        $chargeResponse = json_decode(request('chargeResponse'));
        $ref_id = isset($chargeResponse->merchantRefNumber)?$chargeResponse->merchantRefNumber:NULL;
    }

    if(!$ref_id) return abort('404');

    $response = (new FawryPay)->checkStatus($ref_id);
    if (isset($response->paymentStatus) and $response->paymentStatus=='PAID') { //paid
        dd('Paid Successfully',$response);
    } else {
        dd($response);
    }
}

Don't forget to excute the callback route from csrf token

<?php

namespace App\Http\Middleware;

use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;

class VerifyCsrfToken extends Middleware
{
    /**
     * The URIs that should be excluded from CSRF verification.
     *
     * @var array
     */
    protected $except = [
        '/your_callback_url_here'
    ];
}

mtgofa/laravel-fawrypay 适用场景与选型建议

mtgofa/laravel-fawrypay 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 336 次下载、GitHub Stars 达 5, 最近一次更新时间为 2020 年 08 月 01 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「php」 「payment」 「gateway」 「laravel」 「online」 「Egypt」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 mtgofa/laravel-fawrypay 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 mtgofa/laravel-fawrypay 我们能提供哪些服务?
定制开发 / 二次开发

基于 mtgofa/laravel-fawrypay 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 336
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 5
  • 点击次数: 14
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 5
  • Watchers: 0
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-08-01