模擬串接服務 - 直接交易-MYPAY電子錢包交易

經銷商『直接交易-MYPAY電子錢包交易』請求欄位
Id Name Description Type Additional Information
1 agent_uid 經銷商商務代號
string 必填
2 service 服務名稱
string 必填
{ "service_name": "api", "cmd": "api\/transaction" }
JSON格式,AES256加密資料
3 encry_data 『直接交易-MYPAY電子錢包交易』欄位資料 string 必填
『直接交易-MYPAY電子錢包交易』欄位參考
JSON格式,AES256加密資料
特約商店『直接交易-MYPAY電子錢包交易』請求欄位
Id Name Description Type Additional Information
1 store_uid 特約商店商務代號
string 必填
2 service 服務名稱
string 必填
{ "service_name": "api", "cmd": "api\/transaction" }
JSON格式,AES256加密資料
3 encry_data 『直接交易-MYPAY電子錢包交易』欄位資料 string 必填
『直接交易-MYPAY電子錢包交易』欄位參考
JSON格式,AES256加密資料
直接交易-MYPAY電子錢包交易』欄位
Id Name Description Type Additional Information
1 store_uid 特約商店代碼 string 必填
2 cost 訂單總金額 string 必填
3 currency 預設交易幣別(預設為TWD新台幣) string
4 order_id 訂單編號 string 必填
5 items 訂單內物品數 array 每筆『商品項目』欄位參考
6 echo_0 自訂回傳參數 1 string
7 echo_1 自訂回傳參數 2 string
8 echo_2 自訂回傳參數 3 string
9 echo_3 自訂回傳參數 4 string
10 echo_4 自訂回傳參數 5 string
11 pfn 付費方法 (EWALLET) string
12 discount 折價金額 (預設0) string
13 shipping_fee 運費 string
14 user_id 消費者帳號 string 必填
15 user_name 消費者姓名 string
16 user_real_name 消費者真實姓名 string
17 user_english_name 消費者英文名稱 string
18 user_zipcode 消費者郵遞區號 string
19 user_address 消費者地址 string
20 user_sn_type 證號類型 string 『證號類型』值參考
21 user_sn 付款人身分證/統一證號/護照號碼 string
22 user_phone 消費者家用電話 string
23 user_cellphone_code 消費者行動電話國碼 string
24 user_cellphone 消費者行動電話 string
25 user_email 消費者 E-Mail string
26 user_birthday 消費者生日 string
27 ip 消費者來源 IP string 必填
28 issue_invoice_state 開立發票 integer 『電子發票是否開立狀態』值參考
29 invoice_ratetype 電子發票稅率別 integer 『電子發票稅率別』值參考
30 invoice_input_type 電子發票開立類型 integer 『電子發票開立類型』值參考
31 invoice_cloud_type 「雲端發票」類型 integer 當invoice_input_type為1,此狀態才有效
『雲端發票類型』值參考
32 invoice_tax_id 統一編號 string 當invoice_input_type為1,此欄位才有效,非必要
33 invoice_mobile_code 手機條碼 string 當invoice_cloud_type為2,此欄位才有效
34 invoice_natural_person 自然人憑證條碼 string 當invoice_cloud_type為3,此欄位才有效
35 invoice_m_post_zone EMail 紙本寄送郵遞區號 string 當invoice_cloud_type為4,此欄位才有效,非必須
36 invoice_m_address EMail 紙本寄送住址 string 當invoice_cloud_type為4,此欄位才有效,非必須
37 invoice_love_code 愛心碼 string 當invoice_input_type為2,此欄位才有效
38 invoice_b2b_title 發票抬頭 string 當invoice_input_type為3時,此欄位才有效
39 invoice_b2b_id 統一編號 string 當invoice_input_type為3時,此欄位才有效
40 invoice_b2b_post_zone 發票郵遞區號 string 當invoice_input_type為3時,此欄位才有效,非必須
41 invoice_b2b_address 發票地址 string 當invoice_input_type為3時,此欄位才有效
42 agent_sms_fee_type 經銷商代收費是否含簡訊費 (0.不含 1.含) integer 『含不含簡訊費』值參考
43 agent_charge_fee_type 經銷商代收費是否含手續費 (0.不含 1.含) integer 『含不含手續費類型』值參考
44 agent_charge_fee 經銷商代收費 string
45 is_agent_charge 是否為經銷商代收費模式
若 is_agent_charge 有指定,以指定優先
若欄位agent_charge_fee有費用,或經銷商代收費是含簡訊費、或經銷商代收費含手續費,則預設為1
若欄位agent_charge_fee無費用,且經銷商代收費不含簡訊費、或經銷商代收費不含手續費或參欄位都未使用則預設為0
integer 『是否為經銷商代收費模式』值參考
46 data_json MYPAY電子錢包格式(JSON格式) string 『MYPAY電子錢包資料』值參考
直接交易-MYPAY電子錢包交易』回傳欄位
Id Name Description Type Additional Information
1 code 交易狀態代碼 string
2 msg 回傳訊息 string
3 uid Payment Hub之交易流水號 string
4 key 交易驗証碼 string
5 finishtime 交易完成時間(YYYYMMDDHHmmss) string
6 cardno 銀行端口回傳碼 string
7 acode 授權碼 string
8 card_type 信用卡卡別 integer 『信用卡別類型』值參考
9 issuing_bank 發卡行 string
10 issuing_bank_uid 發卡銀行代碼 string
11 transaction_mode 交易服務類型 integer 『交易服務類型』值參考
12 supplier_name 交易之金融服務商 string
13 supplier_code 交易之金融服務商代碼 string
14 order_id 貴特店系統的訂單編號 string
15 user_id 消費者帳號 string
16 cost 總交易金額 string
17 currency 原交易幣別 string
18 actual_cost 實際交易金額 string
19 actual_currency 實際交易幣別 string
20 pfn 付費方法 string 『回傳付款方式』值參考
21 trans_type 交易類型 integer 『交易類型定義』值參考
22 result_type 回傳結果資料類型 string 『閘道內容回傳格式類型』值參考
23 result_content_type 回傳資料內容類型 string 『資料內容所屬支付名稱』值參考
24 result_content 回傳結果 string 『台灣Pay線下交易回傳欄位』值參考
『全支付線下交易回傳欄位』值參考
25 echo_0 自訂回傳參數 1 string
26 echo_1 自訂回傳參數 2 string
27 echo_2 自訂回傳參數 3 string
28 echo_3 自訂回傳參數 4 string
29 echo_4 自訂回傳參數 5 string
30 invoice_state 發票開立狀態 integer 『電子發票開立狀態類型』值參考
31 invoice_state_msg 發票開立狀態訊息 string
32 invoice_date 發票開立日期(YYYYMMDDHHmmss) string
33 invoice_wordtrack 發票字軌 string
34 invoice_number 發票號碼 string
35 invoice_rand_code 電子發票隨機碼 string
36 invoice_seller_ban 賣方統一編號 string
37 invoice_buyer_ban 買方統一編號 string
38 invoice_left_qrcode 電子發票左邊QrCode內容 string
39 invoice_middle_barcode 電子發票中間Barcode內容(格式Code-39) string
40 invoice_right_qrcode 電子發票右邊QrCode內容 string
41 invoice_title_type 電子發票列印標題格式 integer 『電子發票紙本列印標題類型』值參考
42 invoice_title 電子發票列印標題格式 string
43 invoice_print_type 電子發票列印類型 integer 『電子發票列印類型』值參考
44 invoice_print_device 電子發票列印設備 integer 『電子發票列印設備』值參考
45 invoice_amount 電子發票銷售總額 string
46 invoice_sales_amount 電子發票銷售額 string
47 invoice_tax_amount 電子發票稅額 string
48 invoice_order_detail 電子發票全部產品明細(JSON格式) string 『商品細項』值參考
49 invoice_ratetype 電子發票稅率別 integer 『電子發票稅率別』值參考
50 invoice_input_type 電子發票開立類型 integer 『電子發票開立類型』值參考
51 invoice_cloud_type 電子發票開立類型-雲端發票類型 integer 『雲端發票類型』值參考
52 invoice_mobile_code 當invoice_cloud_type為2時紀錄的手機條碼 string
53 invoice_tax_id 當invoice_cloud_type為2時紀錄的統一編號 string
54 invoice_natural_person 當invoice_cloud_type為3時紀錄的自然人憑證條碼 string
55 invoice_m_post_zone 當invoice_cloud_type為4時紀錄中獎時紙本發票郵遞區號 string
56 invoice_m_address 當invoice_cloud_type為4時紀錄中獎時紙本發票收件住址 string
57 invoice_love_code 當invoice_input_type為2時紀錄的愛心碼 string
58 invoice_b2b_title 當invoice_input_type為3時紀錄的發票抬頭 string
59 invoice_b2b_id 當invoice_input_type為3時紀錄的統一編號 string
60 invoice_b2b_post_zone 當invoice_input_type為3時紀錄的郵遞區號 string
61 invoice_b2b_address 當invoice_input_type為3時紀錄的發票地址 string
商品項目』欄位
Id Name Description Type Additional Information
1 id 商品編號 string 必填
2 name 商品名稱 string 必填
3 cost 商品單價 integer 必填
4 amount 商品數量 integer 必填
5 total 商品小計 integer 必填
證號類型』 值內容
Value Description Type Additional Information
1 身份證字號(預設) integer
2 統一證號 integer
3 護照號碼 integer
電子發票是否開立狀態』 值內容
Value Description Type Additional Information
0 不開立電子發票 integer
1 開立電子發票 integer
2 依系統設定(預設) integer
電子發票稅率別』 值內容
Value Description Type Additional Information
1 應稅(預設) integer
2 零稅率 integer
3 免稅 integer
電子發票開立類型』 值內容
Value Description Type Additional Information
0 未使用電子發票開立 integer
1 雲端發票 integer
2 發票捐贈 integer
3 實體發票 integer
雲端發票類型』 值內容
Value Description Type Additional Information
0 未使用雲端發票類型 integer
2 手機條碼 integer
3 自然人憑證條碼 integer
4 以E-Mail寄送 integer
含不含簡訊費』 值內容
Value Description Type Additional Information
1 含手續費 integer
0 不含手續費(預設) integer
含不含手續費類型』 值內容
Value Description Type Additional Information
1 含手續費 integer
0 不含手續費(預設) integer
是否為經銷商代收費模式』 值內容
Value Description Type Additional Information
1 是經銷商代收費模式 integer
0 不是經銷商代收費模式 integer
MYPAY電子錢包資料』欄位
Id Name Description Type Additional Information
1 virtualPan 虛擬卡號 string 必填
2 userId 電子錢包綁定帳號 string 必填
3 bizId 電子錢包綁定商務代號 string 必填
信用卡別類型』 值內容
Value Description Type Additional Information
0 無法辨識或支付方式為非信用卡類 string
1 VISA string
2 MasterCard string
3 JCB string
4 AMEX string
交易服務類型』 值內容
Value Description Type Additional Information
0 尚未進行閘道交易 integer
1 代收代付 integer
2 特店模式 integer
回傳付款方式』 值內容
Value Description Type Additional Information
CREDITCARD 信用卡 string
CSTORECODE 超商代碼 string
WEBATM WEBATM string
E_COLLECTION 虛擬帳號 string
ABROAD 海外信用卡 string
ALIPAY 支付寶 string
WECHAT 微信支付 string
LINEPAYON LINE Pay線上付款 string
LINEPAYOFF LINE Pay線下付款 string
WECHATOFF 微信支付線下 string
APPLEPAY APPLE PAY string
GOOGLEPAY Google Pay string
CARDLESS 無卡分期 string
PION Pi 拍錢包線上 string
PIOFF Pi 拍錢包線下 string
AMEX 美國運通 string
JKOON 街口支付線上 string
JKOOFF 街口支付線下 string
ALIPAYOFF 支付寶線下 string
EASYWALLETON 悠遊付線上 string
EASYWALLETOFF 悠遊付線下 string
TWPAYOFF 台灣Pay線下 string
PXPAYOFF 全支付線下 string
AFP 後付款 string
EACH eACH交易 string
BARCODE 超商繳費代碼 string
EASYCARD 悠遊卡 string
IPASS 一卡通 string
ICASH iCash string
交易類型定義』 值內容
Value Description Type Additional Information
1 一般 (預設) integer
2 分期 integer
3 紅利 integer
閘道內容回傳格式類型』 值內容
Value Description Type Additional Information
0 無法辨識 integer
1 網址 integer
2 超連結本文 integer
3 xml integer
4 json integer
5 csv integer
6 串流 integer
資料內容所屬支付名稱』 值內容
Value Description Type Additional Information
E_COLLECTION 虛擬帳號 string
IBON iBON string
FAMIPORT FamiPort string
LIFEET LIFE-ET string
WEBATM WEBATM string
CREDITCARD 信用卡 string
UNIONPAY 銀聯卡 string
SVC 點數卡(GASH ,Imoney) string
ABROAD 海外信用卡 string
ALIPAY 支付寶 string
WECHAT 微信支付 string
LINEPAYON LINE Pay線上付款 string
LINEPAYOFF LINE Pay線下付款 string
WECHATOFF 微信支付線下 string
APPLEPAY APPLE PAY string
GOOGLEPAY Google Pay string
EACH eACH交易 string
CARDLESS 無卡分期 string
PION Pi 拍錢包線上 string
PIOFF Pi 拍錢包線下 string
AMEX 美國運通 string
JKOON 街口支付線上 string
JKOOFF 街口支付線下 string
ALIPAYOFF 支付寶線下 string
EASYWALLETON 悠遊付線上 string
EASYWALLETOFF 悠遊付線下 string
TWPAYOFF 台灣Pay線下 string
PXPAYOFF 全支付線下 string
AFP 後付款 string
BARCODE 超商條碼繳費 string
台灣Pay線下交易回傳欄位』欄位
Id Name Description Type Additional Information
1 TraceNumber 金流服務商編號 string
2 OrderId 交易流水號 string
3 OrderTotalCost 交易金額 string
4 TradeDate 金流服務商交易時間,格式YYYYMMDDHHmmss string
5 InvoiceVehicle 發票載具
(消費者綁定台灣Pay時設定之發票載具)
string
全支付線下交易回傳欄位』欄位
Id Name Description Type Additional Information
1 PosID POS 機號或設備機號 string
2 PosTradeTime POS 端交易日期時間,格式:YYYYMMDDHHmmss string
3 Remark 交易註記說明文字 string
4 TradeNo 金流服務商訂單編號 string
5 OrderTotalCost 交易金額 string
6 TradeDate 金流服務商交易時間,格式YYYYMMDDHHmmss string
7 DebitAmount 付款方式扣款金額(折抵後金額) string
8 InvoiceVehicle 發票載具
(消費者綁定全支付時設定之發票載具)
string
9 MerMemToken 第三方合作廠商會員識別資訊 string
10 Pan 遮碼卡號 string
11 IsControversy 是否為爭議款 0.不是 1.是 string
電子發票開立狀態類型』 值內容
Value Description Type Additional Information
0 不處理或已無效(預設) integer
1 等候處理中 integer
2 發票開立成功 integer
3 發票開立失敗(系統或特約商店發票相關設定不正確) integer
4 作癈 integer
5 發票開立失敗(系統發生錯誤) integer
6 折讓 integer
電子發票紙本列印標題類型』 值內容
Value Description Type Additional Information
1 文字 integer
2 圖形(圖片網址) integer
電子發票列印類型』 值內容
Value Description Type Additional Information
0 不列印 自行處置 integer
1 列印 電子發票 + 商品明細 integer
2 只印電子發票 integer
3 只印商品明細 integer
電子發票列印設備』 值內容
Value Description Type Additional Information
0 自行處理 integer
1 SUNMI V2 PRO integer
商品細項』欄位
Id Name Description Type Additional Information
1 Description 商品名稱 string 必填
2 Quantity 數量 string 必填
3 UnitPrice 單價 string 必填
4 Amount 總金額 string 必填
AES256資料加密方式說明

1、所有的API送出HTTPs請求之欄位中,service 和 encry_data 欄位皆進行 AES256+BASE64 加密處理。
2、AES加密,格式為CBC,長度為256bits,金鑰長度32,IV長度16,傳遞內文為加密後組合IV並經過Base64轉換後傳出。

方式:
使用自訂的AES256函式將JSON資料加密後,再將IV資料和此AES256加密後的JSON資料串聯後,使用base64再進行加密成ASCII字串即可完成加密。

    PHP加密示意:
    AesEncrypt -> base64_ecode($IV . $JSON)

    C#加密示意:
    AesEncrypt -> (bytes)IV+(bytes)Json -> toBase64

    Java加密示意:
    AesEncrypt -> (bytes)IV+(bytes)Json -> toBase64

    Node.js加密示意:
    AesEncrypt -> concat([IV,JSON], [IV_SIZE,JSON_SIZE]) -> toString('base64')
    Python加密示意:
    AesEncrypt -> (bytes)IV+(bytes)Json -> base64.b64encode

範例程式碼