granada-pride / paytabs
此包提供与PayTabs支付网关的集成
v2.4.0
2024-08-25 22:09 UTC
README
目录
描述
PayTabs支付网关与Laravel框架集成
安装
您可以通过composer安装此包
composer require granada-pride/paytabs
注意: 此包与Laravel 9及以上版本兼容。在安装之前,请确保您的应用程序满足此要求。
配置
安装后,使用以下命令发布配置文件
php artisan vendor:publish --provider="GranadaPride\Paytabs\PaytabsServiceProvider"
配置文件paytabs.php将被添加到您的config目录中。以下是一个示例配置
return [ 'profile_id' => env('PAYTABS_PROFILE_ID'), 'server_key' => env('PAYTABS_SERVER_KEY'), 'currency' => env('PAYTABS_CURRENCY'), 'region' => env('PAYTABS_REGION'), ];
配置选项
- profile_id: 您的PayTabs配置文件ID,用于API请求。
- server_key: 您的PayTabs服务器密钥,用于认证。
- currency: 处理支付的货币代码(例如,USD)。
- region: 您的PayTabs账户所在的地区(例如,ARE,SAU)。
用法
创建PayPage
以下是使用此包创建支付页面的方法
use GranadaPride\Paytabs\Paytabs; use GranadaPride\Paytabs\DTO\CustomerDetails; $paytabs = Paytabs::make(); // Set Cart Information $paytabs->setCart('CART123', 150.00, 'Sample Cart Description'); // Set Customer Information using the CustomerDetails DTO $customerDetails = new CustomerDetails( name: 'John Doe', phone: '+123456789', email: 'johndoe@example.com', street: '123 Main St', city: 'Cityville', state: 'Stateland', country: 'US', zipCode: '12345' ); $paytabs->setCustomer($customerDetails); // Option 1: Use Customer Information for Shipping if it's the same $paytabs->useCustomerForShipping(); // Option 2: Set Shipping Information separately if it's different $shippingDetails = new CustomerDetails( name: 'Jane Doe', phone: '+987654321', email: 'janedoe@example.com', street: '456 Market St', city: 'Townsville', state: 'Regionland', country: 'US', zipCode: '54321' ); $paytabs->setShipping($shippingDetails); // Set URLs and Language $paytabs->setCallbackUrl('https://yourdomain.com/callback') ->setReturnUrl('https://yourdomain.com/return') ->setPaypageLang('en'); // Generate Payment Page $response = $paytabs->paypage(); // Handle the response dd($response);
查询交易
您也可以使用引用查询交易
use GranadaPride\Paytabs\Paytabs; $response = Paytabs::make() ->queryTransaction('TST2422201903602'); dd($response);
故障排除
常见问题
- 无效凭据:请确保配置文件中的profile_id和server_key正确。
- 不支持的地区:请再次检查配置文件中的地区是否有效并受PayTabs支持。
- 交易失败:请验证交易数据(例如,购物车金额,客户详情)以确保其符合PayTabs的要求。
如果您遇到其他问题,请参阅PayTabs API文档以获取更多详细信息。
测试
即将推出...
贡献
欢迎贡献!如果您想为此包做出贡献,请按照以下步骤操作
- 复制仓库。
- 为您的功能或错误修复创建新分支。
- 编写您的代码并确保其具有良好的文档。
- 提交包含对更改的明确描述的pull请求。
许可证
此包是开源软件,根据MIT许可证授权。