phpawcom/thawani-php-class

此包已被弃用且不再维护。作者建议使用 phpawcom/thawani_laravel 包。

此类帮助与 Thawani Gateway (V2.0) 集成

2.0.2 2024-03-22 22:51 UTC

This package is auto-updated.

Last update: 2024-03-25 00:59:43 UTC


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>';  
}