1. DLL接口功能说明
本dll封装了支付接口,barcodepay,refund,query,和cancel的网络请求和接收,和轮询回调支付结果的完整的流程(PayService).
声明函数, 以条码支付为例,参数含义详见 刷卡(条码)支付
FUNCTION string BarcodePay(ref string merchant_no, ref string terminal_id,ref string terminal_trace,ref string terminal_time,ref string auth_no,ref string total_fee,ref string good_detail,ref string token,ref string payurl) LIBRARY "lcpay_sdk.dll" ALIAS FOR "BarcodePay;ansi"
SDK文件名lcpay_sdk.dll,共导出:支付BarcodePay,退款Refund、查询Query、撤销CancelPay、支付流程PayService五个函数;;
- 条码支付(BarcodePay):融合支付,支持多种支付类型:微信,支付宝,qq钱包,京东钱包,口碑,翼支付,银联二维码;
- 退款(Refund):使用微信,支付宝官方订单或利楚唯一订单号
out_trade_no
、或接入商终端流水号pay_trace
和终端支付时间pay_time
退款;支持部分退款. - 查询(Query):使用利楚唯一订单号
out_trade_no
查询、或接入商终端流水号pay_trace
和终端支付时间pay_time
查询; - 撤销(CancelPay):使用利楚唯一订单号
out_trade_no
、或接入商终端流水号pay_trace
和终端支付时间pay_time
撤销; - 支付流程(PayService):函数封装了支付请求和查询接口,在用户输入密码过程中,自动进行轮询(5s一次,查询15次).网络超时的情况下使用
pay_trace
和pay_time
联合异常查询 ; - 接口返回参数如无特殊说明,均为Json格式(参照3.1刷卡(条码)支付:返回参数BarcodepayOutstr);
返回参数BarcodepayOutstr示例: BarcodepayOutstr={ "channel_trade_no":"2017111721001104680200756475", "end_time":"20171117143227", "key_sign":"1f86c43df47efe37198096aa8bf76a3a", "merchant_name":"百盛龙龙妈威斯特测试", "merchant_no":"810000270000007", "out_trade_no":"300505520012117111714322700007", "pay_type":"020", "receipt_fee":"1", "result_code":"01", "return_code":"01", "return_msg":"支付成功", "terminal_id":"30050552", "terminal_time":"20171117143224", "terminal_trace":"ab5e8d77a63648ee84ed2b3b59a66d31", "total_fee":"1", "user_id":"2088302647936684" }
3.1. 刷卡(条码)支付
char *BarcodePay(char *merchant_no, char *terminal_id, char *terminal_trace, char *terminal_time, char *auth_no, char *total_fee, char *goods_detail, char *access_token, char *url)
请求参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
merchant_no | char* | 15 | Y | 商户号 |
terminal_id | char* | 8 | Y | 终端号 |
terminal_trace | char* | 32 | Y | 终端流水号,填写商户系统的订单号 |
terminal_time | char* | 14 | Y | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
auth_no | char* | 128 | Y | 授权码 |
total_fee | char* | 12 | Y | 金额,单位分 |
goods_detail | char* | 2048 | N | 订单包含的商品列表信息,Json格式。口碑时,可选填此字段 |
access_token | char* | 32 | Y | 令牌 |
url | char* | 128 | Y | 接口地址(请求域名,由技术提供) |
请求参数goods_detail
的内容说明
参数名称 | 类型 | 必填 | 说明 |
---|---|---|---|
goods_Id | char* | N | 商品编号 |
goods_name | char* | N | 商品名称 |
quantity | char* | N | 商品数量 |
price | char* | N | 商品单价,单位为分 |
返回参数
- 返回参数BarcodepayOutstr(Json格式,为以下参数)
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | char* | 2 | Y | 响应码:01 成功 ,02 失败,03 通信失败,响应码仅代表通信状态,不代表业务结果 |
return_msg | char* | 128 | Y | 返回信息提示,“支付成功”,“支付中”,“请求受限”等 |
以下字段在return_code为`01`时返回
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
result_code | char* | 2 | N | 业务结果:01 成功 02 失败 ,03 支付中 |
pay_type | char* | 3 | N | 请求类型,010 微信,020 支付宝,060 qq钱包,080 京东钱包,090 口碑,100 翼支付,110 银联二维码,140 和包支付 |
merchant_name | char* | 40 | N | 商户名称 |
merchant_no | char* | 15 | N | 商户号 |
terminal_id | char* | 8 | N | 终端号 |
terminal_trace | char* | 32 | N | 终端流水号,商户系统的订单号,扫呗系统原样返回 |
terminal_time | char* | 14 | N | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
total_fee | char* | 12 | N | 金额,单位分 |
end_time | char* | 14 | N | 支付完成时间,yyyyMMddHHmmss,全局统一时间格式 |
out_trade_no | char* | 32 | N | 利楚唯一订单号 |
channel_trade_no | char* | 32 | N | 通道订单号,微信订单号、支付宝订单号等,返回时不参与签名 |
channel_order_no | char* | 64 | N | 银行渠道订单号,微信支付时显示在支付成功页面的条码,可用作扫码查询和扫码退款时匹配 |
user_id | char* | 32 | N | 付款方用户id,“微信openid”、“支付宝账户”、“qq号”等,返回时不参与签名 |
attach | char* | 128 | N | 附加数据,原样返回 |
receipt_fee | char* | 12 | N | 口碑实收金额 |
key_sign | char* | 32 | N | 签名字符串 |
说明:以业务结果result_code来判断支付状态:01
成功 02
失败 ,03
支付中