thoth-pharaoh/paytool

第三方支付工具

v2.2.2 2024-02-06 16:03 UTC

This package is auto-updated.

Last update: 2025-02-06 10:12:49 UTC


README

版本匹配

Laravelpackage
8.X1.X
9.X2.X

安裝

使用 composer 做安裝

composer require thoth-pharaoh/paytool

匯出 Config

php artisan vendor:publish --tag=paytoo-config --force

金流商代碼

金流商代碼
綠界ec_pay
藍新neweb_pay
Line Payline_pay

添加 .env 支付工具必要環境參數

# ------------------
#  綠界
# ------------------
EC_PAY_SERVICE_URL="https://payment-stage.ecpay.com.tw/Cashier/AioCheckOut/V5"
EC_PAY_HASH_KEY="5294y06JbISpM5x9"
EC_PAY_HASH_IV="v77hoKGq4kWxNNIS"
EC_PAY_MERCHANT_ID="2000132"
EC_PAY_ClientRedirectURL=""

# ------------------
#  藍新
# ------------------

# ------------------
#  Line Pay
# ------------------
LINE_PAY_SERVICE_URL="https://sandbox-api-pay.line.me"
LINE_PAY_CHANNEL_ID="2003193830"
LINE_PAY_CHANNEL_SECRET="3711c1ace6e6502e76a67371a1f9c9f2"
LINE_PAY_REDIRECT_URI="/payment/success"
LINE_PAY_CANCEL_URI="/payment/cancel"

使用方法

先引入門面

use Pharaoh\Paytool\Facades\Paytool;

註冊金流相關路由

class RouteServiceProvider extends ServiceProvider
{
    /**
     * Define your route model bindings, pattern filters, etc.
     *
     * @return void
     */
    public function boot()
    {
        // 註冊金流相關路由
        Paytool::routes();
    }
}

建立訂單

Paytool::vendor($vendor)->createOrderTempUrl($params);
參數說明類型範例
$vendor金流商stringec_pay
$params支費相關資料array依據各家金流定義

各家金流支費相關資料

  • 綠界 ##### 信用卡 | 欄位 | 說明 | 類型 | 範例 | | ------------|:----------------------- | :------| :------| | merchant_trade_no | 自訂交易流水號 | string | ab12345678 | | total_amount | 總金額 | int | 1000 | | trade_desc | 交易描述 | string | 一瓶 | | choose_payment | 付款類別 | string | Credit | | name | 商品名稱 | string | 黑芝麻豆漿 | | price | 單價 | string | 1000 | | currency | 幣別名稱 | string | 元 | | quantity | 數量 | string | 1 |

    ##### 網路ATM | 欄位 | 說明 | 類型 | 範例 | | ------------|:----------------------- | :------| :------| | merchant_trade_no | 自訂交易流水號 | string | ab12345678 | | total_amount | 總金額 | int | 1000 | | trade_desc | 交易描述 | string | 一瓶 | | choose_payment | 付款類別 | string | WebATM | | name | 商品名稱 | string | 黑芝麻豆漿 | | price | 單價 | string | 1000 | | currency | 幣別名稱 | string | 元 | | quantity | 數量 | string | 1 |

    ##### 自動櫃員機 | 欄位 | 說明 | 類型 | 範例 | | ------------|:----------------------- | :------| :------| | merchant_trade_no | 自訂交易流水號 | string | ab12345678 | | total_amount | 總金額 | int | 1000 | | trade_desc | 交易描述 | string | 一瓶 | | choose_payment | 付款類別 | string | ATM | | name | 商品名稱 | string | 黑芝麻豆漿 | | price | 單價 | string | 1000 | | currency | 幣別名稱 | string | 元 | | quantity | 數量 | string | 1 |

    ##### 超商代碼 | 欄位 | 說明 | 類型 | 範例 | | ------------|:----------------------- | :------| :------| | merchant_trade_no | 自訂交易流水號 | string | ab12345678 | | total_amount | 總金額 | int | 1000 | | trade_desc | 交易描述 | string | 一瓶 | | choose_payment | 付款類別 | string | CVS | | name | 商品名稱 | string | 黑芝麻豆漿 | | price | 單價 | string | 1000 | | currency | 幣別名稱 | string | 元 | | quantity | 數量 | string | 1 | | desc_1 | 描述1 | string | | | desc_2 | 描述2 | string | | | desc_3 | 描述3 | string | | | desc_4 | 描述4 | string | |

    ##### 超商條碼 | 欄位 | 說明 | 類型 | 範例 | | ------------|:----------------------- | :------| :------| | merchant_trade_no | 自訂交易流水號 | string | ab12345678 | | total_amount | 總金額 | int | 1000 | | trade_desc | 交易描述 | string | 一瓶 | | choose_payment | 付款類別 | string | BARCODE | | name | 商品名稱 | string | 黑芝麻豆漿 | | price | 單價 | string | 1000 | | currency | 幣別名稱 | string | 元 | | quantity | 數量 | string | 1 | | desc_1 | 描述1 | string | | | desc_2 | 描述2 | string | | | desc_3 | 描述3 | string | | | desc_4 | 描述4 | string | |

  • 藍新

    信用卡
    欄位說明類型範例
    merchant_trade_no自訂交易流水號stringab12345678
    total_amount總金額int1000
    trade_desc交易描述string一瓶
    choose_payment付款類別stringCredit
    name商品名稱string黑芝麻豆漿
    email電子郵件stringmy@example.com
    網路ATM
    欄位說明類型範例
    merchant_trade_no自訂交易流水號stringab12345678
    total_amount總金額int1000
    trade_desc交易描述string一瓶
    choose_payment付款類別stringWebATM
    name商品名稱string黑芝麻豆漿
    email電子郵件stringmy@example.com
    自動櫃員機
    欄位說明類型範例
    merchant_trade_no自訂交易流水號stringab12345678
    total_amount總金額int1000
    trade_desc交易描述string一瓶
    choose_payment付款類別stringATM
    name商品名稱string黑芝麻豆漿
    email電子郵件stringmy@example.com
    超商代碼
    欄位說明類型範例
    merchant_trade_no自訂交易流水號stringab12345678
    total_amount總金額int1000
    trade_desc交易描述string一瓶
    choose_payment付款類別stringCVS
    name商品名稱string黑芝麻豆漿
    email電子郵件stringmy@example.com
    超商條碼
    欄位說明類型範例
    merchant_trade_no自訂交易流水號stringab12345678
    total_amount總金額int1000
    trade_desc交易描述string一瓶
    choose_payment付款類別stringBARCODE
    name商品名稱string黑芝麻豆漿
    email電子郵件stringmy@example.com
  • LinePay

    Line Pay
    欄位說明類型範例
    merchant_trade_no自訂交易流水號stringab12345678
    total_amount總金額int1000
    trade_desc交易描述string一瓶
    choose_payment付款類別stringLinePay
    name商品名稱string黑芝麻豆漿
    price單價string1000
    currency幣別stringTWD
    quantity數量string1

付款確認回戳

use Pharaoh\Paytool\Events\PayNoticeEvent;

class EventServiceProvider extends ServiceProvider
{
    PayNoticeEvent::class => [
        PayNoticeListener::class
    ]
}

付款成功處理任務請在專案中的 PayNoticeListener 實作