tsaiyihua/laravel-linepay
Composer 安装命令:
composer require tsaiyihua/laravel-linepay
包简介
linepay library for laravel
README 文档
README
Laravel LinePay 為串接Line Pay的非官方套件
前言
目前只有一般付款後自動請款的動作可以執行,建議只有在手機環境下才出現 LinePay 的付款方法。
- v1.x, v2.x 適用 LinePay V2 方法
- v3.x 適用 LinePay V3 方法
系統需求
-
v2.x, v3.x
- PHP >= 7.2
- Laravel >= 6.0
-
v1.x
- PHP >= 7
- Laravel >= 5.7 < 6.0
安裝
composer require tsaiyihua/laravel-linepay
環境設定
php artisan vendor:publish --tag=linepay
.env 裡加入
LINE_PAY_CHANNEL_ID=
LINE_PAY_CHANNEL_SECRET=
申請及測試流程說明網址
https://developers-pay.line.me/zh/sandbox
用法
Line Pay 的付款流程一定要先準備(reserve),之後再確認付款後(confirm)才能完成整個付款。 Line pay v3 版本新增 price 及 quantity 為必要欄位。
Reserve
單一產品購買
<?php namespace App\Http\Controllers; use TsaiYiHua\LinePay\Constants\ConfirmUrlType; use TsaiYiHua\LinePay\Reserve; use TsaiYiHua\LinePay\Services\StringService; class LinePayController extends Controller { protected $linePayReserve; public function __construct(Reserve $linePayReserve) { $this->linePayReserve = $linePayReserve; } public function pay() { $orderId = StringService::identifyNumberGenerator('O'); $postData = [ 'orderId' => $orderId, 'productName' => 'Item Name', 'productImageUrl' => 'https://tyh.idv.tw/images/tyhlogo.jpg', 'price' => 50, 'quantity' => 1, 'amount' => 50, 'confirmUrlType' => ConfirmUrlType::WEB ]; return $this->linePayReserve->setPostData($postData)->chat()->reserve(); } }
Confirm
Confirm 時會回傳 transactionId 以及 orderId
$transId = $request->get('transactionId'); $orderId = $request->get('orderId'); $sendData = [ 'transactionId' => $transId, 'orderId' => $orderId ]; return $this->linePayConfirm->setPostData($sendData)->chat()->confirm(function($response){ if (!empty($response)) { // 處理完成付款後的動作 ... } });
已知問題
- 當使用網頁登入或掃碼付款時,頁面會導回 confirmUrl 頁,但 Server-to-Server 也溝通了一次,所以會有兩次 Confirm Request。第二次的 Confirm Request 就會出現 1198 的要求處理中的錯誤,而前端網頁有時會先完成有時會慢於 Server-to-Server,於是就會有時成功有時失敗。
- 測試時不能傳送 capture 為 false 時的狀態,會出現
LinePayException (2103) Parameter is not allowed. [capture:`false`]。
tsaiyihua/laravel-linepay 适用场景与选型建议
tsaiyihua/laravel-linepay 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 3.44k 次下载、GitHub Stars 达 10, 最近一次更新时间为 2018 年 11 月 30 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「payment」 「line」 「laravel」 「linepay」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 tsaiyihua/laravel-linepay 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 tsaiyihua/laravel-linepay 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 tsaiyihua/laravel-linepay 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A PHP console tool to generate Markdown documentation from your docblocks and types hints using templates.
A minimal command-line framework built from Aura v2 packages
LINE Messaging API SDK for PHP Wrapper
Alfabank REST API integration
The PHP library for use with the Line Login OAuth REST API.
PHP5 library to create charts.
统计信息
- 总下载量: 3.44k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 10
- 点击次数: 8
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-11-30