下单
创建预下单交易,通过返回的信息进行支付。
相关信息
{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"
}