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

經銷商『MYPAY電子錢包綁定』請求欄位
Id Name Description Type Additional Information
1 agent_uid 經銷商商務代號
string 必填
2 service 服務名稱
string 必填
{ "service_name": "agent", "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": "agent", "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_email 消費者 E-Mail string
4 ip 消費者來源 IP string 必填
5 success_returl 綁定成功導頁網址 string
6 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
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

範例程式碼