5.2 支付方式
注意:测试环境不支持JSAPI 请使用QR_CODE代替
终端IP:必须上传,并且要求上传公网IP,能让风控定位到的公网IP才行。
如何获取终端基站和终端地理位置:
基站信息就是商户通过APP去获取手机的位置和基站信息,网上可以百度一下方法,有方法可以获取,如果实在获取不到,上送服务器的固定值,但是IP地址必须送用户端公网的值
参考方式: https://blog.csdn.net/android_ls/article/details/8672442
微信获取openid:openid是商户小程序或者H5去获取的,具体请看微信或者支付宝的文档
微信官网说明:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_4
银联获取user_auth_code 用户授权码说明:
https://open.unionpay.com/tjweb/api/interface?apiSvcId=579&id=804
APP支付:支付宝支付是先创建一个支付宝的付款码,然后把码转成一个链接,最后APP调用页面打开这个链接,就可以拉起支付宝付款了;微信支付是APP调用微信小程序,小程序调用JSAPI完成支付再跳回APP
示例:
"pay_method": {
"SCAN": {
"bar_code": "xxxx",
....
}
}
网关支付 商户环境测试数据
appId:6939832059540148225 (支付版)
网关对应信息
member_no:6996382046893510656
merchant_no:7049665494979772416
appId:6633965341557002240 (分账版)
网关对应信息
member_no:6806043394058620928
merchant_no:7194643510113705984
网关支付(小程序支付)
收银台拉取显示token异常 如下操作
pay_info 返回的counter_url 值 对应 uinapp唤起小程序
1. decode url
2. 参数中的"+"全部替换为"%2B"
1. counterUrl = decodeURIComponent(counterUrl);
2. counterUrl = counterUrl.replace(/\+/g, "%2B");
&counterUrl=${encodeURIComponent(counterUrl)}`
// source: 来源 (固定填写 WECHATMINI)
// counterUrl: 收银台链接(收银台订单创建接口返回的counter_url)
// 重要:根据counter_url的域名,判断跳转小程序的appId,此逻辑必须要有
const counterUrl = service.response.counter_url; // 获取后台返回的counter_url
let appId = 'wx889424d565967811'; // 默认为:拉卡拉聚合收银台小程序appId
if (counterUrl.includes('q.huijingcai.top') || counterUrl.includes('q.lakala.com')) {
appId = 'wxc3e4d1682da3053c' // 拉卡拉收款宝小程序appId
}
// 1、打开收银台全屏小程序示例代码
wx.navigateToMiniProgram({
appId: 'wx889424d565967811', // 拉卡拉聚合收银台小程序appId
path: `payment-cashier/pages/checkout/index?source=WECHATMINI&counterUrl=${encodeURIComponent(counterUrl)}`,
envVersion: 'trial', // release: 正式版 trial: 体验版
success(res) {
// 打开成功
}
})
// 2、打开收银台半屏小程序示例代码
wx.openEmbeddedMiniProgram({
appId: 'wx889424d565967811', // 拉卡拉聚合收银台小程序appId
path: `payment-cashier/pages/checkout/index?source=WECHATMINI&counterUrl=${encodeURIComponent(counterUrl)}`,
envVersion: 'trial', // release: 正式版 trial: 体验版
success(res) {
// 打开成功
}
})
支付方式 | key | value类型 | value字段名 | 字段说明 | 类型 |
---|---|---|---|---|---|
条码支付 | SCAN | JSONObject | bar_code | 条码 | String |
app_id | 子商户公众账号ID的sub_appid | String | |||
amount | 支付金额,单位:分 | Long | |||
subject | 订单标题(非必填) | String | |||
channel_type | 渠道(非必填) | String | |||
member_no | 1 会员标识(非必填) 2 如果上传,则使用该会员进行收单 |
Long | |||
merchant_no | 1 钱帐通商户号(非必填) 2 如果上传,则使用该商户号进行收单 3 如果上传,则会员标识必填 4 如果会员标识上传,钱帐通商户号未传,则取该会员的第一个商户进行收单 |
Long | |||
term_base_station | 必填 终端基站信息 商户终端设备的基站信息,存在必填,上送格式为:MNC 移动网络号码(2)+LAC 位置区域码(5)+CID 基站编号(8)其中LAC不满五位,或CID不满足8位的均左补空格.如:00 6361 ·58130 为:00+LAC:6361+CID:58130 |
String(128) | |||
term_loc | 必填 终端地理位置 商户终端的地理位置,存在必填 格式:纬度/经度,+表示北纬、东经,-表示南纬、 西经,精度最长支持小数点后9位 举例:+37.123456789/-121.123456789 |
String(100 ) |
|||
hb_fq_num | 支付宝花呗分期期数 如果需要花呗,该参数必填 3:3期;6:6期;12:12期 |
String | |||
hb_fq_seller_percent | 支付宝花呗商家手续费承担比例 如果需要花呗,该参数必填 100:代表商家贴息; 0:代表用户承担手续费 |
String | |||
公众号/服务窗/小程序支付 | JSAPI | JSONObject | amount | 支付金额,单位:分 | Long |
mch_appid | 必填 微信\支付宝\云闪付的appid |
String | |||
openid | 必填 付款人ID, 微信:openid, 支付宝:buyer_id, 云闪付:user_id |
String | |||
mode | 支付宝:alipay 微信:wxpay 银联:unionpay |
String | |||
subject | 订单标题(非必填) | String | |||
channel_type | 渠道(非必填) | String | |||
front_url | 银联前台通知地址 | String | |||
front_fail_url | 银联失败交易前台通知地址 | String | |||
goods_detail | 商品列表信息详见 JSONArray(256) | JSONArray(256) | |||
member_no | 1 会员标识(非必填) 2 如果上传,则使用该会员进行收单 |
Long | |||
merchant_no | 1 钱帐通商户号(非必填) 2 如果上传,则使用该商户号进行收单 3 如果上传,则会员标识必填 4 如果会员标识上传,钱帐通商户号未传,则取该会员的第一个商户进行收单 |
Long | |||
term_base_station | 必填 终端基站信息 商户终端设备的基站信息,存在必填,上送格式为:MNC 移动网络号码(2)+LAC 位置区域码(5)+CID 基站编号(8)其中LAC不满五位,或CID不满足8位的均左补空格.如:00 6361 ·58130 为:00+LAC:6361+CID:58130 |
String(128) | |||
term_loc | 必填 终端地理位置 商户终端的地理位置,存在必填 格式:纬度/经度,+表示北纬、东经,-表示南纬、 西经,精度最长支持小数点后9位 举例:+37.123456789/-121.123456789 |
String(100 ) |
|||
hb_fq_num | 支付宝花呗分期期数 如果需要花呗,该参数必填 3:3期;6:6期;12:12期 |
String | |||
hb_fq_seller_percent | 支付宝花呗商家手续费承担比例 如果需要花呗,该参数必填 100:代表商家贴息; 0:代表用户承担手续费 |
String | |||
timeout_express | 交易有效时间(单位分) 订单的有效时间,以分钟为单位 建议不超过15分钟。不传值则默认5分钟 | String(2) | |||
创建支付宝付款码 | QR_CODE | JSONObject | amount | 支付金额,单位:分 | Long |
subject | 订单标题(非必填) | String | |||
channel_type | 渠道(非必填) | String | |||
mode | 支付宝:alipay | String | |||
member_no | 1 会员标识(非必填) 2 如果上传,则使用该会员进行收单 |
Long | |||
merchant_no | 1 钱帐通商户号(非必填) 2 如果上传,则使用该商户号进行收单 3 如果上传,则会员标识必填 4 如果会员标识上传,钱帐通商户号未传,则取该会员的第一个商户进行收单 |
Long | |||
term_base_station | 必填 终端基站信息 商户终端设备的基站信息,存在必填,上送格式为:MNC 移动网络号码(2)+LAC 位置区域码(5)+CID 基站编号(8)其中LAC不满五位,或CID不满足8位的均左补空格.如:00 6361 ·58130 为:00+LAC:6361+CID:58130 |
String(128) | |||
term_loc | 必填 终端地理位置 商户终端的地理位置,存在必填 格式:纬度/经度,+表示北纬、东经,-表示南纬、 西经,精度最长支持小数点后9位 举例:+37.123456789/-121.123456789 |
String(100 ) |
|||
valid_time | 付款码有效时间 mode为lakala时有效 单位秒,可选上送,不上送默认60秒,区间为60秒-7200秒 若上送时间时间小于60秒则设为60秒,大于7200秒设为7200秒 |
Long | |||
POS支付 | POS | JSONObject | amount | 支付金额,单位:分 | Long |
member_no | 1 会员标识(非必填) 2 如果上传,则使用该会员进行收单 |
Long | |||
merchant_no | 1 钱帐通商户号(非必填)。 2 如果上传,则使用该商户号进行收单。 3 如果上传,则会员标识必填。 4 如果会员标识上传,钱帐通商户号未传,则取该会员的第一个商户进行收单 |
Long | |||
网关收银台支付 | GATEWAY | JSONObject | amount | 必填 支付金额,单位:分 |
Long |
merchant_no | 必填 1 钱帐通商户号 |
Long | |||
member_no | 必填 1 会员标识 |
Long | |||
product_name | 商品名称 | String(100) | |||
support_refund | 是否支持退款(非必填)0:不支持 1:支持 默认1 | String(1) | |||
support_cancel | 是否支持撤销(非必填)0:不支持 1:支持 默认1 | String(1) | |||
support_repeat_pay | 是否支持多次支付(非必填)0:不支持 1:支持 默认1 | String(1) | |||
expire_time | 过期时间(非必填) 格式yyyyMMddHHmmss,最大支持下单时间+2天 |
String(14) | |||
counter_param | 收银台展示参数 指定支付方式 选填 {"pay_mode":"ALIPAY"} ALIPAY:支付宝 WECHAT:微信 UNION:银联云闪付 CARD:POS刷卡交易 LKLAT:线上转帐 QUICK_PAY:快捷支付 EBANK:网银支付 UNION_CC:银联支付 |
JSON(100) | |||
identity_info | 实名信息(非必填) {"identityNo":"32000000000000000X","name":"张三","identityType":"01"} 证件类型 01:身份证 02:军官证 03:护照 04:港澳证(港澳居民来往内地通行证/回乡证) 05:台胞证 06:警官证 07:士兵证 99:其它证件 目前仅支持证件类型为01-身份证 |
JSON | |||
inte_routing | 智能路由下单标识 1-是 0-否(默认不送为0)备注:需要在收银台管控台配置聚合收银台小程序白名单 | String | |||
转账支付 | TRANSFER_PAY | JSONObject | amount | 必填 付款金额 特别注意!转账支付订单时效为72小时,超过72小时订单失效 |
Long |
无卡分期支付 | BTS_PAY | JSONObject | amount | 支付金额,单位: 分 必填 | Long |
member_no | 会员号 必填 | Long | |||
merchant_no | 商户号 必填 | Long | |||
微信APP支付 | APP | JSONObject | amount | 支付金额,单位: 分 必填 | Long |
member_no | 会员号 必填 | Long | |||
merchant_no | 商户号 必填 | Long | |||
openid | 用户标识 可选 | String | |||
mch_appid | 子商户公众账号ID 必填 | String | |||
subject | 订单标题 可选 | String | |||
term_base_station | 终端基站信息 可选 | String | |||
term_loc | 终端地理位置 可选 | String | |||
term_ip | 终端IP地址 可选 | String | |||
云微小程序 | UNION_MINI_PAY | JSONObject | amount | 支付金额,单位: 分 必填 | Long |
member_no | 会员号 必填 | Long | |||
merchant_no | 商户号 必填 | Long | |||
merWxMpAppId | 商户小程序ID 必填 | String | |||
invokeScene | 交易发起场景 必填 03:小程序 04:公众号 | String | |||
subject | 订单标题 可选 | String | |||
detail | 订单详情 可选 | String | |||
timeExpired | 交易过期时间 可选 yyyyMMddHHmmss | String | |||
rskInfo | 风险监控信息 必填 | JSONObject |
风险监控信息rskInf 描述
字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
---|---|---|---|---|
device_mode | 设备型号 | C | String(256) | 设备型号名称 |
device_language | 设备语音 | C | String(3) | 设备语言,代码遵从 ISO639-3 标准 |
source_ip | IP地址 | M | String(64) | 客户端IP地址 |
mac | mac地址 | C | String(64) | 格式有以下两种:00-24-7E-0A-6C-2E、00247e0a6c2e |
dev_id | 设备号 | C | String(129) | 建议 PC 设备采集硬盘序列号、安卓系统设备采集 IMEI、iOS 设备采集IDFV |
extensive_deviceLocation | GPS位置 | C | String(32) | 经纬度,格式为纬度/经度,+表示北纬、东经,-表示南纬、西经。举例:+37.12/-121.23 或者+37/-121 |
device_number | SIM 卡号码 | C | String(32) | 存储 11 位手机号,若存在 2 个通讯设备号码,则用逗号分隔 |
device_sim_number | SIM 卡数量 | C | String(8) | 设备 sim 卡数量 |
account_id_hash | 账户 ID | C | String(64) | 商户端用户支付时,如处于用户登录状态,提供商户系统中的用户 ID |
risk_score | 风险评分 | C | String(8) | 风险等级评分 |
risk_reason_code | 原因码 | C | String(100) | 风险评分的主要原因码 |
mchnt_usr_rgstr_tm | 收单端用户注册日期 | C | String(14) | 收单端用户注册时间,14 位时间字符 yyyymmddHHMMSS |
mchnt_usr_rgstr_email | 收单端注册账户邮箱地址 | C | String(64) | 收单端用户注册邮箱 |
rcv_province | 收货省 | C | String(4) | 收货地-省,注意需转换为银联清算地区代码 |
rcv_city | 收货市 | C | String(4) | 收货地-市,注意需转换为银联清算地区代码 |
goods_class | 商品类型 | C | String(2) | 商品类别:虚拟(1),非虚拟(2),不确定(0) |
文档更新时间: 2024-10-10 19:46 作者:周兴奎