下單
創建預下單交易,通過返回的信息進行支付。
目前只支援微信和支付寶。
相關信息
{domain}/Servlet/JSAPIService.do
https:/VMP/Servlet/JSAPIService.do
名稱 | 類型 | 描述 | 要求 |
---|---|---|---|
service | String | 接口名稱service.alipay.jsapi.PreOrder service.wechat.jsapi.PreOrder | |
user_confirm_key | String(12) | 用戶Key,由 eftPay 提供 | |
paytype | String(6) | 支付類型Alipay ,WeChat | |
payment_type | String(20) | 錢包類型ALIPAYCN ,ALIPAYHK WECHATCN ,WECHATHK | |
scene_type | String | 支付場景,PUBLIC 和 H5 只適用於 WeChatAPPLETS ,PUBLIC ,H5 | |
transaction_amount | String(8) | 金額。要求數字,小數位最大長度為2 | |
out_trade_no | String(28) | 商戶訂單號 | |
subject | String(256) | 交易信息 | |
tid | String(20) | 商戶終端號 | |
fee_type | String(5) | 貨幣類型,HKD ,CNY 默認: HKD | |
notify_url | String(240) | 通知地址,投產環境只支援 80 和 443 端口,其他端口需要申請 | |
active_time | String | 有效時間,單位秒。默認30分鐘,即1800 | |
time | String | 時間,格式:yyyyMMddHHmmss | |
sign | String(64) | 簽名 |
名稱 | 類型 | 描述 | 要求 |
---|---|---|---|
openid | String | 公眾號獲取的openid,適用於 PUBLIC 場景openid 和 sub_openid 二選一 | |
sub_openid | String | 小程序獲取的openid,適用於 APPLETS 場景sub_openid 和 openid 二選一 | |
return_url | String | 支付完成後的返回地址。適用於 H5 場景,詳見 微信H5場景注意事項 | |
scene_info | String | 場景信息,適用於 H5 場景 | |
receipt | String | 電子發票入口開放標識(只適用於WeChat)。傳入 Y 時,支付成功消息和支付詳情頁將出現開票入口。需要在微信支付商戶平台或微信公眾平台開通電子發票功能,傳此字段才可生效 | |
goods_tag | String | 訂單優惠標記景 | |
detail | Object | 商品詳細描述,對於使用單品優惠的商戶,該字段必須按照規範上傳。對於普通的商戶,使用Json格式。 對於使用單品優惠的商戶,該字段規範詳見 單品優惠參數說明 |
關於 return_url
微信 H5 支付場景由於設置 return_url
後,回跳指定頁面的操作可能發生在:
- 微信支付中間頁調起微信收銀台後超過 5 秒
- 用戶點擊
“取消支付”
或支付完成後點“完成”
按鈕
因此無法保證頁面回跳時,支付流程已結束,所以商戶設置的return_url
地址不能自動執行查單操作,應讓用戶去點擊按鈕觸發查單操作。
回跳頁面展示效果可參考下圖。
更多問題
請參考 微信H5開發指引常見問題
名稱 | 類型 | 描述 | 要求 |
---|---|---|---|
return_status | String(3) | 返回狀態碼,代表。注:此參數不可作為交易狀態是否成功的判斷 其他狀態碼見 附錄3 | |
return_char | String(100) | 返回說明,可能會變化,不能作條件判斷 | |
time | String | 時間,格式:yyyyMMddHHmmss return_status >= 00 時返回 | |
sign | String(64) | 簽名return_status >= 00 時返回 |
名稱 | 類型 | 描述 | 要求 |
---|---|---|---|
user_confirm_key | String | 用戶Key,由 eftPay 提供 | |
paytype | String(6) | 支付類型 | |
payPackage | String | 用於 jsapi 或 H5 調起支付,不可修改裡面內容 | |
out_trade_no | String(28) | 商戶訂單號 | |
payment_type | String(20) | 錢包類型 | |
transaction_amount | String(8) | 交易金額 | |
scene_type | String | 支付場景 | |
subject | String(256) | 交易信息 | |
tid | String(20) | 終端號,當消費請求有送的時候返回 | |
fee_type | String(5) | 貨幣 | |
eftpay_trade_no | String(28) | 依付得訂單號,配置返回 | |
openid | String | 公眾號獲取的openidWeChat PUBLIC 場景返回 | |
sub_openid | String | 小程序獲取的openidWeChat APPLETS 場景返回 |
{
"service": "service.wechat.jsapi.PreOrder",
"user_confirm_key": "S0003469",
"paytype": "WeChat",
"payment_type": "WECHATCN",
"scene_type": "H5",
"transaction_amount": "0.07",
"out_trade_no": "rrn_1686280006040",
"subject": "test测试",
"time": "20230609110646",
"sign": "2426d6a5eb2371052aaa7b2ecead2f1c23cb6b9114960a5eee89a6a8aba2a475",
"tid": "tid_3378",
"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": "",
"payPackage": "https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx161448344276518c6138605600a28axxxx&package=3645625860&redirect_url=https%3A%2F%2Fwww.merchant.com%2Freturn%2Fpage",
"subject": "test测试",
"transaction_amount": "0.89",
"sign": "7725226a14e3aefc738246a03ed6b3a357ab17f63b9ae22377e89ecad0a0c5e0",
"fee_type": "HKD",
"scene_type": "H5",
"tid": "tid_3378",
"payment_type": "WECHATCN",
"out_trade_no": "rrn_1686280006042",
"time": "20230609110646",
"paytype": "WeChat"
}