brainlabsweb / laravel-paytm
适用于 Laravel 应用的 Paytm 网关
v1.0.2
2019-05-03 05:20 UTC
Requires
- php: ^7.1.3
- ext-openssl: *
- illuminate/support: 5.5.* || 5.6.* || 5.7.* || 5.8.*
This package is auto-updated.
Last update: 2024-09-29 05:08:44 UTC
README
💰 Laravel Paytm 💰
此包允许您将 Paytm 支付网关集成到您的 Laravel 应用中。有关 Paytm 的完整文档,您可以在这里查看 here
💡 安装
- 使用 Composer 安装包
composer require brainlabsweb/laravel-paytm
包将自动注册其服务提供者。
- 发布配置文件
php artisan vendor:publish --provider="Brainlabsweb\Paytm\PaytmServiceProvider"
配置
注意:对于 Laravel 5.5 及以上版本,您可以跳过以下步骤
在您的 config/app.php
中添加以下内容
'providers' => [
// Other service providers...
Brainlabsweb\Patym\PatymServiceProvider::class,
],
同样在别名下
'aliases' => [
// Other aliases
'Paytm' => Brainlabsweb\Patym\Paytm::class,
],
以获取 Paytm API 网址
这些网址将自动根据在 Paytm 配置文件中设置的 💪 默认 状态,导向相应的 Paytm 沙盒、直播模式
paytm()->getTxnUrl(); // for charging
paytm()->getTransactionStatusUrl(); // to know the status of the paytm transaction
paytm()->getRefundUrl(); // to inititate refund
paytm()->getRefundStatusUrl(); // to know the refund status
在您的视图文件中
/**
* The below are mandatory fields
* optional fields MOBILE_NO, EMAIL
*/
$data = [
'ORDER_ID' => 'order_id',
'TXT_AMOUNT' => '1',
'CUST_ID' => 'custid'
];
<form method="POST" action="{{ paytm()->getTxnUrl() }}">
@foreach(\Brainlabsweb\Paytm\Paytm::prepare($data) as $key => value)
<input type="hidden" name="{{ $key }}" value="{{ $value }}">
@endforeach
<button type="submit">Pay</button>
</form>
OR
paytm()->prepare($data)
禁用 Paytm 路由的 CSRF
确保所有 Paytm 的 POST 请求处理路由均不受 CSRF 保护。例如
Route::post('paytm/verify','PaytmController@verify');
您可以在 app/Http/Middleware/VerifyCsrfToken.php
中禁用这些
protected $except = ['paytm/verify'];
一旦在您的控制器中完成支付
\Brainlabsweb\Paytm\Paytm::verify(); // returns true/false
OR
paytm()->verify();
以获取 Paytm 响应状态
\Brainlabsweb\Paytm\Paytm::response(); // returns paytm response array
OR
paytm()->response();
以了解交易状态
Make POST REQUEST with param $order_id
\Brainlabsweb\Paytm\Paytm::getTransactionStatus($order_id); // returns paytm response array
OR
paytm()->getTransactionStatus($order_id);
以发起退款
$data = [
'ORDERID' => 'order_id',
'REFID' => 'ref1', // should be unique everytime
'TXNID' => 'TXNID' // will get as response when made a transaction
'REFUNDAMOUNT' => '1',
'COMMENT' => 'SOME TEXT' // THIS IS OPTIONAL PARAMTER
];
\Brainlabsweb\Paytm\Paytm::refund($data); // returns paytm response array
OR
paytm()->refund($data);
以了解退款状态
$data = [
'ORDERID' => 'order_id',
'REFID' => 'ref1', // This is REFID for which refund status is being inquired
];
\Brainlabsweb\Paytm\Paytm::refundStatus($data); // returns paytm response array
OR
paytm()->refundStatus($data);