rainwaves / payfast-payment
这是一个用于与PayFast.co.za支付网关集成的PHP包。它为您的PHP应用程序提供了一种方便的方式来处理一次性支付和周期性账单,同时支持纯PHP和Laravel。
v1.4.1
2023-08-29 20:43 UTC
Requires
- php: ^7.4|^8.0|^8.1|^8.2
- respect/validation: ^2.2
Requires (Dev)
- orchestra/testbench: ^8.5
README
这是一个用于与PayFast支付网关集成的PHP包。它为您的PHP应用程序提供了一种方便的方式来处理一次性支付和周期性账单,同时支持纯PHP和Laravel。
安装
您可以通过Composer安装PayGate支付包。在您的项目目录中运行以下命令
composer require rainwaves/payfast-payment
配置
安装包后,您需要使用PayGate凭据进行配置。在Laravel中,您需要发布配置文件并在.env文件中设置凭据
- merchant_id=XXXXXXXX
- merchant_key=XXXXXXXXXX
- env=XXXXXXXX
- return_url=XXXXXXXXXXXX
- cancel_url=XXXXXXXXXXXX
- notify_url=XXXXXXXXXXXX
- pass_phrase=XXXXXXXXXXXX
使用方法
纯PHP
require 'vendor/autoload.php'; $config = array('merchant_id' => 10000100, 'merchant_key'=> env('MERCHANT_KEY', '46f0cd694581a'), 'env'=> 'local', 'return_url'=> 'https://www.example.com/success', 'cancel_url'=> 'https://www.example.com/cancel', 'notify_url'=> 'https://www.example.com/notify', 'pass_phrase' => 'jt7NOE43FZPn', ); $input = array( 'amount' => 100.00, 'item_name' => 'Test Product', 'name_first' => 'First Name', 'name_last' => 'Last Name', 'email_address'=> 'test@test.com', 'm_payment_id' => '1234', 'email_confirmation' => true, ); $payFast = new PayFast($config); echo $payFast->makePaymentWithAForm($input)->createForm();
将返回一个带有隐藏输入表单
Laravel
假设您已设置了必要的路由和视图,以下是在Laravel中使用PayGate支付包的示例
use Illuminate\Http\Request; use rainwaves\PayfastPayment\PayFast; class PaymentController extends Controller { public function makePayment(Request $request) { $config = [ 'merchant_id' => config('payfast.merchant_id'), 'merchant_key' => config('payfast.merchant_key'), 'env' => config('payfast.env'), 'return_url' => config('payfast.return_url'), 'cancel_url' => config('payfast.cancel_url'), 'notify_url' => config('payfast.notify_url'), 'pass_phrase' => config('payfast.pass_phrase'), ]; $input = [ 'amount' => 100.00, 'item_name' => 'Test Product', 'name_first' => $request->input('name_first'), 'name_last' => $request->input('name_last'), 'email_address' => $request->input('email'), 'm_payment_id' => '1234', 'email_confirmation' => true, ]; $payFast = new PayFast($config); return $payFast->makePaymentWithAForm($input)->createForm(); } }
测试
要运行包的PHPUnit测试用例,请使用以下命令
vendor/bin/phpunit
许可证
本包是开源软件,许可协议为MIT。