phpawcom / thawani-php-class
2.0.2
2024-03-22 22:51 UTC
Requires
- php: >=7.1
- ext-curl: *
README
此类帮助与 Thawani Gateway (V2.0) 集成。您可以通过 点击此处 了解更多如何使用它的信息。
安装方法
您可以使用 composer
composer require phpawcom/thawani-php-class
或使用 GIT 克隆此类
git clone https://github.com/phpawcom/thawani-php-class.git
或通过 点击此处 下载存档。
用法
调用类
// include_once(__DIR__.'/thawani.php'); || you don't need this if you are using composer autoload $thawani = new \s4d\payment\thawani([ 'isTestMode' => 1, ## set it to 0 to use the class in production mode 'public_key' => 'HGvTMLDssJghr9tlN9gr4DVYt0qyBy', 'private_key' => 'rRQ26GcsZzoEhbrP2HZvLYDbn9C9et', ]);
生成支付 URL
$url = $thawani->generatePaymentUrl([ 'client_reference_id' => rand(1000, 9999).$orderId, ## generating random 4 digits prefix to make sure there will be no duplicate ID error 'products' => [ ['name' => 'test test test test test test test test test test test test ', 'unit_amount' => 100, 'quantity' => 1], ['name' => 'test', 'unit_amount' => 100, 'quantity' => 1], ], 'success_url' => $thawani->currentPageUrl().'?op=checkPayment', ## Put the link to next a page with the method checkPaymentStatus() 'cancel_url' => $thawani->currentPageUrl().'?op=checkPayment', 'metadata' => [ 'order_id' => $orderId, 'customer_name' => 'Fulan Al Fulani', 'customer_phone' => '90000000', 'customer_email' => 'email@domain.tld' ] ]); if(!empty($url)){ ## method will provide you with a payment id from Thawani, you should save it to your order. You can get it using this: $thawani->payment_id ## header('location: '.$url); ## Redirect to payment page $_SESSION['session_id'] = $thawani->payment_id; ## save session_id to use to check payment status later echo '<a href="'.$url.'">Click to Pay</a>'; }
检查支付状态
$check = $thawani->checkPaymentStatus($_SESSION['session_id']); if($thawani->payment_status == 1){ ## successful payment echo '<h2>successful payment</h2>'; }else{ ## failed payment echo '<h2>payment failed</h2>'; }