rainwaves/payfast-payment

这是一个用于与PayFast.co.za支付网关集成的PHP包。它为您的PHP应用程序提供了一种方便的方式来处理一次性支付和周期性账单,同时支持纯PHP和Laravel。

v1.4.1 2023-08-29 20:43 UTC

This package is auto-updated.

Last update: 2024-09-29 23:54:19 UTC


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。