pawelsome/laravel-dotpay
Composer 安装命令:
composer require pawelsome/laravel-dotpay
包简介
Laravel 5 Dotpay
README 文档
README
Installation
Require this package with composer:
composer require alzo02/laravel-dotpay
After updating composer, add the ServiceProvider to the providers array in config/app.php
Laravel 5.x:
Alzo\LaravelDotpay\ServiceProvider::class,
If you want to use the facade, add this to your facades in app.php:
'Dotpay' => Alzo\LaravelDotpay\Facade::class
Configure .env file, add these lines
DOTPAY_ID=XXXXXX
DOTPAY_EMAIL=YOUR@EMAIL.COM
DOTPAY_INFO="STORE INFO"
DOTPAY_PIN=YOUR_DOTPAY_PIN
Publish configuration file
php artisan vendor:publish
Set up settings in config/dotpay.php
array( //route name for success redirect 'success_url'=> 'dotpay.success', //route name for URLC notification 'notification_url' => 'dotpay.notification', //default test mode is enabled, available: dev, prod 'environment' => 'dev', //array of allowed IP, verified during URLC request 'allowed_servers' => [ '195.150.9.37' ] );
Usage
Create form in controller
$data = [ 'description' => "Description", 'control' => "SOME RANDOM STRING HERE - ORDER TOKEN ETC", 'channel' => 73, 'amount' => 9999, 'firstname' => "CustomerName", 'lastname' => "CustomerSurname", 'email' => "Customer@Email", 'button' => "Pay Now", ]; $form = Dotpay::createForm($data); return view('dotpay.payment', [ 'form' => $form ]);
In your view type something like
@if (isset($form) && $form) {!! $form !!} @endif
Will be rendered
<form class="dotpay-form" action="https://ssl.dotpay.pl/test_payment/" method="POST"> <input type="hidden" name="id" value="XXXXX"/> <input type="hidden" name="description" value="Description"/> <input type="hidden" name="channel" value="73"/> <input type="hidden" name="api_version" value="dev"/> <input type="hidden" name="lang" value="pl"/> <input type="hidden" name="control" value="SOME RANDOM STRING HERE - ORDER TOKEN ETC"/> <input type="hidden" name="amount" value="9999"/> <input type="hidden" name="type" value="4"/> <input type="hidden" name="firstname" value="CustomerName"/> <input type="hidden" name="lastname" value="CustomerSurname"/> <input type="hidden" name="email" value="Customer@Email"/> <input type="hidden" name="p_email" value="YOUR@EMAIL.COM"/> <input type="hidden" name="p_info" value="TEST STORE"/> <input type="hidden" name="URL" value="XXXX"/> <!-- url generate from route named 'dotpay.success' --> <input type="hidden" name="URLC" value="XXXXX"/> <!-- url generate from route named 'dotpay.notification' --> <input type="hidden" name="bylaw" value="1"/> <input type="hidden" name="personal_data" value="1"/> <button class="dotpay-from-submit" type="submit">Pay Now</button> </form>
Create auto submitted form
<script type="text/javascript"> window.onload = function () { var form = document.getElementsByClassName("dotpay-form")[0]; form.submit(); }; </script>
Handle action for URLC notification
public function notification(Request $request) { $data = $request->all(); $ip = $request->getClientIp(); // additional callback when validation fails Dotpay::failed(function ($data) { Log::debug("DOTPAY FAILED"); Log::debug("DATA" . json_encode($data, JSON_PRETTY_PRINT)); // do some stuff when data verification fails (hash is invalid) }); // additional callback when validation passes Dotpay::success(function ($data) { Log::debug("DOTPAY SUCCESS"); Log::debug("DATA" . json_encode($data, JSON_PRETTY_PRINT)); // do some stuff when data verification passes // compare amount, control field etc. }); // validate request IP and hash if (Dotpay::validateIP($ip)) { if (Dotpay::validate($data)) { Log::debug("Request is valid"); } else { Log::debug("Request is invalid"); } } else { Log::debug("Request IP is INVALID: {$ip}"); } return "OK"; }
pawelsome/laravel-dotpay 适用场景与选型建议
pawelsome/laravel-dotpay 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 142 次下载、GitHub Stars 达 0, 最近一次更新时间为 2017 年 10 月 07 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 pawelsome/laravel-dotpay 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 pawelsome/laravel-dotpay 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 142
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2017-10-07