模擬串接服務 - MYPAY電子錢包綁定

經銷商『MYPAY電子錢包綁定』請求欄位
Id Name Description Type Additional Information
1 agent_uid 經銷商商務代號
string 必填
2 service 服務名稱
string 必填
{ "service_name": "api", "cmd": "api\/ewalletbind" }
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\/ewalletbind" }
JSON格式,AES256加密資料
3 encry_data 『MYPAY電子錢包綁定』欄位資料 string 必填
『MYPAY電子錢包綁定』欄位參考
JSON格式,AES256加密資料
MYPAY電子錢包綁定』欄位
Id Name Description Type Additional Information
1 store_uid 特約商店代碼 string 必填
2 user_id 消費者帳號 string 必填
3 user_name 消費者姓名 string
4 user_real_name 消費者真實姓名 string
5 user_english_name 消費者英文姓名 string
6 user_zipcode 消費者郵遞區號 string
7 user_address 消費者帳單地址 string
8 user_sn_type 證號類型 string 『證號類型』值參考
9 user_sn 付款人身分證/統一證號/護照號碼 string
10 user_phone 消費者家用電話 string
11 user_cellphone_code 消費者行動電話國碼 string
12 user_cellphone 消費者行動電話 string
13 user_email 消費者 E-Mail string
14 user_birthday 消費者生日 string
15 ip 消費者來源 IP string 必填
16 pfn 綁定支付方式 string 『付款方式』值參考
17 success_returl 綁定成功導頁網址 string
18 failure_returl 綁定失敗導頁網址 string
MYPAY電子錢包綁定』回傳欄位
Id Name Description Type Additional Information
1 code 交易回傳碼 string 『電子錢包執行狀態碼』值參考
2 msg 回傳訊息 string
3 url 交易網址 string
接收回報方式說明

接收到資料時,請主動回傳字串【8888】四個字元,確認完成。若貴司沒有回傳,系統會間隔十五分鐘傳送一次持續四次,若仍未接受到貴司回傳確認字串,系統即會停止傳送。

回報使用 HTTP Protocol的Post方式,內容格式為 application/x-www-form-urlencoded。

電子錢包虛擬卡號回傳資訊』回報欄位
Id Name Description Type Additional Information
1 pfn 支付類型 string
2 cardno 綁定卡號 (僅顯示前六後四) string
3 user_id 消費者帳號 string
4 cellphone_code 用以取消綁定之手機國碼 string
5 cellphone 用以取消綁定之手機號碼 string
6 virtual_pan 虛擬卡號 string
7 enable 是否啟用 0.關閉 1.啟用 string
證號類型』 值內容
Value Description Type Additional Information
1 身份證字號(預設) integer
2 統一證號 integer
3 護照號碼 integer
付款方式』 值內容
Value Description Type Additional Information
CREDITCARD 信用卡 string
ABROAD 海外信用卡 string
電子錢包執行狀態碼』 值內容
Value Description Type Additional Information
100 資料不正確 string
400 系統錯誤 string
B200 執行成功 string
B500 執行失敗 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

範例程式碼