sam-asif / sslcommerz
SSLCOMMERZ 是孟加拉国最大的支付网关聚合商。
v1.0.5
2021-10-28 07:25 UTC
This package is auto-updated.
Last update: 2024-09-28 14:46:36 UTC
README
SSLCommerz 是 Laravel 框架的支付网关库。官方文档在这里:这里。
安装
composer require sam-asif/sslcommerz
提供者
为了注册这个包,以便它能被 Laravel 加载,您需要更新应用程序配置,只需在 config/app.php
文件的 'providers'
部分的末尾添加以下代码
config/app.php
<?php return [ // ... 'providers' => [ SamAsif\Sslcommerz\SSLCommerzServiceProvider::class, // ... ], // ... ];
发布
php artisan vendor:publish
此命令将在 config
目录内创建一个 sslcommerz.php
文件。在您的 .env
文件中配置您的参数
如果您的请求值包含以下键
total_amount
currency
tran_id
cus_name
cus_email
cus_add1
cus_add2
cus_city
cus_state
cus_postcode
cus_country
cus_phone
cus_fax
ship_name
ship_add1
ship_add2
ship_city
ship_state
ship_postcode
ship_phone
ship_country
shipping_method
product_name
product_category
product_profile
value_a
value_b
value_c
value_d
那么只需调用控制器方法。
<?php use SamAsif\Sslcommerz\Http\Controllers\SamSSL; class OrderController extends Controller { public function Order(Request $request) { // ....... $sslc = new SamSSL(); $payment_options = $sslc->index($request, 'hosted'); if (!is_array($payment_options)) { print_r($payment_options); $payment_options = array(); } } }
如果您的请求值不包含这些键,那么定义一个包含这些键的数组并调用控制器函数。
<?php use SamAsif\Sslcommerz\Http\Controllers\SamSSL; class OrderController extends Controller { public function Order(Request $request) { $post_data = array(); $post_data['total_amount'] = '10'; # You cant not pay less than 10 $post_data['currency'] = "BDT"; $post_data['tran_id'] = uniqid(); // tran_id must be unique // ....... // Initialize SSlcommerz gateway $sslc = new SamSSL(); $payment_options = $sslc->index($post_data, 'hosted'); if (!is_array($payment_options)) { print_r($payment_options); $payment_options = array(); } } // For received return value public function return(Request $request){ return $request->all(); } }
Web 路由
Route::post('/sslcommerz/return', 'OrderController::class@return')->name('sslcommerz.return');
此路由用于接收来自 SSLCommerz 网关的返回值。