下單
創建預下單交易,通過返回的信息進行支付。
相關信息
{domain}/Servlet/JSAPIService.do
https:/VMP/Servlet/JSAPIService.do
名稱 | 類型 | 描述 | 要求 |
---|---|---|---|
service | String | 接口名稱,詳見 支援的service | |
user_confirm_key | String(12) | 用戶Key,由 eftPay 提供 | |
transaction_amount | String(8) | 金額。要求數字,小數位最大長度為2 PAYME測試金額參數說明 | |
out_trade_no | String(28) | 商戶訂單號 | |
payType | String(6) | 支付類型,詳見 支援的payType | |
buyerType | String(7) | 設備類型ios ,android ,others | |
subject | String(256) | 交易信息 | |
wallet | String(20) | 錢包類型,詳見 支援的wallet | |
body | String(128) | 在需要描述各種商品的情況下,建議積累描述商品的字符串 | |
pay_scene | String | 支付場景,默認請傳 WEB ,其他詳見 支援的pay_scene | |
fee_type | String(5) | 貨幣類型,HKD ,CNY 默認: HKD | |
tid | String(20) | 商戶終端號 | |
notify_url | String(240) | 通知地址,投產環境只支援 80 和 443 端口,其他端口需要申請 | |
return_url | String(240) | 支付完成後的返回地址。不能攜帶參數,投產環境只支援 80 和 443 端口,其他端口需要申請。servie 為 支付寶/微信線上二維碼接口不用傳 | |
active_time | String | 有效時間,單位秒。默認30分鐘,即1800 | |
lang | String | 語言,固定值:cn ,en ,hk ,詳見 支援lang的service | |
customerInfo | Object | 客戶信息,支付類型為ATOME 時有效,詳見 ATOME參數說明 | |
shippingAddress | Object | 送貨地址,支付類型為ATOME 時有效,詳見 ATOME參數說明 | |
billingAddress | Object | 賬單地址,支付類型為ATOME 時有效,詳見 ATOME參數說明 | |
items | Object[] | 有關訂單項的詳細信息,支付類型為ATOME 時有效,詳見 ATOME參數說明 | |
scheme | String | APP 應用 scheme,APP使用 webview 嵌套方式進行支付時有用。支付類型為UnionPay /PAYME 時有效 | |
packageName | String | APP 應用包名,APP使用 webview 嵌套方式進行支付時有用。支付類型為UnionPay 時有效 | |
time | String | 時間,格式:yyyyMMddHHmmss | |
sign | String(64) | 簽名 |
查看支援的 service 以及其對應的 payType 和 wallet
以下是 service、payType 和 wallet 三者之間的對應關係
service | payType | wallet | 描述 |
---|---|---|---|
service.alipay.web.PreOrder | Alipay | ALIPAYCN ALIPAYHK | 支付寶 web 接口 |
service.alipay.wap.PreOrder | Alipay | ALIPAYCN ALIPAYHK | 支付寶 wap 接口 |
service.alipay.web.QRCode | Alipay | ALIPAYCN ALIPAYHK | 支付寶線上二維碼接口 |
service.wechat.web.PreOrder | WeChat | WECHATCN WECHATHK | 微信 web 接口 |
service.wechat.web.MobileH5 | WeChat | WECHATCN WECHATHK | 非微信內手機瀏覽器 H5 接口 |
service.wechat.oauth2.Authorize | WeChat | WECHATCN WECHATHK | 微信內公眾號 H5 接口 |
service.wechat.web.QRCode | WeChat | WECHATCN WECHATHK | 微信線上二維碼接口 |
service.icbc.wap.PreOrder | ICBC | ICBCWAP | ICBC wap 接口 |
service.atome.v2.wap.PreOrder | ATOME | ATOME | ATOME 線上接口 |
service.unionpay.online.web.PreOrder | UnionPay | UNIONPAY | 銀聯線上收銀接口 |
service.oct.online.PreOrder | OCT | OCT | 八達通線上支付接口 |
service.fdms.web.PreOrder | Fdms | FDMS | FDMS 的 VISA ,Master 支付 |
service.mpgs.web.PreOrder | Mpgs | MPGS | MPGS 的 VISA ,Master 支付 |
service.ae.web.PreOrder | AE | AE | AE 支付 |
service.nuvei.web.PreOrder | NUVEI | NUVEI | NUVEI 的 VISA ,Master 支付 |
service.jetco.wap.PreOrder | Jetco | JETCOHK | 銀通 wap 接口 |
service.payme.web.PreOrder | PAYME | PAYME | PayMe web 支付接口 |
service.fps.web.PreOrder | FPS | FPS | FPS web 支付接口 |
service.bocvmp.unionpay.web.PreOrder | BOCVMP | BOCVMPUPW | BOC web 支付接口 |
提示
- 支付寶線上二維碼接口返回一個二維碼地址,可以內嵌到商戶頁面。該接口無須傳入
return_url
參數 - 微信線上二維碼接口返回一個二維碼文本,可以先生成二維碼再顯示到商戶頁面。該接口無須傳入
return_url
參數 - FPS 暫不支援退款接口
- NUVEI 無法控制
active_time
參數,透過配置默認600。
查看支援的 service 以及其對應的 pay_scene
預設請傳 WEB
。使用以下接口時,需要注意對應的支付場景
service | pay_scene |
---|---|
service.wechat.oauth2.Authorize | WXWEB |
service.alipay.wap.PreOrder | WAP |
service.jetco.wap.PreOrder | WAP |
service.unionpay.online.web.PreOrder | ONLINE_WEB |
service.payme.web.PreOrder | WEB /APP |
提示
- 當 pay_scene=
WEB
,PayMe web支付接口返回一個二維碼支付頁面鏈接,用於PC端。 - 當 pay_scene=
APP
,PayMe web支付接口返回一個PayMe APP調起鏈接,用於移動端。
查看支援 lang 的 service
cn 為中文簡體,hk 為 中文繁體,en 為英文
service | lang |
---|---|
service.alipay.web.PreOrder | cn ,en ,hk |
service.wechat.web.PreOrder | cn ,en ,hk |
service.oct.online.PreOrder | cn ,en ,hk |
service.mpgs.web.PreOrder | cn ,en ,hk |
service.ae.web.PreOrder | cn ,en ,hk |
service.jetco.wap.PreOrder | cn ,en ,hk |
service.fps.web.PreOrder | cn ,en ,hk |
transaction_amount
PAYME UAT 場可以通過 transaction_amount 的兩位小數位來控制交易的狀態
小數位 | 描述 | 範例 |
---|---|---|
81 | 將創建一個 [成功] 的交易 | transaction_amount=0.81 |
80 | 將創建一個 [超時] 的交易 | transaction_amount=0.80 |
77 | 將創建一個 [失敗] 的交易 | transaction_amount=0.77 |
44 | 將創建一個 [服務器錯誤-沒有支付二維碼] 的交易 | transaction_amount=0.44 |
45 | 將創建一個 [服務器錯誤-無狀態]的交易 | transaction_amount=0.45 |
customerInfo
名稱 | 類型 | 描述 | 要求 |
---|---|---|---|
mobileNumber | String | 客戶的手機號碼,格式為 E.164。例如中國電話的國際寫法(手機和座機)+8610123456。+861xxxxxxxxxx | |
fullName | String | 客戶的全名 |
例子
"customerInfo": {
"mobileNumber": "+8613344445555",
"fullName": "Atome Developer"
}
shippingAddress
名稱 | 類型 | 描述 | 要求 |
---|---|---|---|
countryCode | String | 送貨地址,使用 ISO-3611 格式的兩位數字國家/地區代碼。例如 "SG" "HK" "MY" "ID" "TH" "TW" "VN" "PH" | |
lines | Array | 送貨地址,地址線。例如 ["中國", "香港","九龍",...] | |
postCode | String | 送貨地址,郵政編碼 |
例子
"shippingAddress": {
"countryCode": "HK",
"lines": ["中國", "香港"],
"postCode": "999077"
}
billingAddress
名稱 | 類型 | 描述 | 要求 |
---|---|---|---|
countryCode | String | 送貨地址,使用 ISO-3611 格式的兩位數字國家/地區代碼。例如 "SG" "HK" "MY" "ID" "TH" "TW" "VN" "PH" | |
lines | Array | 送貨地址,地址線。例如 ["中國", "香港","九龍",...] | |
postCode | String | 送貨地址,郵政編碼 |
例子
"shippingAddress": {
"countryCode": "HK",
"lines": ["中國", "香港"],
"postCode": "999077"
}
items
名稱 | 類型 | 描述 | 要求 |
---|---|---|---|
temId | String | 此產品 / SKU 的 ID | |
name | String | 項目名稱 | |
quantity | Int | 項目數量 | |
price | Int | 商品的售價,單位分 |
例子
"items": [{
"itemId": "P100",
"name": "iPhone 12 pro max",
"price": 11020,
"quantity": 1
}, {
"itemId": "P101",
"name": "iPhone SE case",
"price": 1000,
"quantity": 1
}]
名稱 | 類型 | 描述 | 要求 |
---|---|---|---|
return_status | String(3) | 返回狀態碼,代表。注:此參數不可作為交易狀態是否成功的判斷 其他狀態碼見 附錄3 | |
return_char | String(100) | 返回說明,可能會變化,不能作條件判斷 | |
time | String | 時間,格式:yyyyMMddHHmmss return_status >= 00 時返回 | |
sign | String(64) | 簽名return_status >= 00 時返回 |
名稱 | 類型 | 描述 | 要求 |
---|---|---|---|
pay_apptrade | String | 交易發起信息,返回一個鏈接用於直接訪問,調起相應的支付收銀台或跳轉到相應的支付頁面(微信WEB只支援訪問支付頁面) | |
user_confirm_key | String | 用戶Key,由 eftPay 提供 | |
out_trade_no | String(28) | 商戶訂單號 | |
payType | String(6) | 支付類型 | |
buyerType | String(7) | 設備類型 | |
wallet | String(20) | 錢包類型 | |
eft_trade_no | String(28) | 依付得訂單號 | |
fee_type | String(5) | 貨幣 | |
transaction_amount | String(8) | 交易金額 | |
tid | String(20) | 終端號,當消費請求有送的時候返回 |
{
"service": "service.wechat.web.PreOrder",
"user_confirm_key": "S0003469",
"payType": "WeChat",
"wallet": "WECHATCN",
"pay_scene": "WEB",
"transaction_amount": "0.53",
"out_trade_no": "rrn_1686280005998",
"subject": "test",
"body": "test",
"time": "20230609110645",
"sign": "9878e9445e4e138e5fed29f36eea229767d6263678ea4aa5e48d1b53aacbcff8",
"tid": "",
"buyerType": "others",
"fee_type": "HKD",
"notify_url": "https://www.merchant.com/notify/receive",
"return_url": "https://www.merchant.com/return/page"
}
{
"user_confirm_key": "S0003469",
"return_status": "00",
"return_char": "",
"wallet": "ALIPAYHK",
"pay_apptrade": "https://vmp.eftpay.com.cn/VMP/web/payPage?userkey=12345678&outTradeNo=20190824010716&sign=5c24f30f758d86e2ba1cc1a291aa6d392f563180584f071d2d725eff52947f05",
"subject": "test测试",
"transaction_amount": "0.04",
"eft_trade_no": "08520005269190824010701722",
"sign": "26c89dd6684dd6f60569a502c920793ca82bb39f86fe0250bdb2256db8100d11",
"fee_type": "HKD",
"tid": "tid_3378",
"buyerType": "andriod",
"out_trade_no": "rrn_1686280006002",
"time": "20230609110646",
"payType": "Alipay"
}