kevin50406418 / ecpay
该包已被弃用且不再维护。未建议替代包。
Ecpay Laravel 5 版本
dev-master
2018-12-27 11:48 UTC
Requires
- php: >=7.0
- illuminate/config: 5.5.* || 5.6.* || 5.7.*
- illuminate/support: 5.5.* || 5.6.* || 5.7.*
- illuminate/view: 5.5.* || 5.6.* || 5.7.*
This package is auto-updated.
Last update: 2020-05-16 11:55:39 UTC
README
Laravel Ecpay 是 綠界科技 的非官方套件
Ecpay - Laravel 5 版本
它是由 ScottChayaa/Allpay 包衍生而来
步骤 1: 安装套件
使用 composer 命令安装
composer require kevin50406418/ecpay
或者在 composer.json 中添加 package
"require": {
"kevin50406418/ecpay": "^1.0.0"
},
然后更新安装
composer update
或全新安装
composer install
步骤 2: 注册 ServiceProvider 和 Facade
增加 config/app.php 中的 providers 和 aliases 参数,根据需求添加 (Laravel 5.5 以上无需手动注册)
'providers' => [
// ...
Kevin50406418\Ecpay\EcpayServiceProvider::class,
]
'aliases' => [
// ...
'Ecpay' => Kevin50406418\Ecpay\Facade\Ecpay::class,
]
步骤 3: 建立配置文件
执行以下命令,将 package 的 config 文件配置到你的项目中
php artisan vendor:publish --provider=Kevin50406418\Ecpay\EcpayServiceProvider
可至 config/ecpay.php 中查看
默认为测试 Ecpay 配置
return [ 'ServiceURL' => 'http://payment-stage.allpay.com.tw/Cashier/AioCheckOut', 'HashKey' => '5294y06JbISpM5x9', 'HashIV' => 'v77hoKGq4kWxNNIS', 'MerchantID' => '2000132', ];
步骤 4: 在 .env 中加入以下设置
获取 MerchantID、HashKey 和 HashIV
#Ecpay
ECPAY_TEST_MODE=false
ECPAY_SERVICE_URL=https://payment.ecpay.com.tw/Cashier/AioCheckOut/V5
ECPAY_HASH_KEY=
ECPAY_HASH_IV=
ECPAY_MERCHANT_ID=
ECPAY_ENCRYPT_TYPE=1
使用
生成订单
use Ecpay;
public function Demo() { //Official Example : //https://github.com/ECPay/ECPayAIO_PHP/blob/master/AioSDK/example/sample_All_CreateOrder.php //基本參數(請依系統規劃自行調整) Ecpay::i()->Send['ReturnURL'] = "http://www.ecpay.com.tw/receive.php" ; Ecpay::i()->Send['MerchantTradeNo'] = "Test".time() ; //訂單編號 Ecpay::i()->Send['MerchantTradeDate'] = date('Y/m/d H:i:s'); //交易時間 Ecpay::i()->Send['TotalAmount'] = 2000; //交易金額 Ecpay::i()->Send['TradeDesc'] = "good to drink" ; //交易描述 Ecpay::i()->Send['ChoosePayment'] = \ECPay_PaymentMethod::ALL ; //付款方式 //訂單的商品資料 Ecpay::i()->Send['Items'][] = [ 'Name' => "歐付寶黑芝麻豆漿", 'Price' => (int)"2000", 'Currency' => "元", 'Quantity' => (int) "1", 'URL' => "dedwed" ]; //導向綠界 return Ecpay::i()->CheckOutString(); }
付款结果通知
public function PayReturn(Request $request) { /* 取得回傳參數 */ $arFeedback = Ecpay::i()->CheckOutFeedback($request->all()); //... }