附录
订单状态详情
- 下面为支付状态 state 和其对应的订单状态详情。
state |
详情 |
00 |
支付成功 |
01 |
支付失败 |
03 |
部分退款 |
04 |
全部退款 |
06 |
已撤销 |
09 |
待支付 |
98 |
已关闭 |
支付产品属性值
- 下面为支付产品 product 属性值和其对应的支付产品名称。
product 属性值 |
支付产品名称 |
WECHAT_OFFICE_ACCOUNT |
微信公众号支付 |
WECHAT_DYNAMIC_SCAN_CODE |
微信扫码支付 |
WECHAT_SWIPING_CARD |
微信刷卡支付 |
WECHAT_LITE |
微信小程序支付 |
WECHAT_PARKING |
微信无感支付 |
ALIPAY_DYNAMIC_SCAN_CODE |
支付宝扫码支付 |
ALIPAY_BAR_CODE |
支付宝条码支付 |
ALIPAY_FIXED_QRCODE |
支付宝固定二维码支付 |
ALIPAY_H5 |
支付宝 H5 支付 |
ALIPAY_PARKING |
支付宝无感支付 |
ALIPAY_APP |
支付宝APP支付 |
FIXED_CODE |
聚合码支付 |
AGGREGATION_OFFICE_ACCOUNT |
聚合公众号支付 |
PASS_FREE |
小额免密支付 |
BAR_CODE |
条码支付 |
CMPAY_H5 |
和包H5支付 |
UNIONPAY_DYNAMIC_SCAN_CODE |
银联动态扫码支付 |
UNIONPAY_SWIPING_CARD |
银联条码支付 |
WITHHOLD |
代扣 |
CASHIERPAY |
收银台支付 |
B2B_PAY |
B2B支付 |
CARD_PAY |
卡包支付 |
WECHAT_LITE_CASHIER |
小程序收银台 |
APP_TO_WECHAT_LITE |
APP跳微信小程序支付 |
支付渠道属性值
- 下面为支付渠道 channel 属性值和其对应的支付渠道名称。
channel 属性值 |
支付渠道名称 |
WECHAT |
微信支付 |
SPDB |
浦发支付 |
HKB |
汉口支付 |
SWIFTPASS |
威富通支付 |
YS |
银盛支付 |
ALIPAY |
支付宝支付 |
CCB |
建行支付 |
SDP |
盛付通支付 |
ICBC |
工商银行支付 |
SXF |
随行付支付 |
CUP |
银联支付 |
CMPAY |
和包支付 |
HKBV2 |
汉口2.0 |
JLPAY |
嘉联支付 |
CUPPARK |
银联金融 |
TF |
传化支付 |
IPSPAY |
环迅支付 |
CMB |
招商银行 |
CPCN |
中金支付 |
UPCARD |
礼品卡支付 |
特定渠道发起交易时需要的额外参数,以及部分渠道支付成功返回的额外参数。
WECHAT_APP
字段 |
是否必选 |
字段类型 |
字段说明 |
sub_app_id |
是 |
String |
特约商户在微信开放平台上申请的 APPID |
WECHAT_OFFICE_ACCOUNT WECHAT_LITE
字段 |
是否必选 |
字段类型 |
字段说明 |
sub_app_id |
是 |
String |
微信分配的子商户公众账号 ID(子商户用自己的公众号则必填) |
sub_open_id |
是 |
String |
用户在子商户 appid 下的唯一标识(sub_app_id 不为空,则必填) |
WECHAT_DYNAMIC_SCAN_CODE
字段 |
是否必选 |
字段类型 |
字段说明 |
sub_app_id |
否 |
String |
微信分配的子商户公众账号 ID (子商户用自己的公众号,则必填) |
sub_open_id |
否 |
String |
用户在子商户 appid 下的唯一标识 (sub_app_id 不为空,则必填) |
product_id |
是 |
String |
此 id 为二维码中包含的商品 ID,商户自行定义 |
WECHAT_SWIPING_CARD
字段 |
是否必选 |
字段类型 |
字段说明 |
sub_app_id |
否 |
String |
微信分配的子商户公众账号 ID (子商户用自己的公众号,则必填) |
auth_code |
是 |
String |
付款码 |
WECHAT_H5
字段 |
是否必选 |
字段类型 |
字段说明 |
sub_app_id |
否 |
String |
微信分配的子商户公众账号 ID(子商户用自己的公众号则必填) |
sub_open_id |
否 |
String |
用户在子商户 appid 下的唯一标识(sub_app_id 不为空,则必填) |
scene_info |
是 |
String |
网站应用{"h5_info": //h5 支付固定传"h5_info" {"type": "", //场景类型"wap_url": "",//WAP 网站 URL 地址"wap_name": "" //WAP 网站名}} |
device_info |
是 |
String |
如果是用于苹果 app 应用里值为 iOS_SDK;如果是用于安卓 app 应用里值为 AND_SDK;如果是用于手机网站,值为 iOS_WAP 或 AND_WAP 均可,微信 H5 支付必填 |
mch_app_name |
是 |
String |
如果是用于苹果或安卓 app 应用中,传分别对应在 AppStore 和安卓分发市场中的应用名(如:王者荣耀)如果是用于手机网站,传对应的网站名(如:京东官网) |
mch_app_id |
是 |
String |
如果是用于苹果或安卓 app 应用中,苹果传 IOS 应用唯一标识(如:com.tencent.wzryIOS)安卓传包名(如:com.tencent.tmgp.sgame)如果是用于手机网站,传网站首页 URL 地址,必须保证公网能正常访问(如:https://m.jd.com) |
WECHAT_PARKING
字段 |
是否必选 |
字段类型 |
字段说明 |
sub_app_id |
是 |
String |
商户在微信配置的 app_id |
scene_info |
是 |
String |
无感支付必填(JSON 字符串),例如:{\"start_time\":\"\",\"end_time\":\"\", \"charging_time\":\"\",\"plate_number\":\"\",\"car_type\":\"\",\"parking_name\":\"\", \"free_time\":\"\",\"contract_id\":\"\"}"} |
CASHIERPAY
字段 |
是否必选 |
字段类型 |
字段说明 |
user_id |
是 |
String |
用户id,用户唯一标识(最大长度 20) |
scene_info 解释
字段 |
是否必选 |
字段类型 |
字段说明 |
start_time |
是 |
String |
进入停车时间 |
end_time |
是 |
String |
出停车场时间 |
charging_time |
是 |
String |
计费的时间长,单位为秒 |
plate_number |
是 |
String |
车牌号,仅包括省份+车牌,不包括特殊字符 |
car_type |
是 |
String |
停车车辆的类型,可选值:大型车、小型车 |
parking_name |
是 |
String |
所在停车场的名称 |
free_time |
是 |
String |
免费时长 |
contract_id |
否 |
String |
签约合同编号,当 channel 为 BCS 时必传 |
ALIPAY_BAR_CODE
字段 |
是否必选 |
字段类型 |
字段说明 |
auth_code |
是 |
String |
付款码 |
ALIPAY_FIXED_QRCODE
字段 |
是否必选 |
字段类型 |
字段说明 |
buyer_id |
是 |
String |
付款人 ID |
BAR_CODE
字段 |
是否必选 |
字段类型 |
字段说明 |
qr_code |
是 |
String |
付款码 |
SIGN_WITHHOLD
字段 |
是否必选 |
字段类型 |
字段说明 |
agreement_no |
否 |
String |
预签约返回的签约号,与外部签约号不能同时为空 |
out_agreement_no |
否 |
String |
预签约上传的外部签约号,与签约号不能同时为空 |
ALIPAY_PARKING
scene_info 解释
字段 |
是否必选 |
字段类型 |
字段说明 |
start_time |
是 |
String |
进入停车时间 yyyyMMddHHmmss |
charging_time |
是 |
String |
计费的时间长,单位为秒 |
plate_number |
是 |
String |
车牌号,仅包括省份+车牌,不包括特殊字符 |
PASS_FREE
字段 |
是否必选 |
字段类型 |
字段说明 |
out_agreement_no |
否 |
String |
外部签约号,与签约号不能同时为空 |
agreement_no |
否 |
String |
签约号,与外部签约号不能同时为空 |
PASS_FREE ICBC
字段 |
是否必选 |
字段类型 |
字段说明 |
msg_id |
是 |
String |
请求消息标识,请保证唯一 |
notify_url |
是 |
String |
签约成功服务端回调地址 |
return_url |
是 |
String |
签约成功前端回调地址 |
WITHHOLD
字段 |
是否必选 |
字段类型 |
字段说明 |
protocal_no |
否 |
String |
协议编号(与以下字段二选一) |
user_type |
否 |
String |
用户类型(1-对私)(若协议编号为空,则必填) |
id_type |
否 |
String |
证件类型(若协议编号为空,则必填) |
id_no |
否 |
String |
证件号码(若协议编号为空,则必填) |
bank_acct_type |
否 |
String |
银行账户类型(0:对公帐号;1:卡;2:活期一本通;8:活期存折;9:内部帐/表外帐;)(若协议编号为空,则必填) |
bank_acct_no |
否 |
String |
银行账户编号(1-对私)(若协议编号为空,则必填) |
CARD_PAY
字段 |
是否必选 |
字段类型 |
字段说明 |
login_id |
是 |
String |
登录id |
login_id_type |
是 |
String |
登录id类型 |
verify_pay_password |
是 |
String |
是否校验密码 true /false |
pay_password |
否 |
String |
支付密码 |
is_part_consume |
是 |
String |
是否支持部分消费 Y/N。部分消费参数为Y时需要谨慎,当卡余额不足时,接口也会返回消费成功。仅限某些特定场合使用。 |
source |
否 |
String |
操作渠道 微信:WECHATWEIXIN 微信小程序:WECHATAPPLET 手机App:APP |
channel |
否 |
String |
会员渠道 |
合单支付参数说明
如果使用了合单支付,订单查询接口只能通过子订单号查询订单状态,退款时也只能通过子订单号分开退款
字段 |
是否必选 |
字段类型 |
字段说明 |
sub_merchant_code |
是 |
String |
合单支付商户号 |
sub_out_order_no |
是 |
String |
子订单号 |
amount |
是 |
String |
子订单金额(单位分) |
remark |
否 |
String |
备注 |
goods_desc |
否 |
String |
商品描述 |
小程序跳转易生小程序支付跳转说明
需要先调预下单接口获取下单地址
// 需要对下单地址decode,会拿到一下这样的地址“https://cashier.eycard.cn:8664?params={"payExpireTime":1749539113,"payToken":"lJeiEdrJiqGEzO1wnJKk"}”
const urlString = decodeURIComponent(url)
const paramsStartIndex = urlString.indexOf('params=');
const paramsString = urlString.slice(paramsStartIndex + 7);
const params = JSON.parse(paramsString);
// 拼装跳转路径
const path = `pages/index/index?payExpireTime=${params.payExpireTime}&payToken=${params.payToken}&orgTrace=${res.tradeId}`
wx.openEmbeddedMiniProgram({
appId: 'wxed5226e9688ec728',
path,
success() {},
fail() {}
})
安卓APP跳转易生小程序支付跳转说明
需要先调预下单接口获取下单地址
String appId = "wxf3fc08b788503645"; // 填移动应用(App)的 AppId,非小程序的 AppID
IWXAPI api = WXAPIFactory.createWXAPI(getActivity(), appId);
WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
req.userName = "gh_eb36dfa81e82"; // 填小程序原始id
req.path="pages/index/index?payExpireTime=1749540943&payToken=emlRTMeqJpsL80Toc6FD&orgTrace=2025061015254334956045940025";
// MINIPROGRAM_TYPE_PREVIEW:体验版.
// MINIPROGRAM_TYPE_TEST:开发版
// MINIPTOGRAM_TYPE_RELEASE:正式版
req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;
api.sendReq(req);