为laravel连接IPS支付网关。

v1.0 2020-01-12 02:32 UTC

README

连接IPS支付网关包。

Latest Stable Version Total Downloads

License Build StyleCI All Contributors

安装

使用composer安装此包。

composer require yubarajshrestha/nchl

Laravel 5.5使用包自动发现,因此不需要您手动添加ServiceProvider。

Laravel 5.5+

如果您不使用自动发现,请将ServiceProvider添加到config/app.php中的providers数组中

YubarajShrestha\NCHL\NchlServiceProvider::class,

如果您想使用外观来记录消息,请将以下内容添加到app.php中的外观中

'NCHL' => YubarajShrestha\NCHL\Facades\NchlFacade::class,

使用发布命令将包配置复制到您的本地配置中

php artisan vendor:publish --provider="YubarajShrestha\NCHL\NchlServiceProvider"

复制环境变量并根据要求在.env中进行设置

NCHL_MERCHANT_ID=
NCHL_APP_ID=
NCHL_APP_NAME=
NCHL_APP_PASSWORD=
NCHL_GATEWAY=
NCHL_VALIDATION_URL=
NCHL_TRANSACTION_DETAIL_URL=

基本用法

NCHL是一个服务类,可以像这样实例化

// In Controller
$nchl = NCHL::__init([
    "txn_id" => '3',
    "txn_date" => '1-10-2020',
    "txn_amount" => '500',
    "reference_id" => 'REF-001',
    "remarks" => 'RMKS-001',
    "particulars" => 'PART-001',
]);

然后,在视图中创建一个表单以启动支付,这会将您重定向到Connect IPS

// In View
<form action="{{ $nchl->core->gatewayUrl() }}" method="post">
    <label>MERCHANT ID</label>
    <input type="text" name="MERCHANTID" id="MERCHANTID" value="{{ $nchl->core->getMerchantId() }}"/>
    <label>APP ID</label>
    <input type="text" name="APPID" id="APPID" value="{{ $nchl->core->getAppId() }}"/>
    <label>APP NAME</label>
    <input type="text" name="APPNAME" id="APPNAME" value="{{ $nchl->core->getAppName() }}"/>
    <label>TXN ID</label>
    <input type="text" name="TXNID" id="TXNID" value="{{ $nchl->core->getTxnId() }}"/>
    <label>TXN DATE</label>
    <input type="text" name="TXNDATE" id="TXNDATE" value="{{ $nchl->core->getTxnDate() }}"/>
    <label>TXN CRNCY</label>
    <input type="text" name="TXNCRNCY" id="TXNCRNCY" value="{{ $nchl->core->getCurrency() }}"/>
    <label>TXN AMT</label>
    <input type="text" name="TXNAMT" id="TXNAMT" value="{{ $nchl->core->getTxnAmount() }}"/>
    <label>REFERENCE ID</label>
    <input type="text" name="REFERENCEID" id="REFERENCEID" value="{{ $nchl->core->getReferenceId() }}"/>
    <label>REMARKS</label>
    <input type="text" name="REMARKS" id="REMARKS" value="{{ $nchl->core->getRemarks() }}"/>
    <label>PARTICULARS</label>
    <input type="text" name="PARTICULARS" id="PARTICULARS" value="{{ $nchl->core->getParticulars() }}"/>
    <label>TOKEN</label>
    <input type="text" name="TOKEN" id="TOKEN" value="{{ $nchl->core->token() }}"/>
    <input type="submit" value="Submit">
</form>

支付成功或失败后,将重定向到您提供给Connect IPS的重定向URL。

验证支付和检索支付详情

像之前一样重新实例化NCHL服务类。

// In Controller
$nchl = NCHL::__init([
    "txn_id" => '3',
    "txn_date" => '1-10-2020',
    "txn_amount" => '500',
    "reference_id" => 'REF-001',
    "remarks" => 'RMKS-001',
    "particulars" => 'PART-001',
]);

/** Validating Payment **/
$response = $nchl->paymentValidate();

/** Retrieving payment details **/
$response = $nchl->paymentDetails();

就这么多。祝您享受

贡献者

许可证