husseinsayed/laravel-paytabs

Laravel Paytabs

dev-master 2023-05-01 04:06 UTC

This package is auto-updated.

Last update: 2024-09-30 02:13:11 UTC


README

安装

首先通过Composer安装此包。只需在终端运行以下命令-

composer require husseinsayed/laravel-paytabs

此操作完成后,包将自动适用于 Laravel 5.6 及以上版本,否则,最终步骤是添加服务提供者。打开 config/app.php 文件,并向提供者数组添加一个新条目。

'providers' => [
	...
	Husseinsayed\Paytabs\PaytabsServiceProvider::class,
],

现在添加别名。

'aliases' => [
	...
	'Paytabs' => Husseinsayed\Paytabs\Facades\PaytabsFacade::class,
],

别忘了将您的Paytabs凭据添加到您的 .env 文件中。

php artisan vendor:publish --provider="Husseinsayed\Paytabs\PaytabsServiceProvider"

然后,如果您想使用而非env,请填写 config/paytabs.php 文件中的凭据。

PAYTABS_PROFILE_ID=2****
PAYTABS_SERVER_KEY=S6****6D2J-J2Z****H6K-6T2****MW
PAYTABS_CHECKOUT_LANG=en
PAYTABS_CURRENCY=EGP

VERIFY_ROUTE_NAME=payment.verify

示例

创建支付页面

Route::get('payment/paytabs',  function () {
	$user = auth()->user();
	$result = Paytabs::pay(10.00, $user->id, $user->name, $user->email, $user->phone, [
		'customer_details' => [
			'country' => 'EG',
			'state' => 'C'
		]
	]);
	return $result;
});

创建周期性支付

在第一次支付中创建Tokenize请求

Route::get('payment/paytabs',  function () {
	$user = auth()->user();
	$result = Paytabs::payRecurring(10.00, $user->id, $user->name, $user->email, $user->phone, [
		'customer_details' => [
			'country' => 'EG',
			'state' => 'C'
		]
	],2);
	return $result;
});
Route::get('payment/paytabs',  function () {
	$user = auth()->user();
	$recurring_token=$token;//token returned from the previous request
  $recurring_tranRef=$tran_ref;//tran_ref returned from the previous request
	$result = Paytabs::payRecurring(10.00, $user->id, $user->name, $user->email, $user->phone, [
		'customer_details' => [
			'country' => 'EG',
			'state' => 'C'
		]
	],1,'recurring',$recurring_token,$recurring_tranRef);
	return $result;
});

验证支付

Route::get('payment/verify/{ref}',  function ($ref) {
	$result = Paytabs::verify($ref);
	return $result;
});
you will need to exclude your paytabs_response route from CSRF protection