支付DLL接口

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五个函数;;

  1. 条码支付(BarcodePay):融合支付,支持多种支付类型:微信,支付宝,qq钱包,京东钱包,口碑,翼支付,银联二维码;
  2. 退款(Refund):使用微信,支付宝官方订单或利楚唯一订单号out_trade_no 、或接入商终端流水号pay_trace和终端支付时间pay_time退款;支持部分退款.
  3. 查询(Query):使用利楚唯一订单号out_trade_no查询、或接入商终端流水号pay_trace 和终端支付时间pay_time 查询;
  4. 撤销(CancelPay):使用利楚唯一订单号out_trade_no、或接入商终端流水号pay_trace和终端支付时间pay_time撤销;
  5. 支付流程(PayService):函数封装了支付请求和查询接口,在用户输入密码过程中,自动进行轮询(5s一次,查询15次).网络超时的情况下使用pay_tracepay_time联合异常查询 ;
  6. 接口返回参数如无特殊说明,均为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支付中

原文地址:https://www.cnblogs.com/westsoft/p/14117742.html