obinnaakaolisa / flutterwave-pay
这是一个PHP包,用于通过Flutterwave交易API初始化和验证Flutterwave交易。
v1.0.1
2023-09-12 10:47 UTC
Requires
- php: ^8.0
- curl/curl: ^2.5
README
这是一个PHP包,用于通过Flutterave交易API初始化和验证Flutterwave交易。
需求
该包需要以下资源
- PHP ^8.0
- Composer
- Curl
入门
安装
导航到您的项目目录
cd folder/my-project
在您的项目文件夹中,运行以下命令
composer require obinnaakaolisa/flutterwave-pay
设置您的API密钥
$apiKey = "FLWSECK_TEST-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-X";
实例化一个新的交易对象
在实例化时传入API_KEY。
$transaction = new FlutterwavePay($apiKey);
定义您的POST请求的负载数据。
$payload = [ 'tx_ref' => 'FLW_TEST_'.bin2hex(random_bytes(5)), 'amount' => 2000, //in naira 'redirect_url' => "https://{$_SERVER['SERVER_NAME']}/verify.php", 'currency' => 'NGN', 'customer' => [ 'name' => 'Firstname' .' '.'Lastname', 'email' => 'customer@email.com', 'phone_number' => '08031010101', ], 'payment_options' => "card, banktransfer, ussd", 'customizations' => [ 'title' => 'Some Payment', ], 'meta' => [ 'field_name' => 'field_value', ], 'subaccounts' => [] ];
注意
customizations
字段是可选的。如果您想自定义支付页面的外观和感觉,请定义它。请参阅文档进行参考。subaccounts
字段是可选的。仅在您想将交易分成不同的结算账户时定义。请参阅文档进行参考。meta
字段是可选的。仅在您想保存有关客户或交易的其他信息时定义。请参阅文档进行参考。
初始化交易
您收到的请求响应是一个json编码的对象,因此您需要对其进行解码,如下所示
$response = json_decode($transaction->initialize($payload));
或
$request = $transaction->initialize($payload); $response = json_decode($request);
验证交易
在交易成功或支付页面关闭后,客户将被重定向到您在初始化交易时设置的redirect_url
。通常,这是您将验证交易状态的位置。
建议在向客户赋予价值之前验证交易。
定义您的API_KEY
$apiKey = "FLWSECK_TEST-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-X";
实例化一个新的交易对象,并在实例化时传入API_KEY。
$transaction = new FlutterwavePay($apiKey);
传入在初始化交易时定义的交易参考。
您也可以从与redirect_url
一起返回的GET请求的查询参数中获取它。
$response = json_decode($transaction->verify($_GET['tx_ref']));
贡献
贡献总是受欢迎的!
有关如何开始,请参阅contributing.md
。
请遵守本项目的行为准则
。