karim007/laravel-tap

laravel的Tap支付网关

安装: 104

依赖项: 0

建议者: 0

安全: 0

星标: 3

关注者: 1

分支: 0

开放问题: 0

语言:Blade

v1.2 2024-06-02 06:14 UTC

This package is auto-updated.

Last update: 2024-09-02 06:57:17 UTC


README

Downloads Starts

要求

  • PHP >=7.4
  • Laravel >= 6

安装

composer require karim007/laravel-tap

示例

tap tap tap

vendor publish (配置)

php artisan vendor:publish --provider="Karim007\LaravelTap\LaravelTapServiceProvider" --tag="config"

发布配置文件后,设置凭证。您可以在配置目录中的 tap.php 文件中看到它。

"sandbox"         => env("TAP_SANDBOX", true),

"authAPIKey"     => env("TAP_AUTH_API_KEY", ""),
"auth_token" => env("TAP_AUTH_TOKEN", ""),
"username"      => env("TAP_USERNAME", ""),
"password"     => env("TAP_PASSWORD", ""),

"authAPIKey_2"     => env("TAP_AUTH_API_KEY_2", ""),
"auth_token_2" => env("TAP_AUTH_TOKEN_2", ""),
"username_2"      => env("TAP_USERNAME_2", ""),
"password_2"     => env("TAP_PASSWORD_2", ""),

//so on ...

"callbackURL"     => env("TAP_CALLBACK_URL", "http://127.0.0.1:8000/tap/callback"),

设置 .env 配置

TAP_SANDBOX=true  #for production use false

TAP_AUTH_API_KEY=""
TAP_AUTH_TOKEN=""
TAP_USERNAME=""
TAP_PASSWORD=""

#for multi account
TAP_AUTH_API_KEY_2=""
TAP_AUTH_TOKEN_2=""
TAP_USERNAME_2=""
TAP_PASSWORD_2=""

#so on just use _number likes _3, _4, _5

TAP_CALLBACK_URL=""

用法

1. 发布控制器

php artisan vendor:publish --provider="Karim007\LaravelTap\TapPaymentController" --tag="controllers"

2. 需要在路由列表中添加

    Route::get('/tap/create-payment', [App\Http\Controllers\TapPaymentController::class,'createPayment'])->name('tap-create-payment');
    Route::get('/tap/callback', [App\Http\Controllers\TapPaymentController::class,'callBack'])->name('tap-callBack');

3. 创建支付

您可以在 App\Http\Controllers\LaravelTapServiceProvider 中找到它

    public function createPayment(Request $request)
    {
        $inv = uniqid();
        $data['requestorReferenceId'] = $inv;
        $data['amount'] = 10;
        $data['invoiceNumber'] = $inv;
        $data['additionalInformation'] = "Far far away, behind the word mountains";
        $data['callBackUrl'] = config("tap.callbackURL");

        return TapPayment::tPayment($data);
    }

4. 回调函数

    public function callBack(Request $request)
    {
        if ($request->status == 'completed'){
            $response = TapPayment::validatePayment($request->transactionId);
            //$response = TapPayment::validatePayment($request->transactionId, 1); //last parameter is your account number for multi account its like, 1,2,3,4,cont..
            if (!$response){ //if validatePayment payment not found call checkTransaction
                $response = TapPayment::checkTransaction($request->requestorReferenceId);
                //$response = TapPayment::checkTransaction($request->requestorReferenceId,1); //last parameter is your account number for multi account its like, 1,2,3,4,cont..
            }
            if (isset($response['status']) && $response['status'] == "completed") {
                /*
                 * for future use need to store
                 * transactionId, requestorReferenceId and coreTransactionId
                 * */
                return TapPayment::success('Thank you for your payment', $response['coreTransactionId']);
            }
            return TapPayment::failure($response['statusMessage']);
        }else if ($request->status == 'cancel'){
            return TapPayment::cancel('Your payment is canceled');
        }else{
            return TapPayment::failure('Your transaction is failed');
        }
    }

5. validatePayment 函数

public function validatePayment($transactionId)
    {
        $response = TapPayment::validatePayment($transactionId);
        //$response = TapPayment::validatePayment($transactionId, 1); //last parameter is your account number for multi account its like, 1,2,3,4,cont..
        return $response;
    }

6. chkTransaction 函数

    public function chkTransaction($requestorReferenceId)
    {
        $response = TapPayment::checkTransaction($requestorReferenceId);
        //$response = TapPayment::checkTransaction($requestorReferenceId, 1); //last parameter is your account number for multi account its like, 1,2,3,4,cont..
        return $response;
    }

欢迎使用对TAP支付网关包的贡献。在提交拉取请求之前,请注意以下指南。

  • 遵循 PSR-4 编码标准。
  • 首先阅读TAP API文档。请联系TAP获取他们的API文档和沙盒访问权限。

许可协议

本存储库采用 MIT许可协议 许可。

版权 2022 md abdul karim。我们与tap无关,不提供任何保证。