该包已被弃用且不再维护。未建议替代包。

Ecpay Laravel 5 版本

安装: 26

依赖: 0

建议者: 0

安全: 0

星星: 0

关注者: 0

分支: 0

开放问题: 0

类型:ectool

dev-master 2018-12-27 11:48 UTC

This package is auto-updated.

Last update: 2020-05-16 11:55:39 UTC


README

Latest Stable Version License Latest Unstable Version Total Downloads Monthly Downloads

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());
    //...
}