您在這裡

Drupal for Ubercart 的綠界科技金流模組開發 ..

我是綠界科技工程師, 的確近日有不少人來電洽詢綠界金流模組 For Ubercart 的, 所以老闆要著手開發 . 但我對 Drupal 實在不熟 , 不過總算是看著各位前輩的 PO 文,順利把網站給建起來, 也參考 Ubercart 內建的數個國外金流模組去修改, 不過碰上瓶頸, 不知有無前輩對 Ubercart 金流有較熟的人可以指點一二, 讓我可以順利快點完成模組開發 , 嘉惠廣大 Drupal 的社群

目前打算加入的有兩組綠界金流服務 1. ECPAY 國內收單銀行線上刷卡 2. ECBank 金流服務
1. ECPAY 有兩種服務方式 ,申請資格必需要是公司行號,資本額及收單量因不同收單銀行會有一些些小限制
一. 收取年服務費, 手續費由銀行跟商店議定
二.收取第一次設定費, 免年費, 有交易發生時除了銀行跟商店議定的手續費外 + 1% 交易手續費
官網網址在 http://ecpay.com.tw
測試商店代號 :3
登入帳號:eptest
登入密碼:eptest
有興趣自行撰寫的可以登入後自行看網站的 FAQ 取得串接規格

2. ECBank 提供 超商條碼代收,超商繳費代碼,銀行虛擬帳號, WebATM , PayPal (可接受台幣刷卡,個人可申請)等支付方式
這 ECBank 沒有申請資格限制, 可線上申請,免年費,免設定費, 根據不同的支付方式抽取不一的手續費,也有模擬觸發方式可以觸法繳款完程的流程.
申請網址在 http://www.ecbank.com.tw
無申請資格限制, 線上申請就可以使用,可虛擬觸發,所以串接測試也不會花到錢,串接規格也在裡面

以上是給想要自己寫金流模組的先進自行開發, 但小弟還是希望有前輩給些經驗 , 小弟的 MSN:martellwang@hotmail.com Skype:martellwang
以上,謝謝

以內建的 2checkout 的模組來修改時 . 在 224 行這樣寫
'x_receipt_link_url' => url('cart/2checkout/complete/'. uc_cart_get_id(), array('absolute' => TRUE)),

這應該就是交易成功之後的回傳交易狀態的轉向網址, 我看不懂的地方是 'cart/2checkout/complete/' , 照著改回傳會變成
Ubercart網址/cart/2checkout/complete/訂單編號 , 但看 Drupal 的目錄内, 根本就沒有 cart 的目錄, 這應該是類似 rewrite 搞的吧...
看到這邊我就有點傻眼, 寫不下去... 是否有前輩提示一下這回傳網址該怎麼處理 ?

ubercart/payment/uc_2checkout.module
13 行開始:

