kevchikezie/payment-router 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

kevchikezie/payment-router

最新稳定版本:v1.0.1

Composer 安装命令:

composer require kevchikezie/payment-router

包简介

This package intelligently route payment transactions to the most suitable payment processor based on various factors such as transaction cost, reliability, and currency support.

README 文档

README

This Laravel package intelligently route payment transactions to the most suitable payment processor based on various factors such as transaction cost, reliability, and currency support.

What do you need before you can use this library?

Before installing this Laravel package, ensure you have the requirements below;

  • PHP >=8.2 (PHP 8.2 and above)

How do you install this package?

Install via composer

composer require kevchikezie/payment-router

How do you configure this package?

Publish the configuration file after the package is installed

php artisan vendor:publish --provider="Kevchikezie\PaymentRouter\PaymentRouterServiceProvider"

After running the command above, check your config folder, you should see a file named payment-router.php. The content of this file may look like or be configured as the sample below;

<?php

return [
    'processors' => [
        'flutterwave' => [
            'class' => Kevchikezie\PaymentRouter\Processors\FlutterwaveProcessor::class,
            'secret_key' => env('FLUTTERWAVE_SECRET_KEY'),
            'public_key' => env('FLUTTERWAVE_PUBLIC_KEY'),
            'supported_currencies' => ['USD', 'GBP', 'NGN', 'GHS'],
            'transaction_cost' => [
                'USD' => 1.2,
                'GBP' => 1.9,
                'NGN' => 0.25,
                'GHS' => 0.23
            ],
        ],
        'paystack' => [
            'class' => Kevchikezie\PaymentRouter\Processors\PaystackProcessor::class,
            'secret_key' => env('PAYSTACK_SECRET_KEY'),
            'public_key' => env('PAYSTACK_PUBLIC_KEY'),
            'supported_currencies' => ['NGN', 'USD', 'EUR'],
            'transaction_cost' => [
                'NGN' => 0.15,
                'USD' => 0.75,
                'EUR' => 1.25,
            ],
        ],
    ],
];

How do you use this package?

Example usage in a controller:

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PaymentController extends Controller
{
    public function processPayment(Request $request)
    {
        $router = app('payment.router');
        $paymentDetails = [
            'amount' => $request->amount,
            'card_number' => $request->card_number,
            'transaction_id' => time() . rand(1000, 9999), // NB: Modify as needed
            'currency' => $request->currency // Example: 'USD',
        ];

        try {
            $processor = $router->route($paymentDetails);
            $data = $processor->processPayment($paymentDetails);

            return response()->json(['status' => true, 'data' => $data]);
        } catch (\Exception $e) {
            return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
        }
    }
}

How do you run phpunit test?

Run the command below:

vendor/bin/phpunit

License

The Payment Router package is open-sourced software licensed under the MIT license

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-07-27