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 支付宝,060qq钱包,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支付中
浙公网安备 33010602011771号