function uc_2checkout_menu() { //hook_menu
$items = array();

$items['cart/2checkout/complete'] = array(
'title' => 'Order complete',
'page callback' => 'uc_2checkout_complete',
'access callback' => 'uc_2checkout_completion_access',
'type' => MENU_CALLBACK,
'file' => 'uc_2checkout.pages.inc',
);

主要是這一段程式
定義了 cart/2checkout/complete 路徑
然後開啟路徑時要執行 uc_2checkout.pages.inc 內的 uc_2checkout_complete 函式

drupal 內的路徑都是透過 hook_menu 定義的虛擬路徑
建議去找 pro drupal development (2nd edition) 這本書
看一下 hook 和 menu 的章節
了解怎麼自定路徑並指定處理的函式

http://www.ecbank.com.tw/module/index.php 這一頁最下方有 Drupal + Ubercart 的模組可下載
這邊有作了一個簡單的版本,只能用線上信用卡刷卡, 您可以用有效的信用卡去測試,別擔心,不會扣您的信用卡款,或者使用 4311952222222222 這個測試專用的信用卡號,用測試卡號,卡片到期日只要是未來的月份便卡,末三碼也可以隨便打

在這個刷卡的模組有些資訊必需要您填寫
商店代號:3
驗證碼:94499380

請有興趣使用的人可以下載去試用看看,至於其他的付款方式正在加緊進行中,請稍後,主要是希望前輩給些建議
謝謝

已經加了 LICENSE.txt , 直接引用 GPL2 的方式 release . 有興趣可自行取用.

目前完成 ECPAY 線上刷卡/ECbank WebATM/ECbank PayPal
(PS:以上皆為線上即時付款作業,已經可以在 http://www.ecbank.com.tw/module 免費自由取得使用)

未完成 ECBank VACC(虛擬帳號)/ECbank CSV(超商代碼繳費)
(PS:以上非即時線上付款作業,付款人需離開電腦,到銀行 ATM 介面或到超商去列印付款單據)
未完成是因為這兩種付款方式是直接秀出一組"代碼" 秀在購買者的畫面便可,而號碼的取得可以透過背景方式處理,而我不知道要秀出的畫面該安插在那一隻程式上,且在秀出該顯示 "代碼"的畫面的同時,訂單狀態就處於 Pending 的情況, 且在綠界實際上接收到消費者至銀行或便利商店繳款後,綠界會將繳費成功的回應即時再傳給 Ubercart, 這用 API 背景去觸發訂單付款狀態的方式我還沒有找出來

以上還望先進指導一二 , 我對 Drupal 實在還很嫩,目前一邊寫還一邊如五里雲幕般 ...

要是能跟宅配通或宅急便等接在一起那就太讚了!!!

綠界還真是蠻不錯滴
前些天聯絡業務後告知會研究看看
這些天就搞定了
真的要給他們拍拍手!!!

其他金流公司
有一家說只要程式端設計成可以用post 方式 --接、送 參數就可以
其他的直接說沒有....或根本不回答
差很多.....

目前綠界金流模組 For ubercart 已經補足所有提供的金流方式, 有興趣請自行下載

http://www.ecbank.com.tw/module/

1.國內信用卡收單銀行線上刷卡:聯合信用卡中心/花旗銀行/中國信託
2.PayPal 多國貨幣收單,含台幣整合
3.虛擬帳號--銀行轉帳
4.WebATM
5.超商代碼繳費
6.超商條碼列印繳費

以上六種皆以完整上線

各位前輩好

目前正嘗試著將綠界提供的金流模組加進網站
從綠界網站下載模組後 #1 ~ #4 的金流方式測試都沒有問題
可是在啟用 #5 (超商代碼繳費) 及 #6 (超商條碼列印繳費) 時 遇到下面三個問題

A. 從網站建置模組列表那頁 勾選 #5 或 #6 按儲存設定以後 會得到一個空白的畫面 並停在空白頁面 不會被重新導回模組列表 得輸入URL admin/build/modules 才能回到模組列表 回到列表時 drupal 顯示模組已啟用 當關閉此模組時 (uncheck then save) 仍是同樣情況 停留在空白頁面 得用 URL 回到模組列表
B. 有使用 panel 的頁面 用 IE 及 google chrome 瀏覽時 (firefox, opera 沒有此問題) 頁面的部份 div 會移到別的位置 部份字體大小也變大
C. 換頁面的時候 速度變慢 偶爾會出現下面的錯誤

warning: Cannot modify header information - headers already sent by (output started at /home/content/b/a/g/test/html/dev/sites/all/modules/uc_ecbank_barcode/uc_ecbank_barcode.module:1) in /home/content/b/a/g/test/html/dev/includes/session.inc on line 99.
warning: session_regenerate_id() [function.session-regenerate-id]: Cannot regenerate session id - headers already sent in /home/content/b/a/g/test/html/dev/includes/session.inc on line 102.

不知道您有沒有相關的經驗可以提供 要怎麼樣改才能解決 非常感謝您的時間