angwa/glade-bank-transfer

这将使客户能够通过银行转账进行付款

dev-master 2021-02-23 03:35 UTC

This package is not auto-updated.

Last update: 2024-10-01 17:43:25 UTC


README

此包将使客户能够使用Glade Api通过银行转账进行付款。此包使用Guzzle。Guzzle是一个PHP HTTP客户端,使得发送HTTP请求变得容易,并与Web服务集成变得简单。

安装和用法

此包需要PHP 7.2和Laravel 7.*或更高版本。

您可以通过composer安装此包

composer require angwa/glade-bank-transfer

下一步是注册我们的服务提供者。只需打开config/app.php并定位到提供者部分,添加GladeApi\GladeBankTransfer\GladeServiceProvider::class,如下所示

'providers' => [
    ...
    GladeApi\GladeBankTransfer\GladeServiceProvider::class,
    ...
]

继续在config/app.php中向下,并在aliases部分添加'GladeBankTransfer' => GladeApi\GladeBankTransfer\Facades\GladeBankTransfer::class,如下所示

'aliases' => [
    ...
    'GladeBankTransfer' => GladeApi\GladeBankTransfer\Facades\GladeBankTransfer::class,
    ...
]

上面的代码将使您在控制器中可以使用use GladeBankTransfer

加载配置文件

我们的配置文件名为glade.php,将在您运行以下bash代码时创建

php artisan vendor:publish --provider="GladeApi\GladeBankTransfer\GladeServiceProvider"

您也可以复制以下代码,在配置文件夹中创建一个名为glade.php的文件,并将代码粘贴进去

<?php

return [
    /*
     * This package will look for a GLADE_MERCHANT_KEY in your env file
     * This package will look for GLADE_MERCHANT_ID in your env file
     * This package will look for GLADE_MERCHANT_URL in your env file
     * If the above three are not found. It might throw errors when trying to use
     */
    'merchantKey' => getenv('GLADE_MERCHANT_KEY'),
    'merchantId' => getenv('GLADE_MERCHANT_ID'),
    'paymentUrl' => getenv('GLADE_MERCHANT_URL'),

];

用法

教程

有关Glade Api的详细描述和文档,请参阅

描述

此包将需要您的MerchantID和Merchant Key进行身份验证。演示MerchantId和Merchant key可以在Glade API参考页面找到,如下所示

Merchant ID: GP0000001
Merchant Key: 123456789

如果您想将演示端点更改为实时,请使用您的Glade仪表板中的Merchant id和Merchant key:Glade API

使用演示账户

将以下行添加到您的env文件中

GLADE_MERCHANT_KEY=123456789
GLADE_MERCHANT_ID=GP0000001
GLADE_MERCHANT_URL=https://demo.api.gladepay.com

记住:每次您更改env文件时,都必须运行

php artisan cache:clear
php artisan config:cache

将以下行添加到您的控制器或您想使用它的地方

use GladeBankTransfer;

示例

要进行付款,只需在控制器中调用makePayment()方法


//For Example
<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use GladeBankTransfer;

class TestGladeApi extends Controller
{
    public function test()
    {
    //compulsary parameter is amount
        $amount = "5999";
     
     //return json response
    return GladeBankTransfer::makePayment($amount);

    return GladeBankTransfer::verifyTransaction("GP679268020210221M");


    }
}

付款示例响应

 {"status":202,"txnRef":"GP88405170320210221S","auth_type":"device","accountNumber":"9922554842","accountName":"GladePay Demo","bankName":"Providus Bank","accountExpires":600,"message":"Make a transfer into the following account using your bank app or internet banking platfrom to complete the transaction"}

参数的多个细节

我们的makePayment()方法还有其他参数,您可能想使用,但这些不是必需的

//For example
<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use GladeBankTransfer;

class TestGladeApi extends Controller
{
    public function test()
    {
    //compulsary parameter is amount
     $amount = "5999";
     $firstname = "John";
     $lastname = "Doe";
     $email = "johndoe@mail.com";
     $business_name = "my business name";

     //return json response 
    return GladeBankTransfer::makePayment($amount,$firstname,$lastname,$email,$business_name);

    }
}

验证交易

要验证交易,请使用verifyTransaction()方法。此方法有一个参数,即验证交易的参考号

for example
<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use GladeBankTransfer;

class TestGladeApi extends Controller
{
    public function testVerify()
    {
    //compulsary parameter is reference
    //You can use reference number you got after payment or use one below
     $reference = "GP679268020210221M";

     //return json response    
    return GladeBankTransfer::verifyTransaction($reference);
    }
}

验证示例响应

{"status":200,"txnStatus":"pending","txnRef":"GP88405170320210221S","message":"PENDING","chargedAmount":0,"currency":"NGN","payment_method":"bank_transfer","fullname":" ","email":"","bank_message":"Awaiting Validation"}

测试

要运行包中的测试,请更新composer并输入以下内容

vendor/bin/phpunit

安全

如果您发现任何安全相关的问题,请通过电子邮件angwamoses@gmail.com报告,而不是使用问题跟踪器。

致谢

许可

MIT许可(MIT)。