tabapay/payment 问题修复 & 功能扩展

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

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

tabapay/payment

最新稳定版本:v1.0.0

Composer 安装命令:

composer require tabapay/payment

包简介

A flexible payment package for TabaPay integration in Laravel

README 文档

README

A flexible payment integration package for TabaPay API in Laravel.

Installation

  1. Install via Composer: composer require tabapay/payment

  2. Publish the configuration (optional): php artisan vendor:publish --tag=config

  3. Add your merchant code to .env: TABAPAY_MERCHANT_CODE=your-merchant-code TABAPAY_SANDBOX=false

Usage

### Create a Transaction

use Tabapay\Payment\Facades\Payment;

$data = [
    'amount' => 10000,
    'callbackURL' => 'https://your-site.com/verify',
    'mobile' => '09123456789', // optional
    'email' => 'user@example.com', // optional
    'name' => null,
    'sms' => 0, // True or False
    'cardNumber' => null,
    'nationalCode' => null,
    'description' => null,
    'additionalData' => null,
	
];
$response = TabaPay::createTransaction($data);

if ($response['status'] === 'success') {
    return redirect($response['url']);
}

### Verify a Transaction

The `verifyTransaction` method sends a verification request to the TabaPay API and retries up to 3 times if needed. Use it for manual verification after a GET callback. Automatic verification by TabaPay requires separate handling in your controller.

use Tabapay\Payment\Facades\Payment;

public function verifyCallback(Request $request)
{
	if (!empty($request->header('HTTP_AUTHORIZE')) && md5(config('payment.merchant_code')) === $request->header('HTTP_AUTHORIZE')) {
        $responseData = $request->all(); // Data from TabaPay POST
        if ($responseData['status'] === 'success' && $responseData['responseCode'] == 1) {
            // Transaction verified successfully
            return response()->json($responseData);
        }
    }elseif ($request->query('status') === 'success' && $request->query('responseCode') == 1) {
		$token = $request->query('token');
		$amount = $request->query('amount');
        $response = TabaPay::verifyTransaction($token, $amount);
        return response()->json($response);
    }
	
#Response
	$responseData = array(
		"status" => $responseData['status'] ?? null,
		"responseCode" => $responseData['responseCode'] ?? null,
		"message" => $responseData['message'] ?? null,
		"token" => $responseData['token'] ?? null,
		'trackingCode' => $responseData['trackingCode'] ?? null,
		"shaparakRefNumber" => $responseData['shaparakRefNumber'] ?? null,
		"cardNumber" => $responseData['cardNumber'] ?? null,
		"hashedCardNumber" => $responseData['hashedCardNumber'] ?? null,
		"amount" => $responseData['amount'] ?? null,
		"finalAmount" => $responseData['finalAmount'] ?? null,
		"ip" => $responseData['ip'] ?? null,
		"date" => $responseData['date'] ?? null,
		"additionalData" => !empty($responseData['additionalData']) ? $responseData['additionalData'] : null
	);
}

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: Unknown
  • 更新时间: 2025-03-06