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   作者:周兴奎