請商店將網頁表單 POST 傳送至以下的介接網址,以建立信用卡訂單。消費者填寫信用卡資料送出後,會進入簡訊驗證階段 (OTP),輸入完畢後同時會將資訊送至銀行授權。

立即體驗「線上模擬自訂您的參數、建立信用卡訂單。

 小提醒 :若是初次串接歐付寶,可先參考「快速串接教學」。

本頁內容

流程簡圖

信用卡建立訂單-歐付寶串接教學 金流 電子發票

傳送參數建立訂單[收合]

介接網址:

  • 正式環境: https://payment.opay.tw/Cashier/AioCheckOut/V5

  • 測試環境: https://payment-stage.opay.tw/Cashier/AioCheckOut/V5


請商店將以下參數 POST 傳送至介接網址,以建立信用卡訂單:

必要參數

參數 說明
MerchantID
string (10)
商店代號 (必要)
註冊歐付寶會員時,歐付寶會提供一組商店代號。
MerchantTradeNo
string (20)
商店交易編號 (必要)
1.商店交易編號不可重複
2.可英數字大小寫混合。
3.如何避免訂單編號重複請參考FAQ
MerchantTradeDate
string (20)
商店交易時間 (必要)
日期時間格式:yyyy/MM/dd HH:mm:ss
TotalAmount
int
交易金額 (必要)
1.純數字,無千分位
2.僅限新台幣
3.金額不可為0元,CVS/BARCODE最低限制為30元
TradeDesc
string (200)
交易描述 (必要)
交易的簡易描述。
ItemName
string (200)
商品名稱 (必要)
如果商品名稱有多筆,需在金流選擇頁一行一行顯示商品名稱的話,商品名稱請以#號分隔。
ReturnURL
string (200)
付款完成通知回傳網址 (必要)
server端接收歐付寶回傳付款完成通知的網址。
ChoosePayment
string (20)
預設付款方式 (必要)
請固定填入"Credit"。  
PaymentType
string (20)
交易類型 (必要)
請固定填入"aio"。
※如果您使用 phpJavaC#Ruby on RailsNode.js 的金流整合 SDK 工具包,可略過此參數。
CheckMacValue
string (max)
檢查碼 (必要)
※如果您使用 phpJavaC#Ruby on RailsNode.js 的金流整合 SDK 工具包,可略過此參數。
※請參考 CheckMacValue 產生步驟

如果您需要進階的功能,傳送上述必要參數時,可一同傳送以下的選填參數:

選填參數[開啟]

