Home

Awesome

Build Status

Allpay 歐付寶

這是歐付寶 API 的 Ruby 包裝,更多資訊參考他們的官方文件

安裝

gem install allpay_client

使用

test_client = Allpay::Client.new(mode: :test)
production_client = Allpay::Client.new({
  merchant_id: 'MERCHANT_ID',
  hash_key: 'HASH_KEY',
  hash_iv: 'HASH_IV'
})

test_client.request '/Cashier/QueryTradeInfo',
  MerchantTradeNo: '0457ce27',
  TimeStamp: Time.now.to_i

歐付寶共有 5 個 API:

每個 API 有哪些參數建議直接參考歐付寶文件,注意幾點:

Allpay::Client

實體方法回傳說明
request(path, **params)Net::HTTPResponse發送 API 請求
make_mac(**params)String用於產生 CheckMacValue,單純做加密,params 需要完整包含到 MerchantID
verify_mac(**params)                                      Boolean          用於檢查收到的參數,其檢查碼是否正確,這用在歐付寶物的 ReturnURLPeriodReturnURL 參數上。
query_trade_info(merchant_trade_number, platform = nil)Hash/Cashier/QueryTradeInfo 的捷徑方法,將 TimeStamp 設定為當前時間
query_period_credit_card_trade_info(merchant_trade_number)Hash/Cashier/QueryPeriodCreditCardTradeInfo 的捷徑方法,將 TimeStamp 設定為當前時間
generate_checkout_paramsHash用於產生 /Cashier/AioCheckOut 表單需要的參數,MerchantTradeDateMerchantTradeNoPaymentType,可省略。

使用範例

git clone git@github.com:tonytonyjan/allpay.git
cd allpay
bundle install
ruby examples/server.rb