定制 ahmadmrj/payir 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

ahmadmrj/payir

Composer 安装命令:

composer require ahmadmrj/payir

包简介

laravel library to handle payment with pay.ir service

README 文档

README

A Laravel library to implement payment operation with pay.ir service

To install the package:

composer install ahmadmrj/payir

After install add this to the provider section in your config/app.php to use the package as a service provider:

'providers' => [
  .
  .
  Ahmadmrj\Payir\PaymentServiceProvider::class
]

A sample of the Payment controller:

<?php

namespace App\Http\Controllers;

use Ahmadmrj\Payir\Payir;

class PaymentController extends Controller
{
    public $payment;

    public function __construct()
    {
        $this->payment = new Payir([
            'gateWayApiUrl' => 'https://pay.ir/payment/send',
            'redirectUrl' => 'https://pay.ir/payment/gateway/',
            'verifyUrl' => 'https://pay.ir/payment/verify',
            'apiKey' => 'test',
            'callbackUrl' => Your Call Back URL,
            'mobileNumber' => '',
        ]);
    }

    public function pay(){
        $amount = AMOUNT;
        $invoice_id = Faktor NUMBER;
        $status = $this->payment->sendApiRequest($amount,$invoice_id);

        if($status) {
            // redirect to bank payment page
            return redirect($this->payment->config->redirectUrl . $this->payment->transId);
        }else{
            //in case payment operation is not successful
            return redirect('/payment')->withErrors([$this->payment->paymentErrorMessage]);
        }
    }

    /**
     * @param Request $request
     * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
     */
    public function verify(Request $request){
        //check if payment operation has been done!
        if($request->status === Payir::SUCCESSFUL_STATUS)
        {
            $verify_result = $this->payment->verify($request);

            if($verify_result){
                $verify_status = 'committed';
            }
            else{
                $verify_status = 'failed';
                $error_message = $this->payment->verifyErrorMessage;
            }
        }
        else
        {
            $verify_status = 'failed';
            $error_message = $request->message;
        }

        if($verify_status == 'committed'){
            return redirect('/payment')->with('message',__('messages.Payment has done successfully.'));
        }
        else {
            return redirect('/payment')->withErrors([$error_message]);
        }
    }
}

ahmadmrj/payir 适用场景与选型建议

ahmadmrj/payir 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 40 次下载、GitHub Stars 达 3, 最近一次更新时间为 2018 年 10 月 01 日, 在 PHP 生态内属于活跃度较高的组件。

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

围绕 ahmadmrj/payir 我们能提供哪些服务?
定制开发 / 二次开发

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

  • 总下载量: 40
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 7
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2018-10-01