參數 說明
StoreID
string (20)
會員商店代碼 (選填)
提供會員填入店家代碼使用
ClientBackURL
string (200)
Client端返回廠商網址 (選填)
消費者點選此按鈕後,會將頁面導回到此設定的網址
1. 導回時不會帶付款結果到此網址,只是將頁面導回而已。
2. 設定此參數,歐付寶會在付款完成或取號完成頁面上顯示[返回廠商]的按鈕。
3. 設定此參數,發生簡訊OTP驗證失敗時,頁面上會顯示[返回廠商]的按鈕。
4. 若未設定此參數,則歐付寶付款完成頁或取號完成頁面,不會顯示[返回廠商]的按鈕。
ItemURL
string (200)
商品銷售網址 (選填)
OrderResultURL
string (200)
Client端回傳付款結果網址 (選填)
此網址為付款完成後,將頁面導回到此設定的網址,並將付款結果帶回
1. 沒帶此參數則會顯示歐付寶的付款完成頁。
2. 如果要將付款結果頁顯示在貴公司,請設定此網址。
3. 部分銀行WebATM在交易成功後,會停留在銀行的頁面,並不會導回給歐付寶,所以歐付寶也不會將頁面導回到OrderResultURL的頁面。
4. 若設定此參數,將會使設定的ClientBackURL失效。
註: 建議在測試階段時先不要設定此參數,可將畫面停留在歐付寶,看見歐付寶所提供的錯誤訊息,便可以有效除錯喔!
NeedExtraPaidInfo
string (1)
是否需要額外的付款資訊 (選填)
若於付款完成通知及訂單查詢時,需接收「信用卡末4碼」、「分期期數」‧‧‧等資訊 請填入"Y"。
DeviceSource
string (10)
裝置來源 (選填)
此參數用來設定付款頁面的顯示,預設為空值,由 O'Pay 自動判定。
P:電腦版, M:行動裝置版
IgnorePayment
string (100)
隱藏付款方式 (選填)
當ChoosePayment為ALL時,可隱藏不需要的付款方式,多筆請以井號分隔(#)。
可用的參數值:WebATM#ATM#CVS#BARCODE#Tenpay#TopUpUsed
PlatformID
string (10)
特約合作平台商代號 (選填)
平台商與歐付寶簽約時,歐付寶會提供一組平台商代號。
一般商店不用帶此參數。
InvoiceMark
string (1)
電子發票開立註記 (選填)
此參數為付款完成後開立電子發票。請參考 InvoiceMark 參數為 Y 所需參數
若要開立發票,請將該參數設定為「Y」
HoldTradeAMT
int
是否延遲撥款(選填)
否-請帶0(預設值),是-請帶1。
0:買方付款完成後,歐付寶依合約約定之時間,撥款給廠商(此為預設值)。
1:買方付款完成後,需再呼叫「廠商申請撥款/退款」API,讓歐付寶撥款給廠商,或退款給買方。
倘若廠商一直不申請撥款,此筆訂單款項會一直放在歐付寶,直到廠商申請撥款。
註: 延遲撥款不適用「信用卡」之付款方式。
EncryptType
int
CheckMacValue 簽章類型(選填)
請固定帶 1,使用 SHA256 簽章。
UseRedeem
string (1)
是否可以使用購物金/紅包折抵(選填)
用來設定此筆交易是否可以使用購物金/紅包折抵。
參數設定:Y:可使用,N:不可使用(預設為N)
1:折抵方式可於「廠商後台/紅包折抵設定」功能新增您的折抵條件,若已開啟折抵設定,
需再配合此參數,來決定此筆交易是否可以使用購物金/紅包折抵。
2:配合折抵購物金/紅包廠商,歐付寶將協助進行免費曝光,折抵之金額,則由商家負擔。
3:若可使用購物金/紅包折抵時,需注意接收付款結果通知時,請以TradeAmt做訂單金額的檢查。
CreditInstallment
int
刷卡分期期數(選填)
會員選擇信用卡付款時,商家若願意提供分期,請帶可分期期數,如不提供分期,請帶 0。
註1: 當使用分期付款時,此參數必須要設定。
註2: 不可以與信用卡定期定額參數一起設定。
註3: 信用卡分期不接受 Visa 金融卡、萬事達卡 Debit 金融卡、與 JCB Debit 卡。
InstallmentAmount
int
使用刷卡分期的付款金額(選填)
如果使用刷卡分期的消費金額會大於不分期的消費金額時,請帶使用分期的消費金額。如不提供分期,請帶 0。
註1: 當使用分期付款時,此參數必須要設定。
註2: 不可以與信用卡定期定額參數一起設定。
Redeem
string (1)
信用卡是否使用紅利折抵(選填)
設為Y時,當歐付寶會員選擇信用卡付款時,會進入紅利折抵的交易流程。
UnionPay
int
是否為銀聯卡交易(選填)
否-請帶 0 (預設值),是-請帶 1。
當此參數帶 1 時,表示此筆交易為銀聯卡交易,歐付寶會直接將頁面導到銀聯網站付款,
,付款完成頁面將會停留在銀聯網站,不會轉導回歐付寶或您的商店
此付款方式為離線接收銀行交易通知,待銀待銀聯回覆歐付寶後,
才會回傳付款相關參數至您所設定的 ReturnURL。
註1: 不可以與信用卡定期定額參數一起設定。
註2: 測試環境未提供銀聯卡服務,若需使用銀聯卡服務,請與歐付寶提出申請方可使用。
Language
string (3)
語系設定(選填)
預設語系為中文,若要變更語系為英文時,該參數值請帶ENG

範例程式下載[收合]

使用 php SDK 範例程式:
https://github.com/o-pay/Payment_PHP



使用 Java SDK 範例程式:
https://github.com/o-pay/Payment_Java



使用 C# SDK 範例程式:
https://github.com/o-pay/Payment_Net



使用 Ruby on Rails SDK 範例程式:
https://github.com/o-pay/Payment_RoR/



使用 Node.js SDK 範例程式:
https://github.com/o-pay/Payment_Node.js/



其它程式語言,可 點此下載參考範例程式(php、C#),請參考前述建立訂單的參數,串接歐付寶的 API




付款圖例[收合]

付款流程示例:

信用卡付款流程

1. 將建立信用卡訂單的參數 POST 傳送至介接網址後,在付款頁面,消費者須登入歐付寶會員。
信用卡付款流程(1)-歐付寶串接教學 金流 電子發票
2. 訂單成立,消費者填寫信用卡資料。
信用卡付款流程(2)-歐付寶串接教學 金流 電子發票
3. 消費者付款完成畫面。
信用卡付款流程(3)-歐付寶串接教學 金流 電子發票

線上模擬[收合]


可於下方自訂您的訂單參數,點擊    按鈕,開始建立訂單:

 小提醒 :測試用的信用卡卡號資訊,請參考「取得串接資訊」。

自訂您的參數

參數
















網頁原始碼 點此複製,以建立訂單

<form id="formCreditCard" method="post" accept-charset="UTF-8"
 action="https://payment-stage.opay.tw/Cashier/AioCheckOut/V5">

MerchantID 商店代號: <input type="text" name="MerchantID" value="" /><br />
MerchantTradeNo 商店交易編號: <input type="text" name="MerchantTradeNo" value="" /><br />
MerchantTradeDate 商店交易時間: <input type="text" name="MerchantTradeDate" value="" /><br />
PaymentType 交易類型: <input type="text" name="PaymentType" value="" /><br />
TotalAmount 交易金額: <input type="text" name="TotalAmount" value="" /><br />
TradeDesc 交易描述: <input type="text" name="TradeDesc" value="" /><br />
ItemName 商品名稱: <input type="text" name="ItemName" value="" /><br />
ReturnURL 付款完成通知回傳網址: <input type="text" name="ReturnURL" value="" /><br />
ChoosePayment 預設付款方式: <input type="text" name="ChoosePayment" value="" /><br />
會員商店代碼: <input type="text" name="StoreID" value="" /><br />
ClientBackURL Client端返回廠商網址: <input type="text" name="ClientBackURL" value="" /><br />
CreditInstallment 刷卡分期期數: <input type="text" name="CreditInstallment" value="" /><br />
InstallmentAmount 使用刷卡分期的付款金額: <input type="text" name="InstallmentAmount" value="" /><br />
Redeem 信用卡是否使用紅利折抵: <input type="text" name="Redeem" value="" /><br />
CheckMacValue 簽章類型: <input type="text" name="EncryptType" value="" /><br />
CheckMacValue 檢查碼: <input type="text" name="CheckMacValue" value="" /><br />
<input type="submit" value="送出訂單" /> </form>

CheckMacValue 產生步驟[收合]


如果您使用 phpJavaC# 的金流整合 SDK 工具包,可略過此步驟。

CheckMacValue(檢查碼)用來確保訂單的資訊安全,您的 HashKey 與 HashIV 金鑰請參考「取得串接資訊」。

 請小心 :為避免網頁前端洩漏您的 HashKey、HashIV 金鑰,請於伺服器端產生 CheckMacValue。

 先依參數名稱字順(由 A 至 Z)排序各組參數,用「參數名稱參數值」形式,以 & 符號相連:
 最前面加上您的 HashKey、最後面加上您的 HashIV
 以 UTF-8 的編碼 UrlEncode
 轉為小寫
 由於 UrlEncode 的結果可能不同,請依照 UrlEncode對照表 取代 UrlEncode 的結果,以和歐付寶(IIS+.NET) UrlEncode 的結果一致:
php 為例:php urlencode 函式會將「!」轉為「%21」,這和歐付寶(IIS+.NET) UrlEncode 的結果不同,為了 UrlEncode 的結果一致,請依照 UrlEncode對照表,使用 str_replace 函式將結果「%21」取代為「!」,php 程式如下:


$sMacValue = str_replace('%2d', '-', $sMacValue);
$sMacValue = str_replace('%5f', '_', $sMacValue);
$sMacValue = str_replace('%2e', '.', $sMacValue);
$sMacValue = str_replace('%21', '!', $sMacValue);
$sMacValue = str_replace('%2a', '*', $sMacValue);
$sMacValue = str_replace('%28', '(', $sMacValue);
$sMacValue = str_replace('%29', ')', $sMacValue);
                

UrlEncode 對照表[開啟]

符號歐付寶(IIS+.NET) UrlEncode
--
__
..
!!
~%7e
**
((
))
space 空格+
@40%
#23%
$24%
%25%
^%5e
&26%
=%3d
+%2b
;%3b
?%3f
/%2f
\%5c
>%3e
<%3c
%25%
`60%
[%5b
]%5d
{%7b
}%7d
:%3a
'27%
"22%
,%2c
|%7c
 轉為 SHA256 雜湊,並轉為大寫,即成功產生 CheckMacValue

 下一頁: 歐付寶回傳付款結果


GO TOP